[SPIP Zone] [Spip-zone-commit] r83106 - _plugins_/crayons

C’est parce qu’il s’agit d’une fonction obsolète !
cf. ecrire//inc/vieilles_defs.php

Oui je sais.

Mais comme ce plugin est compatible avec SPIP depuis la version 1.9.x, je
ne vais pas casser la compat.
Le jour où on décide de le garder compatible avec la dernière branche
stable uniquement, on enlèvera tout ça :wink:

Le 17 juin 2014 13:35, Fil <fil@rezo.net> a écrit :

C'est parce qu'il s'agit d'une fonction obsolète !
cf. ecrire//inc/vieilles_defs.php

-- Fil

2014-06-17 12:55 GMT+02:00 <teddy.spip@gmail.com>:

Author: teddy.spip@gmail.com

Date: 2014-06-17 12:55:08 +0200 (Tue, 17 Jun 2014)
New Revision: 83106

Modified:
   _plugins_/crayons/crayons_fonctions.php
   _plugins_/crayons/paquet.xml
   _plugins_/crayons/plugin.xml
Log:
La fonction trouver_def_table() crée une fatal error en SPIP 3.0.16...
(champs extras sur la table articles.) Je ne vois pas encore d'où vient le
soucis mais avec cette fonction, on a une sécurité.
Cette modification ne devrait rien casser, on évite juste une fatal
error...
Up de z.

Details: http://zone.spip.org/trac/spip-zone/changeset/83106

_______________________________________________
Spip-zone-commit@rezo.net -
http://listes.rezo.net/mailman/listinfo/spip-zone-commit

Oui mais là tu planques la poussière sous le tapis sans chercher à comprendre, car dans SPIP 3 on ne doit JAMAIS passer dans ce if : le compilateur peuple automatiquement $p->boucles[$i_boucle]->primary

Donc la question c'est dans quel cas/quelle boucle/quelle appel de #EDIT est provoquée l'erreur fatale ? Peux tu isoler la ligne de squelette qui provoque ça ? Pour t'aider tu peux ajouter

    if(!($primary = $p->boucles[$i_boucle]->primary)){
                  include_spip('inc/vieilles_defs'); # 1.9.2 pour trouver_def_table
                  if (function_exists('trouver_def_table')) {
                          list($nom, $desc) = trouver_def_table(
                                  $p->boucles[$i_boucle]->type_requete, $p->boucles[$i_boucle]);
                          $primary = $desc['key']['PRIMARY KEY'];
                  }
          }
+ if (!$primary) {
+ erreur_squelette("pas de cle primaire !", $p);
+ }

pour générer une erreur propre de compilation avec référence à l'appel et au squelette concerné

--
Cédric

Ybbet Spip a écrit :

Oui je sais.
Mais comme ce plugin est compatible avec SPIP depuis la version 1.9.x,
je ne vais pas casser la compat.
Le jour où on décide de le garder compatible avec la dernière branche
stable uniquement, on enlèvera tout ça :wink:

Le 17 juin 2014 13:35, Fil <fil@rezo.net <mailto:fil@rezo.net>> a écrit :

    C'est parce qu'il s'agit d'une fonction obsolète !
    cf. ecrire//inc/vieilles_defs.php

    -- Fil

    2014-06-17 12:55 GMT+02:00 <teddy.spip@gmail.com
    <mailto:teddy.spip@gmail.com>>:

        Author: teddy.spip@gmail.com <mailto:teddy.spip@gmail.com>
        Date: 2014-06-17 12:55:08 +0200 (Tue, 17 Jun 2014)
        New Revision: 83106

        Modified:
            _plugins_/crayons/crayons_fonctions.php
            _plugins_/crayons/paquet.xml
            _plugins_/crayons/plugin.xml
        Log:
        La fonction trouver_def_table() crée une fatal error en SPIP
        3.0.16... (champs extras sur la table articles.) Je ne vois pas
        encore d'où vient le soucis mais avec cette fonction, on a une
        sécurité.
        Cette modification ne devrait rien casser, on évite juste une
        fatal error...
        Up de z.

        Details: http://zone.spip.org/trac/spip-zone/changeset/83106

        _______________________________________________
        Spip-zone-commit@rezo.net <mailto:Spip-zone-commit@rezo.net> -
        http://listes.rezo.net/mailman/listinfo/spip-zone-commit

----
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

Oui, en effet, c'est un peu mettre la poussière sous le tapis.

J'ai testé avec ton code. Et l'erreur vient de l'utilisation de #EDIT{monchamp} dans une boucle CONDITION.

