Changeset 75173 in spip-zone


Ignore:
Timestamp:
Aug 31, 2013, 12:44:10 PM (7 years ago)
Author:
patfr@…
Message:

Le modificateur /e de la fonction preg_replace() est maintenant obsolète. A la place, utilisons la fonction preg_replace_callback()

Location:
_plugins_/couteau_suisse
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/couteau_suisse/inc/cs_outils.php

    r75079 r75173  
    3232                if(!isset($outil['nom'])) $outil['nom'] = couteauprive_T($outil['id'].':nom');
    3333                if(strpos($outil['nom'], '<:')!==false)
    34                         $outil['nom'] = preg_replace(',<:([:a-z0-9_-]+):>,ie', '_T("$1")', $outil['nom']);
     34                        $outil['nom'] = preg_replace_callback(',<:([:a-z0-9_-]+):>,i', create_function('$m','return _T($m[1]);'), $outil['nom']);
    3535                // $outil['surcharge'] n'est pas encore renseigne si la fonction d'installation est surchargee
    3636                if(isset($outil['surcharge']) || (function_exists($outil_.'_installe') && $outil['surcharge']=1))
  • _plugins_/couteau_suisse/inc/description_outil.php

    r72718 r75173  
    180180                                create_function('$m','return couteauprive_T($m[1].":description".$m[2]);'), $descrip);
    181181                // chaines de langue personnalisees
    182                 $descrip = preg_replace(',<:([:a-z0-9_-]+):>,ie', '_T("$1")', $descrip);
     182                $descrip = preg_replace_callback(',<:([:a-z0-9_-]+):>,i', create_function('$m','return _T($m[1]);'), $descrip);
    183183        }
    184184        // envoi de la description en pipeline
  • _plugins_/couteau_suisse/outils/glossaire_fonctions.php

    r75079 r75173  
    175175// chaque element du tableau renvoye est array('mot trouve', id_mot, 'lien mot', 'titre mot');
    176176function cs_rempl_glossaire($texte, $liste=false) {
    177         global $gloss_id, $gloss_mots, $gloss_mots_id, $gloss_ech, $gloss_ech_id;
     177        global $gloss_tab1, $gloss_tab2, $gloss_id, $gloss_mots, $gloss_mots_id, $gloss_ech, $gloss_ech_id;
    178178        // si [!glossaire] est trouve on sort
    179179        if(strpos($texte, _CS_SANS_GLOSSAIRE)!==false)
     
    181181        // mise en static de la table des mots pour eviter d'interrroger la base a chaque fois
    182182        // attention aux besoins de memoire...
    183         static $limit, $glossaire_generer_url, $glossaire_generer_mot, $glossaire_array = NULL;
     183        static $limit, $glossaire_generer_url, $glossaire_generer_mot, $glossaire_echappements, $glossaire_array = NULL;
    184184        if(!isset($glossaire_array)) {
    185185                $glossaire_array = glossaire_query_tab();
     
    187187                $limit = defined('_GLOSSAIRE_LIMITE')?_GLOSSAIRE_LIMITE:-1;
    188188                $glossaire_generer_mot = function_exists('glossaire_generer_mot')
    189                         ?'glossaire_generer_mot(\'\\2\', $GLOBALS[\'gloss_mots\'][\\1])':'$GLOBALS[\'gloss_mots\'][\\1]'; // 'glossaire_generer_mot_dist(\'\\2\', $GLOBALS[\'gloss_mots\'][\\1])';
    190                 $glossaire_generer_mot = '"<a $table1[\\2]_".$GLOBALS["gl_i"]++."\' class=\'cs_glossaire\'><span class=\'gl_mot\'>".'.$glossaire_generer_mot.'."</span>$table2[\\2]</a>"';
     189                        ?'glossaire_generer_mot($m[2], $GLOBALS[\'gloss_mots\'][$m[1]])':'$GLOBALS[\'gloss_mots\'][$m[1]]';
     190                $glossaire_generer_mot = 'return "<a ".$GLOBALS["gloss_tab1"][$m[2]]."_".$GLOBALS["gl_i"]++."\' class=\'cs_glossaire\'><span class=\'gl_mot\'>".'.$glossaire_generer_mot.'."</span>".$GLOBALS["gloss_tab2"][$m[2]]."</a>";';
     191                $glossaire_generer_mot = create_function('$m', $glossaire_generer_mot);
     192                $glossaire_echappements = create_function('$m','return $GLOBALS[\'gloss_ech\'][$m[1]];');
    191193        }
    192194        $unicode = false;
     
    198200                $texte = preg_replace_callback(',\[[^][]*->>?[^]]*\],msS', 'glossaire_echappe_balises_callback', $texte);
    199201        // parcours de tous les mots, sauf celui qui peut faire partie du contexte (par ex : /spip.php?mot5)
    200         $mot_contexte=$GLOBALS['contexte']['id_mot']?$GLOBALS['contexte']['id_mot']:_request('id_mot');
     202        $mot_contexte = $GLOBALS['contexte']['id_mot']?$GLOBALS['contexte']['id_mot']:_request('id_mot');
    201203        foreach ($glossaire_array as $mot) if (($gloss_id = $mot['id_mot']) <> $mot_contexte) {
    202204                // parser le mot-cle du glossaire
     
    226228                        if($liste)
    227229                                // on ne renvoie que la liste des mots trouves
    228                                 $table1[$gloss_id] = array($gloss_id, $lien, $les_titres);
     230                                $gloss_tab1[$gloss_id] = array($gloss_id, $lien, $les_titres);
    229231                        else {
    230232                                // l'attribut 'name' en fin de chaine est complete plus tard pour eviter les doublons :
    231                                 $table1[$gloss_id] = (function_exists('glossaire_attributs_lien')
     233                                $gloss_tab1[$gloss_id] = (function_exists('glossaire_attributs_lien')
    232234                                        ?glossaire_attributs_lien($gloss_id, $lien, $titre, explode(_GLOSSAIRE_TITRE_SEP, $les_titres))
    233235                                        :"href='$lien'") . " name='mot$gloss_id";
    234                                 $table2[$gloss_id] = defined('_CS_PRINT')?'':recuperer_fond(
     236                                $gloss_tab2[$gloss_id] = defined('_CS_PRINT')?'':recuperer_fond(
    235237                                        defined('_GLOSSAIRE_JS')?'fonds/glossaire_js':'fonds/glossaire_css',
    236238                                        array('id_mot' => $gloss_id, 'titre' => $les_titres,
     
    243245        if($liste) $texte = (preg_match_all(',@@M(\d+)#(\d+)@@,', $texte, $reg, PREG_SET_ORDER)
    244246                        && array_walk($reg,
    245                 create_function('&$v,$k,&$t1', '$v=array_merge(array($GLOBALS[\'gloss_mots\'][$v[1]]),$t1[$v[2]]);'), $table1)
     247                create_function('&$v,$k', '$v=array_merge(array($GLOBALS[\'gloss_mots\'][$v[1]]),$GLOBALS[\'gloss_tab1\'][$v[2]]);'))
    246248                )?$reg:array();
    247249        else {
    248250                // remplacement des echappements
    249                 $texte = preg_replace(',@@E(\d+)@@,e', '$GLOBALS[\'gloss_ech\'][\\1]', $texte);
     251                $texte = preg_replace_callback(',@@E(\d+)@@,', $glossaire_echappements, $texte);
    250252                // remplacement final des balises posees ci-dessus
    251                 $texte = preg_replace(',@@M(\d+)#(\d+)@@,e', $glossaire_generer_mot, $texte);
     253                $texte = preg_replace_callback(',@@M(\d+)#(\d+)@@,', $glossaire_generer_mot, $texte);
    252254        }
    253255        // nettoyage
    254         unset($gloss_id, $gloss_mots, $gloss_mots_id, $gloss_ech, $gloss_ech_id);
     256        unset($gloss_tab1, $gloss_tab2, $gloss_id, $gloss_mots, $gloss_mots_id, $gloss_ech, $gloss_ech_id);
    255257        // ordre correct des balises en cas d'acronyme ou d'abreviation
    256258        if(strpos($texte, '</span></a></a')!==false)
  • _plugins_/couteau_suisse/paquet.xml

    r75113 r75173  
    22        prefix="couteau_suisse"
    33        categorie="maintenance"
    4         version="1.8.138"
     4        version="1.8.139"
    55        etat="stable"
    66        compatibilite="[1.9.2;3.0.99]"
  • _plugins_/couteau_suisse/plugin.xml

    r75113 r75173  
    33        <slogan>... ou plus de fonctionnalit&#233;s pour SPIP !</slogan>
    44        <icon>img/couteau-50.gif</icon>
    5         <version>1.8.138</version>
     5        <version>1.8.139</version>
    66        <version_base>1.11</version_base>
    77        <auteur>Patrice Vanneufville
Note: See TracChangeset for help on using the changeset viewer.