VirtueMart Forum

VirtueMart 2 + 3 + 4 => General Questions => Topic started by: DadoO on September 20, 2022, 14:40:40 PM

Title: Coupons doesn't work with php 8.0.23
Post by: DadoO on September 20, 2022, 14:40:40 PM
Hello All

At this time my website is in the latest joomla 3.10.11 and latest virtuermart
Working fine with php 7.4.30

Now I'm testing on a Local web server and with the server in live, AND this error occured ONLY when I'm creating a new coupons



Une erreur s'est produite

    0 implode(): Argument #1 ($pieces) must be of type array, string given

Retour au panneau de contrôle




All other module working fine, but ONLY Coupons do this problem
And naturally the coupons isn't created ...

The exact configuration on my webserver and local (same)

PHP exécuté sur    Windows NT PC-SITES 10.0 build 19044 (Windows 10) AMD64
Type de la base de données    mysql
Version de la base de données    5.7.31
Interclassement de la base de données    utf8_general_ci
Collation de la connexion à la base de données    utf8mb4_general_ci
Version de PHP    8.0.23
Serveur web    Apache/2.4.46 (Win64) PHP/8.0.23 mod_fcgid/2.3.10-dev
Serveur web pour interface PHP    apache2handler
Version de Joomla    Joomla! 3.10.11 Stable [ Daraja ] 14-August-2022 14:18 GMT
Version de la plateforme Joomla!    Joomla Platform 13.1.0 Stable [ Curiosity ] 24-Apr-2013 00:00 GMT
Navigateur    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:104.0) Gecko/20100101 Firefox/104.0

Virtuemart 4.0.6


Have you got a solution for this problem ? For I haven't seen any discussion about too
Title: Re: Coupons doesn't work with php 8.0.23
Post by: GJC Web Design on September 20, 2022, 15:04:28 PM
please provide a trace for the error

https://forum.virtuemart.net/index.php?topic=117042.0

Title: Re: Coupons doesn't work with php 8.0.23
Post by: DadoO on September 24, 2022, 12:33:47 PM
I have extract the php error logs




Premier test de création d'un nouveau coupon


[24-Sep-2022 09:58:45 UTC] PHP Warning:  Undefined array key "virtuemart_shopper_ids" in C:\localwebsite\administrator\components\com_virtuemart\models\coupon.php on line 63
[24-Sep-2022 09:58:45 UTC] PHP Stack trace:
[24-Sep-2022 09:58:45 UTC] PHP   1. {main}() C:\localwebsite\administrator\index.php:0
[24-Sep-2022 09:58:45 UTC] PHP   2. Joomla\CMS\Application\CMSApplication->execute() C:\localwebsite\administrator\index.php:51
[24-Sep-2022 09:58:45 UTC] PHP   3. Joomla\CMS\Application\AdministratorApplication->doExecute() C:\localwebsite\libraries\src\Application\CMSApplication.php:225
[24-Sep-2022 09:58:45 UTC] PHP   4. Joomla\CMS\Application\AdministratorApplication->dispatch($component = *uninitialized*) C:\localwebsite\libraries\src\Application\AdministratorApplication.php:159
[24-Sep-2022 09:58:45 UTC] PHP   5. Joomla\CMS\Component\ComponentHelper::renderComponent($option = 'com_virtuemart', $params = *uninitialized*) C:\localwebsite\libraries\src\Application\AdministratorApplication.php:101
[24-Sep-2022 09:58:45 UTC] PHP   6. Joomla\CMS\Component\ComponentHelper::executeComponent($path = 'C:\\wamp64\\www\\rp2021\\administrator/components/com_virtuemart/virtuemart.php') C:\localwebsite\libraries\src\Component\ComponentHelper.php:377
[24-Sep-2022 09:58:45 UTC] PHP   7. require_once() C:\localwebsite\libraries\src\Component\ComponentHelper.php:402
[24-Sep-2022 09:58:45 UTC] PHP   8. Joomla\CMS\MVC\Controller\BaseController->execute($task = 'save') C:\localwebsite\administrator\components\com_virtuemart\virtuemart.php:75
[24-Sep-2022 09:58:45 UTC] PHP   9. VmController->save($data = *uninitialized*) C:\localwebsite\libraries\src\MVC\Controller\BaseController.php:702
[24-Sep-2022 09:58:45 UTC] PHP  10. VirtueMartModelCoupon->store($data = ['coupon_code' => 'RpTestCoupon', 'published' => '1', 'coupon_value' => '10', 'percent_or_total' => 'percent', 'coupon_type' => 'gift', 'coupon_value_valid' => '12', 'coupon_value_max' => '0', 'virtuemart_coupon_max_attempt_per_user' => '0', 'coupon_start_date' => '2022-09-24', 'coupon_expiry_date' => '2023-03-24 09:58:21', 'virtuemart_coupon_id' => '0', 'filter_order' => 'virtuemart_coupon_id', 'filter_order_Dir' => 'DESC', 'task' => 'save', 'option' => 'com_virtuemart', 'boxchecked' => '0', 'controller' => 'coupon', 'view' => 'coupon', '0585088c318fe2991a273d312eb92ffb' => '1']) C:\localwebsite\administrator\components\com_virtuemart\helpers\vmcontroller.php:172


Second test en modifiant un coupon et en enregistrant ce dernier

[24-Sep-2022 10:03:26 UTC] PHP Warning:  Undefined array key "virtuemart_shopper_ids" in C:\localwebsite\administrator\components\com_virtuemart\models\coupon.php on line 63
[24-Sep-2022 10:03:26 UTC] PHP Stack trace:
[24-Sep-2022 10:03:26 UTC] PHP   1. {main}() C:\localwebsite\administrator\index.php:0
[24-Sep-2022 10:03:26 UTC] PHP   2. Joomla\CMS\Application\AdministratorApplication->execute() C:\localwebsite\administrator\index.php:51
[24-Sep-2022 10:03:26 UTC] PHP   3. Joomla\CMS\Application\AdministratorApplication->doExecute() C:\localwebsite\libraries\src\Application\CMSApplication.php:225
[24-Sep-2022 10:03:26 UTC] PHP   4. Joomla\CMS\Application\AdministratorApplication->dispatch($component = *uninitialized*) C:\localwebsite\libraries\src\Application\AdministratorApplication.php:159
[24-Sep-2022 10:03:26 UTC] PHP   5. Joomla\CMS\Component\ComponentHelper::renderComponent($option = 'com_virtuemart', $params = *uninitialized*) C:\localwebsite\libraries\src\Application\AdministratorApplication.php:101
[24-Sep-2022 10:03:26 UTC] PHP   6. Joomla\CMS\Component\ComponentHelper::executeComponent($path = 'C:\\wamp64\\www\\rp2021\\administrator/components/com_virtuemart/virtuemart.php') C:\localwebsite\libraries\src\Component\ComponentHelper.php:377
[24-Sep-2022 10:03:26 UTC] PHP   7. require_once() C:\localwebsite\libraries\src\Component\ComponentHelper.php:402
[24-Sep-2022 10:03:26 UTC] PHP   8. VirtuemartControllerCoupon->execute($task = 'save') C:\localwebsite\administrator\components\com_virtuemart\virtuemart.php:75
[24-Sep-2022 10:03:26 UTC] PHP   9. VirtuemartControllerCoupon->save($data = *uninitialized*) C:\localwebsite\libraries\src\MVC\Controller\BaseController.php:702
[24-Sep-2022 10:03:26 UTC] PHP  10. VirtueMartModelCoupon->store($data = ['coupon_code' => 'RPCH129979', 'published' => '1', 'coupon_value' => '15', 'percent_or_total' => 'percent', 'coupon_type' => 'gift', 'coupon_value_valid' => '12.00000', 'coupon_value_max' => '0.00000', 'virtuemart_coupon_max_attempt_per_user' => '0', 'coupon_start_date' => '2022-05-20 00:00:00', 'coupon_expiry_date' => '2022-11-20 12:33:24', 'virtuemart_coupon_id' => '3599', 'filter_order' => 'virtuemart_coupon_id', 'filter_order_Dir' => 'DESC', 'task' => 'save', 'option' => 'com_virtuemart', 'boxchecked' => '0', 'controller' => 'coupon', 'view' => 'coupon', '0585088c318fe2991a273d312eb92ffb' => '1']) C:\localwebsite\administrator\components\com_virtuemart\helpers\vmcontroller.php:172


