Changeset 65543 in spip-zone


Ignore:
Timestamp:
Sep 5, 2012, 7:33:26 AM (7 years ago)
Author:
marcimat@…
Message:

Notices PHP sur #SET_PUSH et #SET_MERGE lors de l'utilisation de Formidable.

  • corrections d'indéfinis et de array to string conversion
Location:
_plugins_/spip-bonux-3
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/spip-bonux-3/paquet.xml

    r61664 r65543  
    22        prefix="spip_bonux"
    33        categorie="outil"
    4         version="3.0.2"
     4        version="3.0.3"
    55        etat="stable"
    66        compatibilite="[3.0.0-dev;3.1.*]"
  • _plugins_/spip-bonux-3/public/spip_bonux_balises.php

    r52871 r65543  
    1414 * #SET_PUSH{tableau,valeur}
    1515 *
    16  * @param object $p : objet balise
    17  * @return ""
     16 * @param Champ $p : objet balise
     17 * @return Champ
     18 *     La balise ne retourne rien ("")
    1819**/
    1920function balise_SET_PUSH_dist($p){
     
    2526                // on ajoute la valeur ensuite (sans passer par array_push)
    2627                $p->code = "vide((\$cle=$_nom)
    27                         . (is_array(\$Pile['vars'][\$cle])?'':\$Pile['vars'][\$cle]=array())
    28                         . (\$Pile['vars'][\$cle][]=$_valeur))";
     28                        . vide((!isset(\$Pile['vars'][\$cle]) OR !is_array(\$Pile['vars'][\$cle]))?\$Pile['vars'][\$cle]=array():'')
     29                        . vide(\$Pile['vars'][\$cle][]=$_valeur))";
    2930        else
    3031                $p->code = "''";
     
    4344 * #SET_MERGE{nom_tableau,#GET{tableau}}
    4445 *
    45  * @param object $p : objet balise
    46  * @return ""
     46 * @param Champ $p : objet balise
     47 * @return Champ
     48 *     La balise ne retourne rien ("")
    4749**/
    4850function balise_SET_MERGE_dist($p){
     
    5557                // si le tableau n'existe pas encore, on le cree
    5658                $p->code = "vide((\$cle=$_nom)
    57                         . (is_array(\$Pile['vars'][\$cle])?'':\$Pile['vars'][\$cle]=array())
    58                         . (is_array(\$new=$_t1)?'':\$new=array(\$new))
    59                         . (\$Pile['vars'][\$cle] = array_merge(\$Pile['vars'][\$cle],\$new)))";
     59                        . vide((!isset(\$Pile['vars'][\$cle]) OR !is_array(\$Pile['vars'][\$cle]))?\$Pile['vars'][\$cle]=array():'')
     60                        . vide(is_array(\$new=$_t1)?'':\$new=array(\$new))
     61                        . vide(\$Pile['vars'][\$cle] = array_merge(\$Pile['vars'][\$cle],\$new)))";
    6062        elseif ($_nom AND $_t1 AND $_t2)
    6163                // 3 arguments : merge de $_t1 et $_t2 dans $_nom
    6264                // si le tableau n'existe pas encore, on le cree
    6365                $p->code = "vide((\$cle=$_nom)
    64                         . (is_array(\$Pile['vars'][\$cle])?'':\$Pile['vars'][\$cle]=array())
    65                         . (is_array(\$new1=$_t1)?'':\$new1=array(\$new1))
    66                         . (is_array(\$new2=$_t2)?'':\$new2=array(\$new2))
    67                         . (\$Pile['vars'][\$cle] = array_merge(\$new1,\$new2)))";
     66                        . vide((!isset(\$Pile['vars'][\$cle]) OR !is_array(\$Pile['vars'][\$cle]))?\$Pile['vars'][\$cle]=array():'')
     67                        . vide(is_array(\$new1=$_t1)?'':\$new1=array(\$new1))
     68                        . vide(is_array(\$new2=$_t2)?'':\$new2=array(\$new2))
     69                        . vide(\$Pile['vars'][\$cle] = array_merge(\$new1,\$new2)))";
    6870        else
    6971                $p->code = "''";
     
    7678 * Balise #COMPTEUR associee au critere compteur
    7779 *
    78  * @param unknown_type $p
    79  * @return unknown
     80 * @param Champ $p
     81 * @return Champ
    8082 */
    8183function balise_COMPTEUR_dist($p) {
Note: See TracChangeset for help on using the changeset viewer.