Le 18 juin 2014 à 10:02, Cédric Morin <cedric@yterium.com> a écrit :

Oui mais là tu planques la poussière sous le tapis sans chercher à comprendre, car dans SPIP 3 on ne doit JAMAIS passer dans ce if : le compilateur peuple automatiquement $p->boucles[$i_boucle]->primary

Donc la question c'est dans quel cas/quelle boucle/quelle appel de #EDIT est provoquée l'erreur fatale ? Peux tu isoler la ligne de squelette qui provoque ça ? Pour t'aider tu peux ajouter

    if(!($primary = $p->boucles[$i_boucle]->primary)){
                  include_spip('inc/vieilles_defs'); # 1.9.2 pour trouver_def_table
                  if (function_exists('trouver_def_table')) {
                          list($nom, $desc) = trouver_def_table(
                                  $p->boucles[$i_boucle]->type_requete, $p->boucles[$i_boucle]);
                          $primary = $desc['key']['PRIMARY KEY'];
                  }
          }
+ if (!$primary) {
+ erreur_squelette("pas de cle primaire !", $p);
+ }

pour générer une erreur propre de compilation avec référence à l'appel et au squelette concerné

--
Cédric

Ybbet Spip a écrit :

Oui je sais.
Mais comme ce plugin est compatible avec SPIP depuis la version 1.9.x,
je ne vais pas casser la compat.
Le jour où on décide de le garder compatible avec la dernière branche
stable uniquement, on enlèvera tout ça :wink:

Le 17 juin 2014 13:35, Fil <fil@rezo.net <mailto:fil@rezo.net>> a écrit :

   C'est parce qu'il s'agit d'une fonction obsolète !
   cf. ecrire//inc/vieilles_defs.php

   -- Fil

   2014-06-17 12:55 GMT+02:00 <teddy.spip@gmail.com
   <mailto:teddy.spip@gmail.com>>:

       Author: teddy.spip@gmail.com <mailto:teddy.spip@gmail.com>
       Date: 2014-06-17 12:55:08 +0200 (Tue, 17 Jun 2014)
       New Revision: 83106

       Modified:
           _plugins_/crayons/crayons_fonctions.php
           _plugins_/crayons/paquet.xml
           _plugins_/crayons/plugin.xml
       Log:
       La fonction trouver_def_table() crée une fatal error en SPIP
       3.0.16... (champs extras sur la table articles.) Je ne vois pas
       encore d'où vient le soucis mais avec cette fonction, on a une
       sécurité.
       Cette modification ne devrait rien casser, on évite juste une
       fatal error...
       Up de z.

       Details: Connexion · GitLab

       _______________________________________________
       Spip-zone-commit@rezo.net <mailto:Spip-zone-commit@rezo.net> -
       http://listes.rezo.net/mailman/listinfo/spip-zone-commit

----
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

AH tu vois ça cachait un vrai bug dans ton squelette, car cette balise #EDIT ne marchait pas, il faut faire une référence explicite
#_nomdelaboucleaudessus:EDIT{monchamp}

--
Cédric

Ybbet SPIP a écrit :

Oui, en effet, c'est un peu mettre la poussière sous le tapis.

J'ai testé avec ton code. Et l'erreur vient de l'utilisation de #EDIT{monchamp} dans une boucle CONDITION.

Le 18 juin 2014 à 10:02, Cédric Morin<cedric@yterium.com> a écrit :

Oui mais là tu planques la poussière sous le tapis sans chercher à comprendre, car dans SPIP 3 on ne doit JAMAIS passer dans ce if : le compilateur peuple automatiquement $p->boucles[$i_boucle]->primary

Donc la question c'est dans quel cas/quelle boucle/quelle appel de #EDIT est provoquée l'erreur fatale ? Peux tu isoler la ligne de squelette qui provoque ça ? Pour t'aider tu peux ajouter

    if(!($primary = $p->boucles[$i_boucle]->primary)){
                  include_spip('inc/vieilles_defs'); # 1.9.2 pour trouver_def_table
                  if (function_exists('trouver_def_table')) {
                          list($nom, $desc) = trouver_def_table(
                                  $p->boucles[$i_boucle]->type_requete, $p->boucles[$i_boucle]);
                          $primary = $desc['key']['PRIMARY KEY'];
                  }
          }
+ if (!$primary) {
+ erreur_squelette("pas de cle primaire !", $p);
+ }

pour générer une erreur propre de compilation avec référence à l'appel et au squelette concerné

--
Cédric

Ybbet Spip a écrit :