Erreur Identique




Firstly I have created a new coupon, second test I have tried to change a value in an old coupon

Same Error

VM with php 8.09 --- 8.0.23 couldn't acces to the ID of the Shopper
But  for SURE, the Shopper exist, and all works fine with php 7.4.30

An idea

Thanks by advance
Title: Re: Coupons doesn't work with php 8.0.23
Post by: DadoO on September 28, 2022, 23:46:12 PM
No idea ?
Anybody have the same problem ?

php 7.4.30 is EOL in a few days ...
Title: Re: Coupons doesn't work with php 8.0.23
Post by: Milbo on October 02, 2022, 23:24:11 PM
Ah come on. It is not EOL, as long people use it. Just think about it a bit,... deeper. It is a big philosophical question.

But back to your problem. Do you use the new admin template? or the old one.

The line there is just

$data['virtuemart_shopper_ids'] = implode(',',$data['virtuemart_shopper_ids']);

and then we have 3 more lines, almost the same, just with different variables... What happens when you add a shopper to the couopon (personalised coupon)
Title: Re: Coupons doesn't work with php 8.0.23
Post by: DadoO on October 09, 2022, 11:58:57 AM
Hello

Sorry for delay I've been very busy this week

So, I have tried to change the Admin Template (new one by Isabelle), creating, changing the user Allowed (by fields) etc ...
Same error display, but we can see a little difference in the line



[09-Oct-2022 09:27:12 UTC] PHP Stack trace:
[09-Oct-2022 09:27:12 UTC] PHP   1. {main}() C:\localwebsite\administrator\index.php:0
[09-Oct-2022 09:27:12 UTC] PHP   2. Joomla\CMS\Application\CMSApplication->execute() C:\localwebsite\administrator\index.php:51
[09-Oct-2022 09:27:12 UTC] PHP   3. Joomla\CMS\Application\AdministratorApplication->doExecute() C:\localwebsite\libraries\src\Application\CMSApplication.php:225
[09-Oct-2022 09:27:12 UTC] PHP   4. Joomla\CMS\Application\AdministratorApplication->dispatch($component = *uninitialized*) C:\localwebsite\libraries\src\Application\AdministratorApplication.php:159
[09-Oct-2022 09:27:12 UTC] PHP   5. Joomla\CMS\Component\ComponentHelper::renderComponent($option = 'com_virtuemart', $params = *uninitialized*) C:\localwebsite\libraries\src\Application\AdministratorApplication.php:101
[09-Oct-2022 09:27:12 UTC] PHP   6. Joomla\CMS\Component\ComponentHelper::executeComponent($path = 'C:\\localwebsite\\administrator/components/com_virtuemart/virtuemart.php') C:\localwebsite\libraries\src\Component\ComponentHelper.php:377
[09-Oct-2022 09:27:12 UTC] PHP   7. require_once() C:\localwebsite\libraries\src\Component\ComponentHelper.php:402
[09-Oct-2022 09:27:12 UTC] PHP   8. Joomla\CMS\MVC\Controller\BaseController->execute($task = 'apply') C:\localwebsite\administrator\components\com_virtuemart\virtuemart.php:75
[09-Oct-2022 09:27:12 UTC] PHP   9. VmController->save($data = *uninitialized*) C:\localwebsite\libraries\src\MVC\Controller\BaseController.php:702
[09-Oct-2022 09:27:12 UTC] PHP  10. VirtueMartModelCoupon->store($data = ['coupon_code' => 'test', 'published' => '1', 'coupon_value' => '12', 'percent_or_total' => 'percent', 'coupon_type' => 'gift', 'coupon_value_valid' => '10', 'coupon_value_max' => '0', 'virtuemart_coupon_max_attempt_per_user' => '0', 'coupon_start_date' => '2022-10-09', 'coupon_expiry_date' => '2023-04-09 09:26:50', 'virtuemart_coupon_id' => '0', 'filter_order' => 'virtuemart_coupon_id', 'filter_order_Dir' => 'DESC', 'task' => 'apply', 'option' => 'com_virtuemart', 'boxchecked' => '0', 'controller' => 'coupon', 'view' => 'coupon', 'ac08ee8142dc3caa4d6c4565cc602aa7' => '1']) C:\localwebsite\administrator\components\com_virtuemart\helpers\vmcontroller.php:173
[09-Oct-2022 09:27:12 UTC] PHP  11. implode($glue = ',', $pieces = NULL) C:\localwebsite\administrator\components\com_virtuemart\models\coupon.php:63
[09-Oct-2022 09:27:12 UTC] PHP Warning:  implode(): Invalid arguments passed in C:\localwebsite\administrator\components\com_virtuemart\models\coupon.php on line 64
[09-Oct-2022 09:27:12 UTC] PHP Stack trace:
[09-Oct-2022 09:27:12 UTC] PHP   1. {main}() C:\localwebsite\administrator\index.php:0
[09-Oct-2022 09:27:12 UTC] PHP   2. Joomla\CMS\Application\CMSApplication->execute() C:\localwebsite\administrator\index.php:51
[09-Oct-2022 09:27:12 UTC] PHP   3. Joomla\CMS\Application\AdministratorApplication->doExecute() C:\localwebsite\libraries\src\Application\CMSApplication.php:225
[09-Oct-2022 09:27:12 UTC] PHP   4. Joomla\CMS\Application\AdministratorApplication->dispatch($component = *uninitialized*) C:\localwebsite\libraries\src\Application\AdministratorApplication.php:159
[09-Oct-2022 09:27:12 UTC] PHP   5. Joomla\CMS\Component\ComponentHelper::renderComponent($option = 'com_virtuemart', $params = *uninitialized*) C:\localwebsite\libraries\src\Application\AdministratorApplication.php:101
[09-Oct-2022 09:27:12 UTC] PHP   6. Joomla\CMS\Component\ComponentHelper::executeComponent($path = 'C:\\localwebsite\\administrator/components/com_virtuemart/virtuemart.php') C:\localwebsite\libraries\src\Component\ComponentHelper.php:377
[09-Oct-2022 09:27:12 UTC] PHP   7. require_once() C:\localwebsite\libraries\src\Component\ComponentHelper.php:402
[09-Oct-2022 09:27:12 UTC] PHP   8. Joomla\CMS\MVC\Controller\BaseController->execute($task = 'apply') C:\localwebsite\administrator\components\com_virtuemart\virtuemart.php:75
[09-Oct-2022 09:27:12 UTC] PHP   9. VmController->save($data = *uninitialized*) C:\localwebsite\libraries\src\MVC\Controller\BaseController.php:702
[09-Oct-2022 09:27:12 UTC] PHP  10. VirtueMartModelCoupon->store($data = ['coupon_code' => 'test', 'published' => '1', 'coupon_value' => '12', 'percent_or_total' => 'percent', 'coupon_type' => 'gift', 'coupon_value_valid' => '10', 'coupon_value_max' => '0', 'virtuemart_coupon_max_attempt_per_user' => '0', 'coupon_start_date' => '2022-10-09', 'coupon_expiry_date' => '2023-04-09 09:26:50', 'virtuemart_coupon_id' => '0', 'filter_order' => 'virtuemart_coupon_id', 'filter_order_Dir' => 'DESC', 'task' => 'apply', 'option' => 'com_virtuemart', 'boxchecked' => '0', 'controller' => 'coupon', 'view' => 'coupon', 'ac08ee8142dc3caa4d6c4565cc602aa7' => '1', 'virtuemart_shopper_ids' => NULL]) C:\localwebsite\administrator\components\com_virtuemart\helpers\vmcontroller.php:173
[09-Oct-2022 09:27:12 UTC] PHP  11. implode($glue = ',', $pieces = NULL) C:\localwebsite\administrator\components\com_virtuemart\models\coupon.php:64
[09-Oct-2022 09:27:12 UTC] PHP Warning:  implode(): Invalid arguments passed in C:\localwebsite\administrator\components\com_virtuemart\models\coupon.php on line 65

