MyBB.support, le portail francophone de MyBB
Page Manager Erreur - Version imprimable

+- MyBB.support, le portail francophone de MyBB (https://mybb.support)
+-- Forum : Plug-ins et modules pour MyBB (https://mybb.support/forum-32.html)
+--- Forum : Support (https://mybb.support/forum-15.html)
+--- Sujet : Page Manager Erreur (/thread-7662.html)



Page Manager Erreur - drakdia - 02-01-2017


VERSION_MyBB : 1.8.9
Bonsoir,

Je viens à l'instant d'installer Page manager, sauf que lorsque je créer une page j'obtient une erreur dans le menu page manager..

[Image: 1483392668-pb1.png]

[Image: 1483392684-pb2.png]

La page fonctionne parfaitement mais je ne peux n'y la modifier, ni la supprimer ou en créer une autre..

La seul solution pour cela est de Désinstaller le plugin et retour à la case départ.

Auriez vous une solution ?

Merci


RE: Page Manager Erreur - exdiogene - 02-01-2017

Ce plugin est pour la version 1.6.x de MyBB, pour la version 1.8.x il faut installer :
https://community.mybb.com/mods.php?action=view&pid=486


RE: Page Manager Erreur - drakdia - 02-01-2017

C'est pourtant celui-la que j'ai installer. Pour en être sur j'ai retiré l'ancien plugin pour mettre celui-ci et j'ai exactement les mêmes erreurs


RE: Page Manager Erreur - exdiogene - 03-01-2017

Pourtant quand j'ai vérifié le plugin 1.5.2, avec le Panneau d'Administration, le lien pointait vers la version 1.6.x sur MyBB.com :
http://mods.mybb.com/view/page-manager

Le problème provient des dernières versions de PHP (la votre est 7.1.0) qui affiche une erreur lorsque nous vérifions le contenu d'un tableau et que l'élément n'existe pas, par exemple :

Code PHP :
if(!isset($cell['extra']['class'])){
...


Cela va causé une erreur si "$cell['extra']" n'existe pas!

Il faudrait changer cela pour :

Code PHP :
if(isset($cell['extra']) && !isset($cell['extra']['class'])){
...




RE: Page Manager Erreur - drakdia - 03-01-2017

Malgré avoir changé cela, il y a toujours le même problème.

J'ai donc remis de base

Code PHP :
    function construct_row($extra = array())
    {
        
$i 1;
        
$cells '';

        
// We construct individual cells here
        
foreach($this->_cells as $key => $cell)
        {
            
$cells .= "\t\t\t<td";
            
            if(!isset(
$cell['extra']['class']))
            {
                
$cell['extra']['class'] = '';
            }

            if(
$key == 0)
            {
                
$cell['extra']['class'] .= " first";
            }
            elseif(!isset(
$this->_cells[$key+1]))
            {
                
$cell['extra']['class'] .= " last";
            }
            if(
$i == 2)
            {
                
$cell['extra']['class'] .= " alt_col";
                
$i 0;
            } 



RE: Page Manager Erreur - exdiogene - 03-01-2017

Il faut vérifier TOUS les éléments d'un tableau pour éviter les messages d'erreur dans tout le code.

Par exemple pour votre code précédent :

Code PHP :
function construct_row($extra = array()){
   $i 1;
   $cells '';

   // We construct individual cells here
   foreach($this->_cells as $key => $cell){
       $cells .= "\t\t\t<td";

       if(isset($cell['extra'])){

           if(!isset($cell['extra']['class']))
           {
               $cell['extra']['class'] = '';
           }

           if($key == 0)
           {
               $cell['extra']['class'] .= " first";
           }
           elseif(!isset($this->_cells[$key+1]))
           {
               $cell['extra']['class'] .= " last";
           }
           if($i == 2)
           {
               $cell['extra']['class'] .= " alt_col";
               $i 0;
           
// ...
// ...
       

Mais il est fort probable qu'une erreur de même type se produise ailleurs dans une autre partie du code et il faudra toutes les corriger ou supprimer l'affichage du message d'erreur.

D'après votre message d'erreur c'est la ligne 325 du plugin "page_manager" qui pose encore problème lors de l'insertion de la nouvelle rangée dans la table :

Code :
$table->construct_row();



RE: Page Manager Erreur - exdiogene - 03-01-2017

Il y a de l'information sur ce problème ici :

https://community.mybb.com/thread-152252.html

Mais il semble que "Page Manager" ne renseigne pas complètement les variables de la table à afficher et c'est cela qui cause le problème avec les nouvelles versions de PHP...


RE: Page Manager Erreur - drakdia - 03-01-2017

Malheureusement je n'y connais pas grand chose, et encore moins en anglais :/


RE: Page Manager Erreur - exdiogene - 03-01-2017

Je vous recommande donc de modifier le code tel que mentionné ici et cela devrait régler le problème :

http://mybb.fr/thread-7662-post-45485.html#pid45485


 Utilitaire de traduction fourni par Regentronique