Oui je sais.
Mais comme ce plugin est compatible avec SPIP depuis la version 1.9.x,
je ne vais pas casser la compat.
Le jour où on décide de le garder compatible avec la dernière branche
stable uniquement, on enlèvera tout ça :wink:

Le 17 juin 2014 13:35, Fil<fil@rezo.net<mailto:fil@rezo.net>> a écrit :

    C'est parce qu'il s'agit d'une fonction obsolète !
    cf. ecrire//inc/vieilles_defs.php

    -- Fil

    2014-06-17 12:55 GMT+02:00<teddy.spip@gmail.com
    <mailto:teddy.spip@gmail.com>>:

        Author: teddy.spip@gmail.com<mailto:teddy.spip@gmail.com>
        Date: 2014-06-17 12:55:08 +0200 (Tue, 17 Jun 2014)
        New Revision: 83106

        Modified:
            _plugins_/crayons/crayons_fonctions.php
            _plugins_/crayons/paquet.xml
            _plugins_/crayons/plugin.xml
        Log:
        La fonction trouver_def_table() crée une fatal error en SPIP
        3.0.16... (champs extras sur la table articles.) Je ne vois pas
        encore d'où vient le soucis mais avec cette fonction, on a une
        sécurité.
        Cette modification ne devrait rien casser, on évite juste une
        fatal error...
        Up de z.

        Details: Connexion · GitLab

        _______________________________________________
        Spip-zone-commit@rezo.net<mailto:Spip-zone-commit@rezo.net> -
        http://listes.rezo.net/mailman/listinfo/spip-zone-commit

----
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

Yep merci!

Est ce qu'il ne faudrait pas justement rajouter ton code dans le plugin crayons pour avoir une info plus complète?
C'est un cas très particulier et on ne va pas toujours sans rappeler. Avec ton code, on aura l'info en continue.

----------
Ybbet

Le 18 juin 2014 à 10:54, Cédric Morin <cedric@yterium.com> a écrit :

AH tu vois ça cachait un vrai bug dans ton squelette, car cette balise #EDIT ne marchait pas, il faut faire une référence explicite
#_nomdelaboucleaudessus:EDIT{monchamp}

--
Cédric

Ybbet SPIP a écrit :

Oui, en effet, c'est un peu mettre la poussière sous le tapis.

J'ai testé avec ton code. Et l'erreur vient de l'utilisation de #EDIT{monchamp} dans une boucle CONDITION.

Le 18 juin 2014 à 10:02, Cédric Morin<cedric@yterium.com> a écrit :

Oui mais là tu planques la poussière sous le tapis sans chercher à comprendre, car dans SPIP 3 on ne doit JAMAIS passer dans ce if : le compilateur peuple automatiquement $p->boucles[$i_boucle]->primary

Donc la question c'est dans quel cas/quelle boucle/quelle appel de #EDIT est provoquée l'erreur fatale ? Peux tu isoler la ligne de squelette qui provoque ça ? Pour t'aider tu peux ajouter

       if(!($primary = $p->boucles[$i_boucle]->primary)){
                   include_spip('inc/vieilles_defs'); # 1.9.2 pour trouver_def_table
                   if (function_exists('trouver_def_table')) {
                           list($nom, $desc) = trouver_def_table(
                                   $p->boucles[$i_boucle]->type_requete, $p->boucles[$i_boucle]);
                           $primary = $desc['key']['PRIMARY KEY'];
                   }
           }
+ if (!$primary) {
+ erreur_squelette("pas de cle primaire !", $p);
+ }

pour générer une erreur propre de compilation avec référence à l'appel et au squelette concerné

--
Cédric

Ybbet Spip a écrit :

Oui je sais.
Mais comme ce plugin est compatible avec SPIP depuis la version 1.9.x,
je ne vais pas casser la compat.
Le jour où on décide de le garder compatible avec la dernière branche
stable uniquement, on enlèvera tout ça :wink:

