Changeset 44217 in spip-zone


Ignore:
Timestamp:
Feb 5, 2011, 11:13:17 PM (9 years ago)
Author:
esj@…
Message:

validerPlugins. Normaliser les URL lors de la production du paquet.dtd, dans le cas où il en peut n'y en avoir qu'une. Reste à faire les cas plus compliqués (la balise auteur surtout).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _outils_/validerPlugins/plugin2paquet.php

    r44188 r44217  
    5151      $res = valider_dir(array($file), 'xml', 'plugins');
    5252      list($n, $length, $erreurs, $nom, $scorie) = $res[0];
    53       if ($n) var_dump($erreurs); else      unlink($file);
     53      unlink($file);
    5454      return $n;
    5555    }
     
    6868      $version_base = $D['version_base'];
    6969      $paquet_att =
     70        plugin2paquet_lien($lien) .
    7071        ($categorie ? "\n\tcategorie='$categorie'" : '') .
    7172        ($compatible ? "\n\tcompatible='$compatible'" : '') .
    7273        ($etat ? "\n\tetat='$etat'" : '') .
    73         ($lien ? "\n\tlien='$lien'" : '') .
    7474        ($logo ? "\n\tlogo='$logo'" : '') .
    7575        ($meta ? "\n\tmeta='$meta'" : '') .
     
    9898{
    9999  return "<$name>" . preg_replace(',</?multi>,', '', $texte) . "</$name>";
     100}
     101
     102// Eliminer les textes superflus dans les liens (raccourcis [XXX->http...])
     103// et normaliser l'esperluete pour eviter l'erreur d'entite indefinie
     104function plugin2paquet_lien($url)
     105{
     106        if (!preg_match(',https?://.*[]]?\s*$,', $url, $r)) return '';
     107        $url = str_replace('&', '&amp;', str_replace('&amp;', '&', $url));
     108        return "\n\tlien='$url'";
    100109}
    101110
     
    157166    $att = " nom='" . $i['id'] . "'" .
    158167      (!empty($i['version']) ? (" version='" . $i['version'] . "'") : '') .
    159       (!empty($i['src']) ? (" lien='" . $i['src'] . "'") : '');
     168      plugin2paquet_lien($i['src']);
    160169    $res .="\n\t<necessite$att />";
    161170  }
     
    169178    $att = " nom='" . $i['id'] . "'" .
    170179      (!empty($i['version']) ? (" version='" . $i['version'] . "'") : '') .
    171       (!empty($i['src']) ? (" lien='" . $i['src'] . "'") : '');
     180      plugin2paquet_lien($i['src']);
    172181    $res .="\n\t<utilise$att />";
    173182  }
    174183  return $res;
    175184}
     185
     186
     187
    176188?>
Note: See TracChangeset for help on using the changeset viewer.