Aperçu de l'activité dans le dashboard vide [RÉSOLU]



  • Copie d'écran des erreurs de leurs modules et on les balance sur les réseaux sociaux avec le nom des auteurs^^



  • s'pas idiot ;)
    (y'a blockuserinfotop d'ailleurs, il me semble que c'est du presta natif ça - mais à leur décharge, c'est sur addCSS et isLogged que ça coince, pas compatible sûrement avec php7.4)
    À ce propos, il m'a fallut (dans la précipitation, pour corriger quelques erreurs sur mes modules) ajouter #[AllowDynamicProperties] pour certaines de mes classes. Pas glop.
    Capture d’écran 2023-11-29 à 18.00.11.png
    J'ai pas encore terminé l'override de pagenotfound pour ajouter les url referrer aux ips que j'ai préféré prendre pour ban, mais j'ai quelques 404 ajax sur l'admin (ajax;php il me semble)



  • Étonnamment, sans le mode debug j'ai bien une réponse 500 dans le xhr (l'autre capture est en debug) :
    Capture d’écran 2023-11-29 à 18.15.05.png

    [Wed Nov 29 18:14:08.241437 2023] [proxy_fcgi:error] [pid 1585555] [client 192.168.0.254:55546] AH01071: Got error 'PHP message: PHP Warning: PDO::query(): SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ',)\n GROUP BY c.id_connections\n ORDER BY...' at line 17 in /var/www/clients/client1/web4/web/classes/db/DbPDO.php on line 151PHP message: PHP Fatal error: Uncaught Error: Call to a member function rowCount() on bool in /var/www/clients/client1/web4/web/classes/db/DbPDO.php:203\nStack trace:\n#0 /var/www/clients/client1/web4/web/classes/db/Db.php(757): DbPDOCore->_numRows()\n#1 /var/www/clients/client1/web4/web/modules/dashactivity/dashactivity.php(213): DbCore->numRows()\n#2 /var/www/clients/client1/web4/web/classes/Hook.php(681): Dashactivity->hookDashboardData()\n#3 /var/www/clients/client1/web4/web/classes/Hook.php(622): HookCore::coreCallHook()\n#4 /var/www/clients/client1/web4/web/controllers/admin/AdminDashboardController.php(444): HookCore::exec()\n#5 /var/www/clients/client1/web4/web/classes/controller/AdminController.php(1000): AdminDashboardControllerCore->ajaxProcessRefreshDashboard()\n#6 /var/www/clients/client1/web4/web/controllers/admin/AdminDashboardController.php(384): AdminControllerCore->postProcess()\n#7 /var/www/clients/client1/web4/web/classes/controller/Controller.php(201): AdminDashboardControllerCore->po...', referer: URL/adminxxxxxxx/index.php?controller=AdminDashboard&token=6c8860060a7ed2f741de0af9edf0a6c6

    Tiens, une erreur rowCount (celle que j'avais sur le module de notre logisticien, en fait)



  • rajoutez un d($sql); à la ligne 211 et vous aurez la requête dans le retour XHR
    f6a64ff4-1b5a-4990-8da0-041ff4e53aaf-image.png
    Ensuite copiez/collez cette requête dans votre gestionnaire de base de données et dites-moi l'erreur



  • Chez moi ça donne ça:

    SELECT c.id_guest, c.ip_address, c.date_add, c.http_referer, pt.name as page
                        FROM `ps_connections_page` cp
                        INNER JOIN `ps_connections` c 
                            ON(c.id_connections = cp.id_connections)
                        INNER JOIN `ps_page` p 
                            ON(p.id_page = cp.id_page)
                        INNER JOIN `ps_page_type` pt 
                            ON(p.id_page_type = pt.id_page_type)
                        INNER JOIN `ps_guest` g 
                            ON(c.id_guest = g.id_guest)
                        WHERE (g.id_customer IS NULL OR g.id_customer = 0) 
    


  • A mon avis il vous manque une colonne



  • ou alors vous avez des IPV6 dans vos IP de maintenance. Ce pb est en cours de résolution (Prestashop n'a jamais géré les IPV6)
    Pour info, il n'est plus nécessaire de mettre son IP dans cette page, Phenix se basant sur le cookie admin.



  • Capture d’écran 2023-11-30 à 08.18.31.png

    Et oui, j'ai des ipv6 dans les ips de maintenance (que j'ai supprimé du coup, avec toutes les autres ipv4).



  • sans les ipv6 dans la maintenance, c'est ok ? Que donne votre requête SQL ?



  • ça donne la même chose



  • vous avez toujours une erreur 500 ?



  • non, ni en debug ni sans debug



  • Donc ça fonctionne ?



  • Je n'ai plus d'erreur 500, mais dashactivity reste vide.



  • Pas d'erreur js en console ou sur un des autres appels XHR ?



  • Non, rien de rien



  • Vous pouvez m'envoyer un accès à votre BO ?



  • Je crée un employé et je vous fournit ça en (discussion)



  • Petit aparté, peut-être faire une correction pour la prochaine version sur blockuserinfotop (peut-être aussi sur d'autres modules natifs Presta) en remplaçant les Tools::addXXX par $this->context->controller->addXXX, $cookie->isLogged() par $this->context->customer->isLogged() et dans les templates les $cookie->isLogged() par $logged (sinon, en debug ça va faire sale).
    NB : vu qu'on en a parlé dans le fil...



  • En réponse au petit aparté, il n'existe pas de module natif "blockuserinfotop", il y a uniquement "blockuserinfo" et il est déjà écrit correctement :)


Se connecter pour répondre