Le 17 juin 2014 13:35, Fil<fil@rezo.net<mailto:fil@rezo.net>> a écrit :

   C'est parce qu'il s'agit d'une fonction obsolète !
   cf. ecrire//inc/vieilles_defs.php

   -- Fil

   2014-06-17 12:55 GMT+02:00<teddy.spip@gmail.com
   <mailto:teddy.spip@gmail.com>>:

       Author: teddy.spip@gmail.com<mailto:teddy.spip@gmail.com>
       Date: 2014-06-17 12:55:08 +0200 (Tue, 17 Jun 2014)
       New Revision: 83106

       Modified:
           _plugins_/crayons/crayons_fonctions.php
           _plugins_/crayons/paquet.xml
           _plugins_/crayons/plugin.xml
       Log:
       La fonction trouver_def_table() crée une fatal error en SPIP
       3.0.16... (champs extras sur la table articles.) Je ne vois pas
       encore d'où vient le soucis mais avec cette fonction, on a une
       sécurité.
       Cette modification ne devrait rien casser, on évite juste une
       fatal error...
       Up de z.

       Details: http://zone.spip.org/trac/spip-zone/changeset/83106

       _______________________________________________
       Spip-zone-commit@rezo.net<mailto:Spip-zone-commit@rezo.net> -
       http://listes.rezo.net/mailman/listinfo/spip-zone-commit

----
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

Oui tu peux le rajouter, ça sera utile dans ce genre de cas.

--
Cédric

Ybbet SPIP a écrit :

Yep merci!

Est ce qu'il ne faudrait pas justement rajouter ton code dans le plugin crayons pour avoir une info plus complète?
C'est un cas très particulier et on ne va pas toujours sans rappeler. Avec ton code, on aura l'info en continue.

----------
Ybbet

Le 18 juin 2014 à 10:54, Cédric Morin<cedric@yterium.com> a écrit :

AH tu vois ça cachait un vrai bug dans ton squelette, car cette balise #EDIT ne marchait pas, il faut faire une référence explicite
#_nomdelaboucleaudessus:EDIT{monchamp}

--
Cédric

Ybbet SPIP a écrit :

Oui, en effet, c'est un peu mettre la poussière sous le tapis.

J'ai testé avec ton code. Et l'erreur vient de l'utilisation de #EDIT{monchamp} dans une boucle CONDITION.

Le 18 juin 2014 à 10:02, Cédric Morin<cedric@yterium.com> a écrit :

Oui mais là tu planques la poussière sous le tapis sans chercher à comprendre, car dans SPIP 3 on ne doit JAMAIS passer dans ce if : le compilateur peuple automatiquement $p->boucles[$i_boucle]->primary

Donc la question c'est dans quel cas/quelle boucle/quelle appel de #EDIT est provoquée l'erreur fatale ? Peux tu isoler la ligne de squelette qui provoque ça ? Pour t'aider tu peux ajouter

        if(!($primary = $p->boucles[$i_boucle]->primary)){
                    include_spip('inc/vieilles_defs'); # 1.9.2 pour trouver_def_table
                    if (function_exists('trouver_def_table')) {
                            list($nom, $desc) = trouver_def_table(
                                    $p->boucles[$i_boucle]->type_requete, $p->boucles[$i_boucle]);
                            $primary = $desc['key']['PRIMARY KEY'];
                    }
            }
+ if (!$primary) {
+ erreur_squelette("pas de cle primaire !", $p);
+ }

pour générer une erreur propre de compilation avec référence à l'appel et au squelette concerné

--
Cédric

Ybbet Spip a écrit :

Oui je sais.
Mais comme ce plugin est compatible avec SPIP depuis la version 1.9.x,
je ne vais pas casser la compat.
Le jour où on décide de le garder compatible avec la dernière branche
stable uniquement, on enlèvera tout ça :wink:

Le 17 juin 2014 13:35, Fil<fil@rezo.net<mailto:fil@rezo.net>> a écrit :

    C'est parce qu'il s'agit d'une fonction obsolète !
    cf. ecrire//inc/vieilles_defs.php

    -- Fil

    2014-06-17 12:55 GMT+02:00<teddy.spip@gmail.com
    <mailto:teddy.spip@gmail.com>>:

        Author: teddy.spip@gmail.com<mailto:teddy.spip@gmail.com>
        Date: 2014-06-17 12:55:08 +0200 (Tue, 17 Jun 2014)
        New Revision: 83106

        Modified:
            _plugins_/crayons/crayons_fonctions.php
            _plugins_/crayons/paquet.xml
            _plugins_/crayons/plugin.xml
        Log:
        La fonction trouver_def_table() crée une fatal error en SPIP
        3.0.16... (champs extras sur la table articles.) Je ne vois pas
        encore d'où vient le soucis mais avec cette fonction, on a une
        sécurité.
        Cette modification ne devrait rien casser, on évite juste une
        fatal error...
        Up de z.

        Details: http://zone.spip.org/trac/spip-zone/changeset/83106

        _______________________________________________
        Spip-zone-commit@rezo.net<mailto:Spip-zone-commit@rezo.net> -
        http://listes.rezo.net/mailman/listinfo/spip-zone-commit

----
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone