MineWeb / MineWebCMS

🚀 A French Minecraft CMS since 2015 (used by +1k websites)
https://mineweb.org
GNU General Public License v3.0
93 stars 41 forks source link

Add if to check if 1 server is link #306

Closed StanByes closed 2 years ago

StanByes commented 2 years ago

J'ai ajouté ça car il envoyait, minimum, 3 fois le même warning, dans le debug.log, à chaque page

nivcoo commented 2 years ago

Dans quelle condition ça envoit ça ?

StanByes commented 2 years ago

Ca envoit ça, si il y a aucun serveur qui est rélié au site, la variable est un array vide et du coup le if ou il check le type envoi un warning dans le debug.log

nivcoo commented 2 years ago

T'es sur de ça ? Car moi j'ai aucun logs si rien est relié

StanByes commented 2 years ago

Je viens de tester sans le if et j'ai enlevé le serveur que j'avais relié et j'ai ça 3 fois dans mon debug : 2021-12-11 16:30:14 Debug: Notice (8): Trying to access array offset on value of type bool in [C:\laragon\www\MineWeb\app\Controller\Component\ServerComponent.php, line 88] Trace: ErrorHandler::handleError() - CORE\Cake\Error\ErrorHandler.php, line 240 ServerComponent::call() - APP\Controller\Component\ServerComponent.php, line 88 ServerComponent::banner_infos() - APP\Controller\Component\ServerComponent.php, line 461 AppController::__initServerInfos() - APP\Controller\AppController.php, line 533 AppController::beforeFilter() - APP\Controller\AppController.php, line 107 CakeEventManager::dispatch() - CORE\Cake\Event\CakeEventManager.php, line 228 Controller::startupProcess() - CORE\Cake\Controller\Controller.php, line 690 Dispatcher::_invoke() - CORE\Cake\Routing\Dispatcher.php, line 244 Dispatcher::dispatch() - CORE\Cake\Routing\Dispatcher.php, line 115 [main] - APP\webroot\index.php, line 114

StanByes commented 2 years ago

Et là je viens de relier de nouveau un serveur, sans le if, je n'ai plus aucune Notice

nivcoo commented 2 years ago

Vérifie juste où est appelé le call car si y'a pas de serveur c'est pas censé l'appeler

nivcoo commented 2 years ago

initServerInfos() - APP\Controller\AppController.php, line 533

nivcoo commented 2 years ago

Je sais, en gros dans la config y'a un banner_server et il arrive pas a le get faut juste vérifier si il existe avant de call le truc

StanByes commented 2 years ago

Je vais try quelque chose

StanByes commented 2 years ago

La variable configuration (ligne 529) renvoi ça : a:0:{} Qu'il y est un serveur de relier ou non

StanByes commented 2 years ago

Mais ma question c'est : pourquoi le banner_server est dans la table Configuration, sachant qu'il n'y a rien pour le modifier dans le Préférences Générales du panel admin ?

nivcoo commented 2 years ago

Mais ma question c'est : pourquoi le banner_server est dans la table Configuration, sachant qu'il n'y a rien pour le modifier dans le Préférences Générales du panel admin ?

Car c'est une config globale pour pas a avoir à refaire une table je pense

StanByes commented 2 years ago

Du coup, je fais comment pour get la différence ?

nivcoo commented 2 years ago

Tu vérifie si le serveur dans banner info existe

StanByes commented 2 years ago

https://github.com/MineWeb/MineWebCMS/pull/306#issuecomment-991705076

StanByes commented 2 years ago

Ok, @nivcoo j'ai fais les modifs ça devrait être bon :)

nivcoo commented 2 years ago

ça casse pas la config actuelle de faire ça ? C'ets à dire si quelqu'un a déjà un serveur dans banner_info avant ça ça donne quoi ? Car un unserialize alors qu'avant ça y été pas

StanByes commented 2 years ago

ça casse pas la config actuelle de faire ça ? C'ets à dire si quelqu'un a déjà un serveur dans banner_info avant ça ça donne quoi ? Car un unserialize alors qu'avant ça y été pas

Ca ne change rien, j'unserialize juste la valeur pour la test dans le empty() car avant il faisant un empty() d'un string. Je ne touche pas à la valeur dans la db ou sa structure, ça reste un array serialisé