Title: Re: Coupons doesn't work with php 8.0.23
Post by: DadoO on October 09, 2022, 11:59:46 AM
The others errors line (for I am limited about 20.000 caracters)



[09-Oct-2022 09:27:12 UTC] PHP Stack trace:
[09-Oct-2022 09:27:12 UTC] PHP   1. {main}() C:\localwebsite\administrator\index.php:0
[09-Oct-2022 09:27:12 UTC] PHP   2. Joomla\CMS\Application\CMSApplication->execute() C:\localwebsite\administrator\index.php:51
[09-Oct-2022 09:27:12 UTC] PHP   3. Joomla\CMS\Application\AdministratorApplication->doExecute() C:\localwebsite\libraries\src\Application\CMSApplication.php:225
[09-Oct-2022 09:27:12 UTC] PHP   4. Joomla\CMS\Application\AdministratorApplication->dispatch($component = *uninitialized*) C:\localwebsite\libraries\src\Application\AdministratorApplication.php:159
[09-Oct-2022 09:27:12 UTC] PHP   5. Joomla\CMS\Component\ComponentHelper::renderComponent($option = 'com_virtuemart', $params = *uninitialized*) C:\localwebsite\libraries\src\Application\AdministratorApplication.php:101
[09-Oct-2022 09:27:12 UTC] PHP   6. Joomla\CMS\Component\ComponentHelper::executeComponent($path = 'C:\\localwebsite\\administrator/components/com_virtuemart/virtuemart.php') C:\localwebsite\libraries\src\Component\ComponentHelper.php:377
[09-Oct-2022 09:27:12 UTC] PHP   7. require_once() C:\localwebsite\libraries\src\Component\ComponentHelper.php:402
[09-Oct-2022 09:27:12 UTC] PHP   8. Joomla\CMS\MVC\Controller\BaseController->execute($task = 'apply') C:\localwebsite\administrator\components\com_virtuemart\virtuemart.php:75
[09-Oct-2022 09:27:12 UTC] PHP   9. VmController->save($data = *uninitialized*) C:\localwebsite\libraries\src\MVC\Controller\BaseController.php:702
[09-Oct-2022 09:27:12 UTC] PHP  10. VirtueMartModelCoupon->store($data = ['coupon_code' => 'test', 'published' => '1', 'coupon_value' => '12', 'percent_or_total' => 'percent', 'coupon_type' => 'gift', 'coupon_value_valid' => '10', 'coupon_value_max' => '0', 'virtuemart_coupon_max_attempt_per_user' => '0', 'coupon_start_date' => '2022-10-09', 'coupon_expiry_date' => '2023-04-09 09:26:50', 'virtuemart_coupon_id' => '0', 'filter_order' => 'virtuemart_coupon_id', 'filter_order_Dir' => 'DESC', 'task' => 'apply', 'option' => 'com_virtuemart', 'boxchecked' => '0', 'controller' => 'coupon', 'view' => 'coupon', 'ac08ee8142dc3caa4d6c4565cc602aa7' => '1', 'virtuemart_shopper_ids' => NULL, 'virtuemart_shoppergroup_ids' => NULL]) C:\localwebsite\administrator\components\com_virtuemart\helpers\vmcontroller.php:173
[09-Oct-2022 09:27:12 UTC] PHP  11. implode($glue = ',', $pieces = NULL) C:\localwebsite\administrator\components\com_virtuemart\models\coupon.php:65
[09-Oct-2022 09:27:12 UTC] PHP Warning:  implode(): Invalid arguments passed in C:\localwebsite\administrator\components\com_virtuemart\models\coupon.php on line 66
[09-Oct-2022 09:27:12 UTC] PHP Stack trace:
[09-Oct-2022 09:27:12 UTC] PHP   1. {main}() C:\localwebsite\administrator\index.php:0
[09-Oct-2022 09:27:12 UTC] PHP   2. Joomla\CMS\Application\CMSApplication->execute() C:\localwebsite\administrator\index.php:51
[09-Oct-2022 09:27:12 UTC] PHP   3. Joomla\CMS\Application\AdministratorApplication->doExecute() C:\localwebsite\libraries\src\Application\CMSApplication.php:225
[09-Oct-2022 09:27:12 UTC] PHP   4. Joomla\CMS\Application\AdministratorApplication->dispatch($component = *uninitialized*) C:\localwebsite\libraries\src\Application\AdministratorApplication.php:159
[09-Oct-2022 09:27:12 UTC] PHP   5. Joomla\CMS\Component\ComponentHelper::renderComponent($option = 'com_virtuemart', $params = *uninitialized*) C:\localwebsite\libraries\src\Application\AdministratorApplication.php:101
[09-Oct-2022 09:27:12 UTC] PHP   6. Joomla\CMS\Component\ComponentHelper::executeComponent($path = 'C:\\localwebsite\\administrator/components/com_virtuemart/virtuemart.php') C:\localwebsite\libraries\src\Component\ComponentHelper.php:377
[09-Oct-2022 09:27:12 UTC] PHP   7. require_once() C:\localwebsite\libraries\src\Component\ComponentHelper.php:402
[09-Oct-2022 09:27:12 UTC] PHP   8. Joomla\CMS\MVC\Controller\BaseController->execute($task = 'apply') C:\localwebsite\administrator\components\com_virtuemart\virtuemart.php:75
[09-Oct-2022 09:27:12 UTC] PHP   9. VmController->save($data = *uninitialized*) C:\localwebsite\libraries\src\MVC\Controller\BaseController.php:702
[09-Oct-2022 09:27:12 UTC] PHP  10. VirtueMartModelCoupon->store($data = ['coupon_code' => 'test', 'published' => '1', 'coupon_value' => '12', 'percent_or_total' => 'percent', 'coupon_type' => 'gift', 'coupon_value_valid' => '10', 'coupon_value_max' => '0', 'virtuemart_coupon_max_attempt_per_user' => '0', 'coupon_start_date' => '2022-10-09', 'coupon_expiry_date' => '2023-04-09 09:26:50', 'virtuemart_coupon_id' => '0', 'filter_order' => 'virtuemart_coupon_id', 'filter_order_Dir' => 'DESC', 'task' => 'apply', 'option' => 'com_virtuemart', 'boxchecked' => '0', 'controller' => 'coupon', 'view' => 'coupon', 'ac08ee8142dc3caa4d6c4565cc602aa7' => '1', 'virtuemart_shopper_ids' => NULL, 'virtuemart_shoppergroup_ids' => NULL, 'virtuemart_product_ids' => NULL]) C:\localwebsite\administrator\components\com_virtuemart\helpers\vmcontroller.php:173
[09-Oct-2022 09:27:12 UTC] PHP  11. implode($glue = ',', $pieces = NULL) C:\localwebsite\administrator\components\com_virtuemart\models\coupon.php:66
[09-Oct-2022 09:27:17 UTC] PHP Warning:  implode(): Invalid arguments passed in C:\localwebsite\administrator\components\com_virtuemart\models\coupon.php on line 63
[09-Oct-2022 09:27:17 UTC] PHP Stack trace:
[09-Oct-2022 09:27:17 UTC] PHP   1. {main}() C:\localwebsite\administrator\index.php:0
[09-Oct-2022 09:27:17 UTC] PHP   2. Joomla\CMS\Application\CMSApplication->execute() C:\localwebsite\administrator\index.php:51
[09-Oct-2022 09:27:17 UTC] PHP   3. Joomla\CMS\Application\AdministratorApplication->doExecute() C:\localwebsite\libraries\src\Application\CMSApplication.php:225
[09-Oct-2022 09:27:17 UTC] PHP   4. Joomla\CMS\Application\AdministratorApplication->dispatch($component = *uninitialized*) C:\localwebsite\libraries\src\Application\AdministratorApplication.php:159
[09-Oct-2022 09:27:17 UTC] PHP   5. Joomla\CMS\Component\ComponentHelper::renderComponent($option = 'com_virtuemart', $params = *uninitialized*) C:\localwebsite\libraries\src\Application\AdministratorApplication.php:101
[09-Oct-2022 09:27:17 UTC] PHP   6. Joomla\CMS\Component\ComponentHelper::executeComponent($path = 'C:\\localwebsite\\administrator/components/com_virtuemart/virtuemart.php') C:\localwebsite\libraries\src\Component\ComponentHelper.php:377
[09-Oct-2022 09:27:17 UTC] PHP   7. require_once() C:\localwebsite\libraries\src\Component\ComponentHelper.php:402
[09-Oct-2022 09:27:17 UTC] PHP   8. Joomla\CMS\MVC\Controller\BaseController->execute($task = 'save') C:\localwebsite\administrator\components\com_virtuemart\virtuemart.php:75
[09-Oct-2022 09:27:17 UTC] PHP   9. VmController->save($data = *uninitialized*) C:\localwebsite\libraries\src\MVC\Controller\BaseController.php:702
[09-Oct-2022 09:27:17 UTC] PHP  10. VirtueMartModelCoupon->store($data = ['coupon_code' => 'test', 'published' => '1', 'coupon_value' => '12.00000', 'percent_or_total' => 'percent', 'coupon_type' => 'gift', 'coupon_value_valid' => '10.00000', 'coupon_value_max' => '0.00000', 'virtuemart_coupon_max_attempt_per_user' => '0', 'coupon_start_date' => '2022-10-09 00:00:00', 'coupon_expiry_date' => '2023-04-09 09:26:50', 'virtuemart_coupon_id' => '3609', 'filter_order' => 'virtuemart_coupon_id', 'filter_order_Dir' => 'DESC', 'task' => 'save', 'option' => 'com_virtuemart', 'boxchecked' => '0', 'controller' => 'coupon', 'view' => 'coupon', 'ac08ee8142dc3caa4d6c4565cc602aa7' => '1']) C:\localwebsite\administrator\components\com_virtuemart\helpers\vmcontroller.php:173
[09-Oct-2022 09:27:17 UTC] PHP  11. implode($glue = ',', $pieces = NULL) C:\localwebsite\administrator\components\com_virtuemart\models\coupon.php:63
[09-Oct-2022 09:27:17 UTC] PHP Warning:  implode(): Invalid arguments passed in C:\localwebsite\administrator\components\com_virtuemart\models\coupon.php on line 64

