Fixed Bug : email sending test #36741
@defrance
-->
Issue fixed
The problem was caused by initializing $result = 0 in core/actions_sendmails.inc.php.
When sending a test email from Setup → Emails, there is no $object to fetch. As a result, $result remained 0 and the code incorrectly triggered ErrorFailedToReadObject.
The fix consists in explicitly setting $result = 1 when no $object is provided (test email / generic email context). This correctly treats the absence of an object as a valid case and restores the ability to send test emails, while keeping $result properly initialized.
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
Fixed Bug : email sending test #36741
@defrance
-->
Issue fixed
The problem was caused by initializing $result = 0 in core/actions_sendmails.inc.php.
When sending a test email from Setup → Emails, there is no $object to fetch. As a result, $result remained 0 and the code incorrectly triggered ErrorFailedToReadObject.
The fix consists in explicitly setting $result = 1 when no $object is provided (test email / generic email context). This correctly treats the absence of an object as a valid case and restores the ability to send test emails, while keeping $result properly initialized.
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Fix extraparams property typing
* Fix argument typing
* Fix 'status' argument type in calls to dolGetButtonTitle
* Fix argument2 for price to 1 (was 2)
* Fix deliveryreceipt argument
* Fix PHPDoc dol_sort_array
* Fix range for int argument
* Fix arg type for str_pad and add some PHPDoc
* Fix natsort value for dol_sort_array
* Fix arguments on calls to dol_sort_array
* Reduce phpstan exceptions
* Qual: Add type hints for Stripe objects
# Qual: Add type hints for Stripe objects
Suggest the more specific implementation of the StripObject.
* Typing, initialisation
* Qual: Fix undeclared variables
* Update phan baseline
* Update baseline
* Qual: Add type hints for Stripe objects
# Qual: Add type hints for Stripe objects
Suggest the more specific implementation of the StripObject.
* Add PHPDoc for host class properties
* Ignore false positive (phan) for deprecated property
* Improve typing
* Update baseline
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Update phan baseline (remove PhanTypeInvalidLeftOperandOfNumericOp)
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Fix: Change argument '' to null as by getAvailableDiscounts signature
* Qual: Cast '' to float for Phan notice
* Fix: Convert $number with price2num before using this parameter
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Add cast to ensure fmod is presented with floats
* Verifcation of variables
Modification of the variable setting before its use.
* To check if the property exists
* Modification as per @frederic34 suggestion
* Update propal.class.php
* Application of coding rules
Modification of the called function.
* Verification of variables
* Verification of variable
* Typo error
* Update actions_sendmails.inc.php
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>