[spip-dev] filtres de logo obsoletes

Hello,

Dans ecrire/public/normaliser j'ai enrichi les spip_log
qui déclaraient un très sobre "filtre de logo obsolete"
afin qu'ils précisent les modernisations à appliquer.

ça n'indique pas le nom du fichier squelette et la ligne (ce serait bien !)
mais ça indique maintenant par exemple :
"filtre de logo obsolete - utilisez #LOGO{left} à la place de |left"
ou "filtre de logo obsolete : utilisez #LOGO{#URL_ARTICLE} à la place de |#URL_ARTICLE"

ce qui facilite bien la modernisation des squelettes.

Voici le nouveau code issu d'une version 2.1.2 : seules les lignes avec spip_log sont modifiées.

Si c'est valide, cela pourrait être reporté ?

JLuc

function phraser_vieux_logos($p)
{
  if ($p->param[0][0])
    $args = array('');
  else {
    $args = array_shift($p->param);
  }

  foreach($p->param as $couple) {
    $nom = trim($couple[0]);
    if ($nom == '') {array_shift($p->param); break;}
    $r = phraser_logo_faux_filtres($nom);
    if ($r === 0) {
      $c = new Texte;
      $c->texte = $nom;
      $args[] = array($c);
      array_shift($p->param);
      spip_log("filtre de logo obsolete - utilisez #LOGO{$nom} à la place de |$nom", 'vieilles_defs');
    } elseif ($r === 2) {
        $p->etoile = '**';
        array_shift($p->param);
        spip_log("filtre de logo obsolete - utilisez ** à la place de |fichier", 'vieilles_defs');
    } elseif ($r === 1) {
        array_shift($p->param);
        $p->etoile = '*';
        spip_log("filtre de logo obsolete - utilisez * à la place de |lien", 'vieilles_defs');
    } elseif (preg_match("/^".NOM_DE_CHAMP.'(.*)$/sS', $nom, $m)) {
        $champ = new Champ();
        $champ->nom_boucle = $m[2];
        $champ->nom_champ = $m[3];
        $champ->etoile = $m[5];
        $champ = array($champ);
        if ($m[6]) {
          $r = new Texte;
          $r->texte = $m[6];
          $champ[]= $r;
        }
        $args[]= $champ;
        array_shift($p->param);
        spip_log('filtre de logo obsolete - utilisez #LOGO{$nom} à la place de |'.$nom, 'vieilles_defs');
    } // le cas else est la seule incompatibilite

  }
  array_unshift($p->param, $args);
}