Title: Re: Coupons doesn't work with php 8.0.23
Post by: DadoO on October 09, 2022, 12:00:41 PM
The last one


[09-Oct-2022 09:27:17 UTC] PHP Stack trace:
[09-Oct-2022 09:27:17 UTC] PHP   1. {main}() C:\localwebsite\administrator\index.php:0
[09-Oct-2022 09:27:17 UTC] PHP   2. Joomla\CMS\Application\CMSApplication->execute() C:\localwebsite\administrator\index.php:51
[09-Oct-2022 09:27:17 UTC] PHP   3. Joomla\CMS\Application\AdministratorApplication->doExecute() C:\localwebsite\libraries\src\Application\CMSApplication.php:225
[09-Oct-2022 09:27:17 UTC] PHP   4. Joomla\CMS\Application\AdministratorApplication->dispatch($component = *uninitialized*) C:\localwebsite\libraries\src\Application\AdministratorApplication.php:159
[09-Oct-2022 09:27:17 UTC] PHP   5. Joomla\CMS\Component\ComponentHelper::renderComponent($option = 'com_virtuemart', $params = *uninitialized*) C:\localwebsite\libraries\src\Application\AdministratorApplication.php:101
[09-Oct-2022 09:27:17 UTC] PHP   6. Joomla\CMS\Component\ComponentHelper::executeComponent($path = 'C:\\localwebsite\\administrator/components/com_virtuemart/virtuemart.php') C:\localwebsite\libraries\src\Component\ComponentHelper.php:377
[09-Oct-2022 09:27:17 UTC] PHP   7. require_once() C:\localwebsite\libraries\src\Component\ComponentHelper.php:402
[09-Oct-2022 09:27:17 UTC] PHP   8. Joomla\CMS\MVC\Controller\BaseController->execute($task = 'save') C:\localwebsite\administrator\components\com_virtuemart\virtuemart.php:75
[09-Oct-2022 09:27:17 UTC] PHP   9. VmController->save($data = *uninitialized*) C:\localwebsite\libraries\src\MVC\Controller\BaseController.php:702
[09-Oct-2022 09:27:17 UTC] PHP  10. VirtueMartModelCoupon->store($data = ['coupon_code' => 'test', 'published' => '1', 'coupon_value' => '12.00000', 'percent_or_total' => 'percent', 'coupon_type' => 'gift', 'coupon_value_valid' => '10.00000', 'coupon_value_max' => '0.00000', 'virtuemart_coupon_max_attempt_per_user' => '0', 'coupon_start_date' => '2022-10-09 00:00:00', 'coupon_expiry_date' => '2023-04-09 09:26:50', 'virtuemart_coupon_id' => '3609', 'filter_order' => 'virtuemart_coupon_id', 'filter_order_Dir' => 'DESC', 'task' => 'save', 'option' => 'com_virtuemart', 'boxchecked' => '0', 'controller' => 'coupon', 'view' => 'coupon', 'ac08ee8142dc3caa4d6c4565cc602aa7' => '1', 'virtuemart_shopper_ids' => NULL]) C:\localwebsite\administrator\components\com_virtuemart\helpers\vmcontroller.php:173
[09-Oct-2022 09:27:17 UTC] PHP  11. implode($glue = ',', $pieces = NULL) C:\localwebsite\administrator\components\com_virtuemart\models\coupon.php:64
[09-Oct-2022 09:27:17 UTC] PHP Warning:  implode(): Invalid arguments passed in C:\localwebsite\administrator\components\com_virtuemart\models\coupon.php on line 65
[09-Oct-2022 09:27:17 UTC] PHP Stack trace:
[09-Oct-2022 09:27:17 UTC] PHP   1. {main}() C:\localwebsite\administrator\index.php:0
[09-Oct-2022 09:27:17 UTC] PHP   2. Joomla\CMS\Application\CMSApplication->execute() C:\localwebsite\administrator\index.php:51
[09-Oct-2022 09:27:17 UTC] PHP   3. Joomla\CMS\Application\AdministratorApplication->doExecute() C:\localwebsite\libraries\src\Application\CMSApplication.php:225
[09-Oct-2022 09:27:17 UTC] PHP   4. Joomla\CMS\Application\AdministratorApplication->dispatch($component = *uninitialized*) C:\localwebsite\libraries\src\Application\AdministratorApplication.php:159
[09-Oct-2022 09:27:17 UTC] PHP   5. Joomla\CMS\Component\ComponentHelper::renderComponent($option = 'com_virtuemart', $params = *uninitialized*) C:\localwebsite\libraries\src\Application\AdministratorApplication.php:101
[09-Oct-2022 09:27:17 UTC] PHP   6. Joomla\CMS\Component\ComponentHelper::executeComponent($path = 'C:\\localwebsite\\administrator/components/com_virtuemart/virtuemart.php') C:\localwebsite\libraries\src\Component\ComponentHelper.php:377
[09-Oct-2022 09:27:17 UTC] PHP   7. require_once() C:\localwebsite\libraries\src\Component\ComponentHelper.php:402
[09-Oct-2022 09:27:17 UTC] PHP   8. Joomla\CMS\MVC\Controller\BaseController->execute($task = 'save') C:\localwebsite\administrator\components\com_virtuemart\virtuemart.php:75
[09-Oct-2022 09:27:17 UTC] PHP   9. VmController->save($data = *uninitialized*) C:\localwebsite\libraries\src\MVC\Controller\BaseController.php:702
[09-Oct-2022 09:27:17 UTC] PHP  10. VirtueMartModelCoupon->store($data = ['coupon_code' => 'test', 'published' => '1', 'coupon_value' => '12.00000', 'percent_or_total' => 'percent', 'coupon_type' => 'gift', 'coupon_value_valid' => '10.00000', 'coupon_value_max' => '0.00000', 'virtuemart_coupon_max_attempt_per_user' => '0', 'coupon_start_date' => '2022-10-09 00:00:00', 'coupon_expiry_date' => '2023-04-09 09:26:50', 'virtuemart_coupon_id' => '3609', 'filter_order' => 'virtuemart_coupon_id', 'filter_order_Dir' => 'DESC', 'task' => 'save', 'option' => 'com_virtuemart', 'boxchecked' => '0', 'controller' => 'coupon', 'view' => 'coupon', 'ac08ee8142dc3caa4d6c4565cc602aa7' => '1', 'virtuemart_shopper_ids' => NULL, 'virtuemart_shoppergroup_ids' => NULL]) C:\localwebsite\administrator\components\com_virtuemart\helpers\vmcontroller.php:173
[09-Oct-2022 09:27:17 UTC] PHP  11. implode($glue = ',', $pieces = NULL) C:\localwebsite\administrator\components\com_virtuemart\models\coupon.php:65
[09-Oct-2022 09:27:17 UTC] PHP Warning:  implode(): Invalid arguments passed in C:\localwebsite\administrator\components\com_virtuemart\models\coupon.php on line 66
[09-Oct-2022 09:27:17 UTC] PHP Stack trace:
[09-Oct-2022 09:27:17 UTC] PHP   1. {main}() C:\localwebsite\administrator\index.php:0
[09-Oct-2022 09:27:17 UTC] PHP   2. Joomla\CMS\Application\CMSApplication->execute() C:\localwebsite\administrator\index.php:51
[09-Oct-2022 09:27:17 UTC] PHP   3. Joomla\CMS\Application\AdministratorApplication->doExecute() C:\localwebsite\libraries\src\Application\CMSApplication.php:225
[09-Oct-2022 09:27:17 UTC] PHP   4. Joomla\CMS\Application\AdministratorApplication->dispatch($component = *uninitialized*) C:\localwebsite\libraries\src\Application\AdministratorApplication.php:159
[09-Oct-2022 09:27:17 UTC] PHP   5. Joomla\CMS\Component\ComponentHelper::renderComponent($option = 'com_virtuemart', $params = *uninitialized*) C:\localwebsite\libraries\src\Application\AdministratorApplication.php:101
[09-Oct-2022 09:27:17 UTC] PHP   6. Joomla\CMS\Component\ComponentHelper::executeComponent($path = 'C:\\localwebsite\\administrator/components/com_virtuemart/virtuemart.php') C:\localwebsite\libraries\src\Component\ComponentHelper.php:377
[09-Oct-2022 09:27:17 UTC] PHP   7. require_once() C:\localwebsite\libraries\src\Component\ComponentHelper.php:402
[09-Oct-2022 09:27:17 UTC] PHP   8. Joomla\CMS\MVC\Controller\BaseController->execute($task = 'save') C:\localwebsite\administrator\components\com_virtuemart\virtuemart.php:75
[09-Oct-2022 09:27:17 UTC] PHP   9. VmController->save($data = *uninitialized*) C:\localwebsite\libraries\src\MVC\Controller\BaseController.php:702
[09-Oct-2022 09:27:17 UTC] PHP  10. VirtueMartModelCoupon->store($data = ['coupon_code' => 'test', 'published' => '1', 'coupon_value' => '12.00000', 'percent_or_total' => 'percent', 'coupon_type' => 'gift', 'coupon_value_valid' => '10.00000', 'coupon_value_max' => '0.00000', 'virtuemart_coupon_max_attempt_per_user' => '0', 'coupon_start_date' => '2022-10-09 00:00:00', 'coupon_expiry_date' => '2023-04-09 09:26:50', 'virtuemart_coupon_id' => '3609', 'filter_order' => 'virtuemart_coupon_id', 'filter_order_Dir' => 'DESC', 'task' => 'save', 'option' => 'com_virtuemart', 'boxchecked' => '0', 'controller' => 'coupon', 'view' => 'coupon', 'ac08ee8142dc3caa4d6c4565cc602aa7' => '1', 'virtuemart_shopper_ids' => NULL, 'virtuemart_shoppergroup_ids' => NULL, 'virtuemart_product_ids' => NULL]) C:\localwebsite\administrator\components\com_virtuemart\helpers\vmcontroller.php:173
[09-Oct-2022 09:27:17 UTC] PHP  11. implode($glue = ',', $pieces = NULL) C:\localwebsite\administrator\components\com_virtuemart\models\coupon.php:66
[09-Oct-2022 09:28:01 UTC] PHP Warning:  Undefined array key "virtuemart_shopper_ids" in C:\localwebsite\administrator\components\com_virtuemart\models\coupon.php on line 63


