Erreur lors du changement de statut

  • Posts: 8
  • Thank you received: 2
  • Hikaserial Standard Hikashop Business
2 years 7 months ago #335398

-- url of the page with the problem -- : www.session-recall.com/
-- HikaShop version -- : 4.4.3
-- Joomla version -- : 3.9.28
-- PHP version -- : 7.4.22
-- Browser(s) name and version -- : Firefox 91.0.2
-- Error-message(debug-mod must be tuned on) -- : Function Location
1 () JROOT/libraries/joomla/database/driver/mysqli.php:668
2 JDatabaseDriverMysqli->execute() JROOT/libraries/joomla/database/driver.php:1740
3 JDatabaseDriver->loadResult() JROOT/plugins/hikaserial/srdeviceskeygen/srdeviceskeygen.php:38
4 plgHikaserialSrdeviceskeygen->generate() JROOT/administrator/components/com_hikaserial/classes/order.php:636
5 hikaserialOrderClass->assignPack() JROOT/administrator/components/com_hikaserial/classes/order.php:421
6 hikaserialOrderClass->assignSerials() JROOT/administrator/components/com_hikaserial/classes/order.php:294
7 hikaserialOrderClass->postUpdate() JROOT/plugins/hikashop/serials/serials.php:337
8 plgHikashopSerials->onAfterOrderUpdate() JROOT/libraries/joomla/event/event.php:70
9 JEvent->update() JROOT/libraries/joomla/event/dispatcher.php:160
10 JEventDispatcher->trigger() JROOT/libraries/src/Application/BaseApplication.php:108
11 Joomla\CMS\Application\BaseApplication->triggerEvent() JROOT/administrator/components/com_hikashop/classes/order.php:482
12 hikashopOrderClass->save() JROOT/administrator/components/com_hikashop/controllers/order.php:512
13 OrderController->_save() JROOT/administrator/components/com_hikashop/controllers/order.php:453
14 OrderController->savechangestatus() JROOT/libraries/src/MVC/Controller/BaseController.php:710
15 Joomla\CMS\MVC\Controller\BaseController->execute() JROOT/administrator/components/com_hikashop/helpers/helper.php:2280
16 hikashopController->execute() JROOT/administrator/components/com_hikashop/hikashop.php:75
17 require_once() JROOT/libraries/src/Component/ComponentHelper.php:402
18 Joomla\CMS\Component\ComponentHelper::executeComponent() JROOT/libraries/src/Component/ComponentHelper.php:377
19 Joomla\CMS\Component\ComponentHelper::renderComponent() JROOT/libraries/src/Application/AdministratorApplication.php:101
20 Joomla\CMS\Application\AdministratorApplication->dispatch() JROOT/libraries/src/Application/AdministratorApplication.php:159
21 Joomla\CMS\Application\AdministratorApplication->doExecute() JROOT/libraries/src/Application/CMSApplication.php:203
22 Joomla\CMS\Application\CMSApplication->execute() JROOT/administrator/index.php:51

Bonjour,
depuis quelques jours les serials ne sont plus générés automatiquement quand les commandes sont validées, et je ne reçois pas non plus les emails des commandes.
J'ai essayé de créer moi-mème une commande, et quand je change le statut de "crée" à "confirmée" cela génère des erreurs, dont celle-ci qui n'est pas très explicite :
1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1.
Je vous ai joins le rapport Joomla avec toutes les erreurs.

J'ai lancé "Check Database" et tout à l'air ok.
Quand j'utilise "Refresh Associations" les serials sont bien générés, donc je ne pense pas que mon Generator soit en cause.
J'ai aussi testé plusiers version de php. Ça n'a rien changé.

2 infos peut-être utiles : j'ai changé de template récement (shaper_helixultimate), et j'ai désinstallé AcyMailing.

Please Log in or Create an account to join the conversation.

  • Posts: 81539
  • Thank you received: 13069
  • MODERATOR
2 years 7 months ago #335404

Bonjour,

L'erreur vient d'une requête MySQL exécutée dans le plugin srdeviceskeygen dans le fichier /plugins/hikaserial/srdeviceskeygen/srdeviceskeygen.php ligne 38.
Je ne connais pas ce plugin, donc je suppose que c'est un plugin développé de votre coté qui a un souci.

Please Log in or Create an account to join the conversation.

  • Posts: 8
  • Thank you received: 2
  • Hikaserial Standard Hikashop Business
2 years 7 months ago #335408

Merci beaucoup Nicolas.
Effectivement c'est un générateur de serials personnalisé, et on dirait qu'il a besoin d'une révision.
Je vais regarder ça. ;)

The following user(s) said Thank You: Philip

Please Log in or Create an account to join the conversation.

  • Posts: 8
  • Thank you received: 2
  • Hikaserial Standard Hikashop Business
2 years 7 months ago #335487

Bonsoir,
malheureuseusement je n'ai pas réussi à résoudre le problème.
En fait il semble que ça vienne de la classe $order envoyée en paramètre de la fonction "generate".
J'utilise $order->order_user_id dans ma première requète Sql, et la variable a l'air NULL.

Par contre quand j'édite la commande et que je fais "Refresh associations", ça fonctionne.

Help!

Please Log in or Create an account to join the conversation.

  • Posts: 81539
  • Thank you received: 13069
  • MODERATOR
2 years 7 months ago #335498

Bonjour,

Non, le problème vient bien de votre plugin.
Rien ne guarantie que $order->order_user_id soit présent dans la fonction generate.
Si vous regardez le callstack de l'erreur, vous pouvez voir que cela passe par l'event onAfterOrderUpdate donc la commande est mise à jour, apparement pour un changement de status de commande.
Or, dans ce cas $order ne contient que le order_id, le order_status et "old" (qui est un objet avec les infos de la commande dans la base de données avant le save).
Le mieux c'est d'avoir un code de ce genre dans votre plugin:

if(empty($order->order_user_id)) {
if(!empty($order->old->order_user_id)) {
 $order->order_user_id = $order->old->order_user_id;
} else {
 $class = hikashop_get('class.order');
 $dbOrder = $class->get($order->order_id);
 $order->order_user_id = $dbOrder->order_user_id;
}
}

Please Log in or Create an account to join the conversation.

  • Posts: 8
  • Thank you received: 2
  • Hikaserial Standard Hikashop Business
2 years 7 months ago #335501

Ok, j'ai cru à tort que la classe order était complète.
Merci beaucoup pour la portion de code ! :)

Please Log in or Create an account to join the conversation.

Time to create page: 0.061 seconds
Powered by Kunena Forum