Changeset 44091 in spip-zone


Ignore:
Timestamp:
Feb 2, 2011, 11:16:32 PM (9 years ago)
Author:
esj@…
Message:

[_outils_/validerPlugins validerPlugins]. Permettre d'appliquer le validateur des plugin.xml sur n'importe quel répertoire contenant de tels fichiers, en le donnant en argument au script. Ne pas oublier le / final (cf preg_files). Exemple:

php toutValider.php plugins/Association/

Par ailleurs, on donne un bilan synthétique des erreurs rencontrées lors de l'anayse. Sur les 863 fichiers plugin.xml, une cinquantaine ne sont même pas conformes XML. Les voici:

10 Invalid character

abpforum
css_imbriques
css_petits_ecrans
edition_plein_ecran
forms/forms_et_tables_2_0
horloge_flash
infobox
protection_formulaires
spipBB/dev/2_0_0
spipBB/dev/2_1_0

9 Invalid document end

authentification/openid
fancybox
forum
minibando
skeleditor
spip-bonux-2
testbuilder
tickets
zen-garden

9 Mismatched tag

aa
bolo
devise
html5
metas
previsu_redaction
reperes
spicasa
typo_guillemets

7 > required

Lecteur_multimedia
apropos
hashmask
notation
popup/spipopup
qrcode
visiteurs_connectes

6 EntityRef?: expecting ';'

export_auteurs
mathjax
menu_babbibel/tags/stable
menu_babbibel/trunk
noiZetier
plugin_actualite

1 Attribute without value

plugin-thelia

1 XML declaration not finished

recherche_multicriteres

1 XML_ERR_NAME_REQUIRED

getID3

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _outils_/validerPlugins/toutValider.php

    r44061 r44091  
    2323  $dtd = false;
    2424}
     25$match = $argv[1] ? $argv[1] : 'plugins/';
    2526chdir('../../');
    2627require 'ecrire/inc_version.php';
    2728require 'ecrire/exec/valider_xml.php';
    28 $files = preg_files('plugins',  "plugin.xml");
     29$files = preg_files($match,  '/plugin.xml$');
     30$all = array();
    2931foreach(valider_dir($files, 'xml', 'plugins') as $valid)  {
    3032  list($n, $length, $erreurs, $nom, $scorie) = $valid;
    31   foreach ($erreurs as $k => $v) $erreurs[$k] = str_replace("\n", '', textebrut($v[0]));
     33  foreach ($erreurs as $k => $v) {
     34    $msg = preg_replace('@<br[^>]*>|:|,@', '', $v[0]);
     35    $msg = preg_replace(',\s*[(][^)]*[)],', '', $msg);
     36    $erreurs[$k] = str_replace("\n", '', textebrut($msg));
     37    $msg = preg_replace(',<b>[^>]*</b>,', '', $msg);
     38    @++$all[trim(str_replace("\n", '', textebrut($msg)))];
     39  }
    3240  echo $nom, ': ', $n, " erreur(s), ", join(";", $erreurs), "\n";
    3341}
     42$n = count($files);
     43echo "\n------------ Statistiques des erreurs sur les $n fichiers ---------\n";
     44asort($all);
     45foreach ($all as $k => $v) echo sprintf("%4d %s\n", $v, $k);
    3446if (!$dtd) unlink('prive/plugin.dtd');
    3547?>
Note: See TracChangeset for help on using the changeset viewer.