Title: Re: Coupons doesn't work with php 8.0.23
Post by: DadoO on October 09, 2022, 12:01:02 PM
[09-Oct-2022 09:28:01 UTC] PHP Stack trace:
[09-Oct-2022 09:28:01 UTC] PHP   1. {main}() C:\localwebsite\administrator\index.php:0
[09-Oct-2022 09:28:01 UTC] PHP   2. Joomla\CMS\Application\AdministratorApplication->execute() C:\localwebsite\administrator\index.php:51
[09-Oct-2022 09:28:01 UTC] PHP   3. Joomla\CMS\Application\AdministratorApplication->doExecute() C:\localwebsite\libraries\src\Application\CMSApplication.php:225
[09-Oct-2022 09:28:01 UTC] PHP   4. Joomla\CMS\Application\AdministratorApplication->dispatch($component = *uninitialized*) C:\localwebsite\libraries\src\Application\AdministratorApplication.php:159
[09-Oct-2022 09:28:01 UTC] PHP   5. Joomla\CMS\Component\ComponentHelper::renderComponent($option = 'com_virtuemart', $params = *uninitialized*) C:\localwebsite\libraries\src\Application\AdministratorApplication.php:101
[09-Oct-2022 09:28:01 UTC] PHP   6. Joomla\CMS\Component\ComponentHelper::executeComponent($path = 'C:\\localwebsite\\administrator/components/com_virtuemart/virtuemart.php') C:\localwebsite\libraries\src\Component\ComponentHelper.php:377
[09-Oct-2022 09:28:01 UTC] PHP   7. require_once() C:\localwebsite\libraries\src\Component\ComponentHelper.php:402
[09-Oct-2022 09:28:01 UTC] PHP   8. VirtuemartControllerCoupon->execute($task = 'save') C:\localwebsite\administrator\components\com_virtuemart\virtuemart.php:75
[09-Oct-2022 09:28:01 UTC] PHP   9. VirtuemartControllerCoupon->save($data = *uninitialized*) C:\localwebsite\libraries\src\MVC\Controller\BaseController.php:702
[09-Oct-2022 09:28:01 UTC] PHP  10. VirtueMartModelCoupon->store($data = ['coupon_code' => 'essa', 'published' => '1', 'coupon_value' => '12', 'percent_or_total' => 'percent', 'coupon_type' => 'gift', 'coupon_value_valid' => '10', 'coupon_value_max' => '0', 'virtuemart_coupon_max_attempt_per_user' => '0', 'coupon_start_date' => '2022-10-09', 'coupon_expiry_date' => '2023-04-09 09:27:48', 'virtuemart_coupon_id' => '0', 'filter_order' => 'virtuemart_coupon_id', 'filter_order_Dir' => 'DESC', 'task' => 'save', 'option' => 'com_virtuemart', 'boxchecked' => '0', 'controller' => 'coupon', 'view' => 'coupon', 'ac08ee8142dc3caa4d6c4565cc602aa7' => '1']) C:\localwebsite\administrator\components\com_virtuemart\helpers\vmcontroller.php:173
[09-Oct-2022 09:28:20 UTC] PHP Warning:  Undefined array key "virtuemart_shoppergroup_ids" in C:\localwebsite\administrator\components\com_virtuemart\models\coupon.php on line 64
[09-Oct-2022 09:28:20 UTC] PHP Stack trace:
[09-Oct-2022 09:28:20 UTC] PHP   1. {main}() C:\localwebsite\administrator\index.php:0
[09-Oct-2022 09:28:20 UTC] PHP   2. Joomla\CMS\Application\AdministratorApplication->execute() C:\localwebsite\administrator\index.php:51
[09-Oct-2022 09:28:20 UTC] PHP   3. Joomla\CMS\Application\AdministratorApplication->doExecute() C:\localwebsite\libraries\src\Application\CMSApplication.php:225
[09-Oct-2022 09:28:20 UTC] PHP   4. Joomla\CMS\Application\AdministratorApplication->dispatch($component = *uninitialized*) C:\localwebsite\libraries\src\Application\AdministratorApplication.php:159
[09-Oct-2022 09:28:20 UTC] PHP   5. Joomla\CMS\Component\ComponentHelper::renderComponent($option = 'com_virtuemart', $params = *uninitialized*) C:\localwebsite\libraries\src\Application\AdministratorApplication.php:101
[09-Oct-2022 09:28:20 UTC] PHP   6. Joomla\CMS\Component\ComponentHelper::executeComponent($path = 'C:\\localwebsite\\administrator/components/com_virtuemart/virtuemart.php') C:\localwebsite\libraries\src\Component\ComponentHelper.php:377
[09-Oct-2022 09:28:20 UTC] PHP   7. require_once() C:\localwebsite\libraries\src\Component\ComponentHelper.php:402
[09-Oct-2022 09:28:20 UTC] PHP   8. VirtuemartControllerCoupon->execute($task = 'apply') C:\localwebsite\administrator\components\com_virtuemart\virtuemart.php:75
[09-Oct-2022 09:28:20 UTC] PHP   9. VirtuemartControllerCoupon->save($data = *uninitialized*) C:\localwebsite\libraries\src\MVC\Controller\BaseController.php:702
[09-Oct-2022 09:28:20 UTC] PHP  10. VirtueMartModelCoupon->store($data = ['coupon_code' => 'RPCC130350', 'published' => '1', 'coupon_value' => '10.00000', 'percent_or_total' => 'percent', 'coupon_type' => 'gift', 'coupon_value_valid' => '12.00000', 'coupon_value_max' => '0.00000', 'virtuemart_coupon_max_attempt_per_user' => '0', 'virtuemart_shopper_ids' => '954', 'coupon_start_date' => '2022-06-03 00:00:00', 'coupon_expiry_date' => '2022-12-03 09:37:10', 'virtuemart_coupon_id' => '3608', 'filter_order' => 'virtuemart_coupon_id', 'filter_order_Dir' => 'DESC', 'task' => 'apply', 'option' => 'com_virtuemart', 'boxchecked' => '0', 'controller' => 'coupon', 'view' => 'coupon', 'ac08ee8142dc3caa4d6c4565cc602aa7' => '1']) C:\localwebsite\administrator\components\com_virtuemart\helpers\vmcontroller.php:173
[09-Oct-2022 09:28:46 UTC] PHP Warning:  Undefined array key "virtuemart_shoppergroup_ids" in C:\localwebsite\administrator\components\com_virtuemart\models\coupon.php on line 64
[09-Oct-2022 09:28:46 UTC] PHP Stack trace:
[09-Oct-2022 09:28:46 UTC] PHP   1. {main}() C:\localwebsite\administrator\index.php:0
[09-Oct-2022 09:28:46 UTC] PHP   2. Joomla\CMS\Application\AdministratorApplication->execute() C:\localwebsite\administrator\index.php:51
[09-Oct-2022 09:28:46 UTC] PHP   3. Joomla\CMS\Application\AdministratorApplication->doExecute() C:\localwebsite\libraries\src\Application\CMSApplication.php:225
[09-Oct-2022 09:28:46 UTC] PHP   4. Joomla\CMS\Application\AdministratorApplication->dispatch($component = *uninitialized*) C:\localwebsite\libraries\src\Application\AdministratorApplication.php:159
[09-Oct-2022 09:28:46 UTC] PHP   5. Joomla\CMS\Component\ComponentHelper::renderComponent($option = 'com_virtuemart', $params = *uninitialized*) C:\localwebsite\libraries\src\Application\AdministratorApplication.php:101
[09-Oct-2022 09:28:46 UTC] PHP   6. Joomla\CMS\Component\ComponentHelper::executeComponent($path = 'C:\\localwebsite\\administrator/components/com_virtuemart/virtuemart.php') C:\localwebsite\libraries\src\Component\ComponentHelper.php:377
[09-Oct-2022 09:28:46 UTC] PHP   7. require_once() C:\localwebsite\libraries\src\Component\ComponentHelper.php:402
[09-Oct-2022 09:28:46 UTC] PHP   8. VirtuemartControllerCoupon->execute($task = 'apply') C:\localwebsite\administrator\components\com_virtuemart\virtuemart.php:75
[09-Oct-2022 09:28:46 UTC] PHP   9. VirtuemartControllerCoupon->save($data = *uninitialized*) C:\localwebsite\libraries\src\MVC\Controller\BaseController.php:702
[09-Oct-2022 09:28:46 UTC] PHP  10. VirtueMartModelCoupon->store($data = ['coupon_code' => 'RPSM130279', 'published' => '1', 'coupon_value' => '10.00000', 'percent_or_total' => 'percent', 'coupon_type' => 'gift', 'coupon_value_valid' => '12.00000', 'coupon_value_max' => '0.00000', 'virtuemart_coupon_max_attempt_per_user' => '0', 'virtuemart_shopper_ids' => '5301', 'virtuemart_product_ids' => [0 => '966'], 'virtuemart_category_ids' => [0 => '2'], 'coupon_start_date' => '2022-05-22 00:00:00', 'coupon_expiry_date' => '2022-11-22 16:48:15', 'virtuemart_coupon_id' => '3600', 'filter_order' => 'virtuemart_coupon_id', 'filter_order_Dir' => 'DESC', 'task' => 'apply', 'option' => 'com_virtuemart', 'boxchecked' => '0', 'controller' => 'coupon', 'view' => 'coupon', 'ac08ee8142dc3caa4d6c4565cc602aa7' => '1']) C:\localwebsite\administrator\components\com_virtuemart\helpers\vmcontroller.php:173
[09-Oct-2022 09:29:51 UTC] PHP Warning:  Undefined array key "virtuemart_shopper_ids" in C:\localwebsite\administrator\components\com_virtuemart\models\coupon.php on line 63
[09-Oct-2022 09:29:51 UTC] PHP Stack trace:
[09-Oct-2022 09:29:51 UTC] PHP   1. {main}() C:\localwebsite\administrator\index.php:0
[09-Oct-2022 09:29:51 UTC] PHP   2. Joomla\CMS\Application\AdministratorApplication->execute() C:\localwebsite\administrator\index.php:51
[09-Oct-2022 09:29:51 UTC] PHP   3. Joomla\CMS\Application\AdministratorApplication->doExecute() C:\localwebsite\libraries\src\Application\CMSApplication.php:225
[09-Oct-2022 09:29:51 UTC] PHP   4. Joomla\CMS\Application\AdministratorApplication->dispatch($component = *uninitialized*) C:\localwebsite\libraries\src\Application\AdministratorApplication.php:159
[09-Oct-2022 09:29:51 UTC] PHP   5. Joomla\CMS\Component\ComponentHelper::renderComponent($option = 'com_virtuemart', $params = *uninitialized*) C:\localwebsite\libraries\src\Application\AdministratorApplication.php:101
[09-Oct-2022 09:29:51 UTC] PHP   6. Joomla\CMS\Component\ComponentHelper::executeComponent($path = 'C:\\localwebsite\\administrator/components/com_virtuemart/virtuemart.php') C:\localwebsite\libraries\src\Component\ComponentHelper.php:377
[09-Oct-2022 09:29:51 UTC] PHP   7. require_once() C:\localwebsite\libraries\src\Component\ComponentHelper.php:402
[09-Oct-2022 09:29:51 UTC] PHP   8. VirtuemartControllerCoupon->execute($task = 'save') C:\localwebsite\administrator\components\com_virtuemart\virtuemart.php:75
[09-Oct-2022 09:29:51 UTC] PHP   9. VirtuemartControllerCoupon->save($data = *uninitialized*) C:\localwebsite\libraries\src\MVC\Controller\BaseController.php:702
[09-Oct-2022 09:29:51 UTC] PHP  10. VirtueMartModelCoupon->store($data = ['coupon_code' => 'Rplmklfo', 'published' => '1', 'coupon_value' => '12', 'percent_or_total' => 'percent', 'coupon_type' => 'gift', 'coupon_value_valid' => '12', 'coupon_value_max' => '0', 'virtuemart_coupon_max_attempt_per_user' => '0', 'coupon_start_date' => '2022-10-09', 'coupon_expiry_date' => '2023-04-09 09:29:30', 'virtuemart_coupon_id' => '0', 'filter_order' => 'virtuemart_coupon_id', 'filter_order_Dir' => 'DESC', 'task' => 'save', 'option' => 'com_virtuemart', 'boxchecked' => '0', 'controller' => 'coupon', 'view' => 'coupon', 'ac08ee8142dc3caa4d6c4565cc602aa7' => '1']) C:\localwebsite\administrator\components\com_virtuemart\helpers\vmcontroller.php:173
[09-Oct-2022 09:30:17 UTC] PHP Warning:  Undefined array key "virtuemart_shoppergroup_ids" in C:\localwebsite\administrator\components\com_virtuemart\models\coupon.php on line 64
[09-Oct-2022 09:30:17 UTC] PHP Stack trace:
[09-Oct-2022 09:30:17 UTC] PHP   1. {main}() C:\localwebsite\administrator\index.php:0
[09-Oct-2022 09:30:17 UTC] PHP   2. Joomla\CMS\Application\AdministratorApplication->execute() C:\localwebsite\administrator\index.php:51
[09-Oct-2022 09:30:17 UTC] PHP   3. Joomla\CMS\Application\AdministratorApplication->doExecute() C:\localwebsite\libraries\src\Application\CMSApplication.php:225
[09-Oct-2022 09:30:17 UTC] PHP   4. Joomla\CMS\Application\AdministratorApplication->dispatch($component = *uninitialized*) C:\localwebsite\libraries\src\Application\AdministratorApplication.php:159
[09-Oct-2022 09:30:17 UTC] PHP   5. Joomla\CMS\Component\ComponentHelper::renderComponent($option = 'com_virtuemart', $params = *uninitialized*) C:\localwebsite\libraries\src\Application\AdministratorApplication.php:101
[09-Oct-2022 09:30:17 UTC] PHP   6. Joomla\CMS\Component\ComponentHelper::executeComponent($path = 'C:\\localwebsite\\administrator/components/com_virtuemart/virtuemart.php') C:\localwebsite\libraries\src\Component\ComponentHelper.php:377
[09-Oct-2022 09:30:17 UTC] PHP   7. require_once() C:\localwebsite\libraries\src\Component\ComponentHelper.php:402
[09-Oct-2022 09:30:17 UTC] PHP   8. VirtuemartControllerCoupon->execute($task = 'apply') C:\localwebsite\administrator\components\com_virtuemart\virtuemart.php:75
[09-Oct-2022 09:30:17 UTC] PHP   9. VirtuemartControllerCoupon->save($data = *uninitialized*) C:\localwebsite\libraries\src\MVC\Controller\BaseController.php:702
[09-Oct-2022 09:30:17 UTC] PHP  10. VirtueMartModelCoupon->store($data = ['coupon_code' => 'RPSM130279', 'published' => '1', 'coupon_value' => '10.00000', 'percent_or_total' => 'percent', 'coupon_type' => 'gift', 'coupon_value_valid' => '12.00000', 'coupon_value_max' => '0.00000', 'virtuemart_coupon_max_attempt_per_user' => '0', 'virtuemart_shopper_ids' => '2391', 'coupon_start_date' => '2022-05-22 00:00:00', 'coupon_expiry_date' => '2022-11-22 16:48:15', 'virtuemart_coupon_id' => '3600', 'filter_order' => 'virtuemart_coupon_id', 'filter_order_Dir' => 'DESC', 'task' => 'apply', 'option' => 'com_virtuemart', 'boxchecked' => '0', 'controller' => 'coupon', 'view' => 'coupon', 'ac08ee8142dc3caa4d6c4565cc602aa7' => '1']) C:\localwebsite\administrator\components\com_virtuemart\helpers\vmcontroller.php:173
[09-Oct-2022 09:30:58 UTC] PHP Warning:  Undefined array key "virtuemart_shoppergroup_ids" in C:\localwebsite\administrator\components\com_virtuemart\models\coupon.php on line 64
[09-Oct-2022 09:30:58 UTC] PHP Stack trace:
[09-Oct-2022 09:30:58 UTC] PHP   1. {main}() C:\localwebsite\administrator\index.php:0
[09-Oct-2022 09:30:58 UTC] PHP   2. Joomla\CMS\Application\AdministratorApplication->execute() C:\localwebsite\administrator\index.php:51
[09-Oct-2022 09:30:58 UTC] PHP   3. Joomla\CMS\Application\AdministratorApplication->doExecute() C:\localwebsite\libraries\src\Application\CMSApplication.php:225
[09-Oct-2022 09:30:58 UTC] PHP   4. Joomla\CMS\Application\AdministratorApplication->dispatch($component = *uninitialized*) C:\localwebsite\libraries\src\Application\AdministratorApplication.php:159
[09-Oct-2022 09:30:58 UTC] PHP   5. Joomla\CMS\Component\ComponentHelper::renderComponent($option = 'com_virtuemart', $params = *uninitialized*) C:\localwebsite\libraries\src\Application\AdministratorApplication.php:101
[09-Oct-2022 09:30:58 UTC] PHP   6. Joomla\CMS\Component\ComponentHelper::executeComponent($path = 'C:\\localwebsite\\administrator/components/com_virtuemart/virtuemart.php') C:\localwebsite\libraries\src\Component\ComponentHelper.php:377
[09-Oct-2022 09:30:58 UTC] PHP   7. require_once() C:\localwebsite\libraries\src\Component\ComponentHelper.php:402
[09-Oct-2022 09:30:58 UTC] PHP   8. VirtuemartControllerCoupon->execute($task = 'save') C:\localwebsite\administrator\components\com_virtuemart\virtuemart.php:75
[09-Oct-2022 09:30:58 UTC] PHP   9. VirtuemartControllerCoupon->save($data = *uninitialized*) C:\localwebsite\libraries\src\MVC\Controller\BaseController.php:702
[09-Oct-2022 09:30:58 UTC] PHP  10. VirtueMartModelCoupon->store($data = ['coupon_code' => 'RPRD129066', 'published' => '1', 'coupon_value' => '10.00000', 'percent_or_total' => 'percent', 'coupon_type' => 'gift', 'coupon_value_valid' => '12.00000', 'coupon_value_max' => '0.00000', 'virtuemart_coupon_max_attempt_per_user' => '0', 'virtuemart_shopper_ids' => '2116', 'virtuemart_category_ids' => [0 => '3'], 'coupon_start_date' => '2021-12-18 00:00:00', 'coupon_expiry_date' => '2022-06-18 17:28:35', 'virtuemart_coupon_id' => '3453', 'filter_order' => 'virtuemart_coupon_id', 'filter_order_Dir' => 'DESC', 'task' => 'save', 'option' => 'com_virtuemart', 'boxchecked' => '0', 'controller' => 'coupon', 'view' => 'coupon', 'ac08ee8142dc3caa4d6c4565cc602aa7' => '1']) C:\localwebsite\administrator\components\com_virtuemart\helpers\vmcontroller.php:173
Title: Re: Coupons doesn't work with php 8.0.23
Post by: DadoO on October 09, 2022, 12:07:10 PM
To Remind

Working fine in Pah 7.4.30 with the new Admin template by Isabelle (some price fields doesn't worked (like different price quantities) but it's a another problem)
Working fine to with the original template

Crashed only with php 8.0.x
Latest Joomal 3.9.X installed latest VM 4.0.6 installed

Working fine on my webserver too with php 7.4.30, crashed too with php 8.0.X
Title: Re: Coupons doesn't work with php 8.0.23
Post by: WebStuff on October 26, 2022, 15:11:12 PM
I just came across this error today whilst updating a coupon.

0 implode(): Argument #1 ($pieces) must be of type array, string given

The lines are in ./administrator/components/com_virtuemart/models/coupon.php from 63 to 66

As a quick fix I changed it to the following, hopefully this doesn't introduce any more bugs.


/* Changes Modified */
if(is_array($data['virtuemart_shopper_ids'])) {
$data['virtuemart_shopper_ids'] = implode(',',$data['virtuemart_shopper_ids']);
}
if(is_array($data['virtuemart_shoppergroup_ids'])) {
$data['virtuemart_shoppergroup_ids'] = implode(',',$data['virtuemart_shoppergroup_ids']);
}
if(is_array($data['virtuemart_product_ids'])) {
$data['virtuemart_product_ids'] = implode(',',$data['virtuemart_product_ids']);
}
if(is_array($data['virtuemart_category_ids'])) {
$data['virtuemart_category_ids'] = implode(',',$data['virtuemart_category_ids']);
}


Hope this helps.
Title: Re: Coupons doesn't work with php 8.0.23
Post by: Darko F. on October 29, 2022, 21:18:03 PM
I confirm
Jooma 3
com_virtuemart.4.0.7.10730_package_or_extract.zip
An error has occurred when i try to create coupon
0 implode(): Argument #1 ($pieces) must be of type array, string given

The same on Joomla 4 here is debug from J4
Call stack
#   Function   Location
1   ()   JROOT/administrator/components/com_virtuemart/models/coupon.php:63
2   implode()   JROOT/administrator/components/com_virtuemart/models/coupon.php:63
3   VirtueMartModelCoupon->store()   JROOT/administrator/components/com_virtuemart/helpers/vmcontroller.php:173
4   VmController->save()   JROOT/libraries/src/MVC/Controller/BaseController.php:672
5   Joomla\CMS\MVC\Controller\BaseController->execute()   JROOT/administrator/components/com_virtuemart/virtuemart.php:75
6   require_once()   JROOT/libraries/src/Dispatcher/LegacyComponentDispatcher.php:71
7   Joomla\CMS\Dispatcher\LegacyComponentDispatcher::Joomla\CMS\Dispatcher\{closure}()   JROOT/libraries/src/Dispatcher/LegacyComponentDispatcher.php:73
8   Joomla\CMS\Dispatcher\LegacyComponentDispatcher->dispatch()   JROOT/libraries/src/Component/ComponentHelper.php:355
9   Joomla\CMS\Component\ComponentHelper::renderComponent()   JROOT/libraries/src/Application/AdministratorApplication.php:143
10   Joomla\CMS\Application\AdministratorApplication->dispatch()   JROOT/libraries/src/Application/AdministratorApplication.php:186
11   Joomla\CMS\Application\AdministratorApplication->doExecute()   JROOT/libraries/src/Application/CMSApplication.php:294
12   Joomla\CMS\Application\CMSApplication->execute()   JROOT/administrator/includes/app.php:61
13   require_once()   JROOT/administrator/index.php:32
Title: Re: Coupons doesn't work with php 8.0.23
Post by: Darko F. on October 29, 2022, 21:59:38 PM
I test solution  of WebStuff

On J4 and J3 php 8.0 and working great so far

Thank you   WebStuff
Title: Re: Coupons doesn't work with php 8.0.23
Post by: WebStuff on October 30, 2022, 02:54:00 AM
Quote from: Darko F. on October 29, 2022, 21:59:38 PM
I test solution  of WebStuff

On J4 and J3 php 8.0 and working great so far

Thank you   WebStuff
You're Welcome.

I expect there will be more of these sort of bugs as PHP8 introduced new behaviour for a lot of functions that would silently just cope with null values and assume they were 0 or false or "" and other functions that would cope when an array was expected but got a string.

All these functions used to just cope but apparently this "coping" could introduce other bugs. I fail to see the PHP people's logic in making this decision but they must have one.
Title: Re: Coupons doesn't work with php 8.0.23
Post by: Darko F. on October 30, 2022, 13:19:07 PM
so I find on Jooma 3 and joomla 4
if you restrict coupon  Allowed Product Categories on one category
then you will get error in console when coupon is applayed to a product which is not in allowed category.

Failed to load resource: net::ERR_BLOCKED_BY_CLIENT
/index.php?option=com_virtuemart&view=cart&lang=sl:1          Failed to load resource: the server responded with a status of 500 ()

Also on Joomla 4 when you click on menu which clear cart /shop?clearCart=1

You get


0 Call to undefined method Joomla\Database\Mysqli\MysqliDriver::query()
Call stack
#   Function   Location
1   ()   JROOT/components/com_virtuemart/helpers/coupon.php:187
2   CouponHelper::setInUseCoupon()   JROOT/components/com_virtuemart/helpers/cart.php:1909
3   VirtueMartCart::emptyCartValues()   JROOT/components/com_virtuemart/helpers/cart.php:1890
4   VirtueMartCart->emptyCart()   JROOT/components/com_virtuemart/controllers/category.php:41
5   VirtueMartControllerCategory->__construct()   JROOT/components/com_virtuemart/virtuemart.php:126
6   require_once()   JROOT/libraries/src/Dispatcher/LegacyComponentDispatcher.php:71
7   Joomla\CMS\Dispatcher\LegacyComponentDispatcher::Joomla\CMS\Dispatcher\{closure}()   JROOT/libraries/src/Dispatcher/LegacyComponentDispatcher.php:73
8   Joomla\CMS\Dispatcher\LegacyComponentDispatcher->dispatch()   JROOT/libraries/src/Component/ComponentHelper.php:355
9   Joomla\CMS\Component\ComponentHelper::renderComponent()   JROOT/libraries/src/Application/SiteApplication.php:200
10   Joomla\CMS\Application\SiteApplication->dispatch()   JROOT/libraries/src/Application/SiteApplication.php:241
11   Joomla\CMS\Application\SiteApplication->doExecute()   JROOT/libraries/src/Application/CMSApplication.php:294
12   Joomla\CMS\Application\CMSApplication->execute()   JROOT/includes/app.php:61
13   require_once()   JROOT/index.php:32
Title: Re: Coupons doesn't work with php 8.0.23
Post by: Darko F. on October 30, 2022, 13:39:48 PM
J4
com_virtuemart.4.0.7.10730_package_or_extract.zip

If you visit any menu with  /my-menu?clearCart=1

and you have in your cart a product with coupon redeemed you will get error
0 Call to undefined method Joomla\Database\Mysqli\MysqliDriver::query()
Call stack
#   Function   Location
1   ()   JROOT/components/com_virtuemart/helpers/coupon.php:187


If there is no coupon redeemed to any product
then   /my-menu?clearCart=1  will empty your card as should.
Title: Re: Coupons doesn't work with php 8.0.23
Post by: Milbo on November 09, 2022, 10:55:36 AM
Thank you, yes is fixed, was an overlooked "query()"