Changeset 44180 in spip-zone


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

Amélioration de la DTD rétroactive de plugin.xml pour mieux repérer les fichiers vraiment problématiques. Et amélioration de l'affichage des erreurs.

Location:
_outils_/validerPlugins
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _outils_/validerPlugins/plugin.dtd

    r44061 r44180  
    3131<!ENTITY % CATEGORY "(auteur|communication|date|divers|edition|maintenance|multimedia|navigation|outil|performance|squelette|statistique|theme)">
    3232
    33 <!ENTITY % CONTENT "(nom|categorie|auteur|version|version_base|meta|etat|description|prefix|install|options|fonctions|licence|lien|icon|bouton|chemin|lib|necessite|onglet|pipeline|utilise)*" >
     33<!ENTITY % CONTENT "(auteur|install|options|fonctions|licence|lien|bouton|chemin|lib|necessite|onglet|pipeline|utilise)*" >
    3434
    35 <!ELEMENT plugin %CONTENT; >
     35<!-- balise ne devant figurer qu'une seule fois sous la balise plugin -->
     36
     37<!ENTITY % CONTENT1 "(nom|categorie|version|version_base|meta|etat|description|prefix|icon)" >
     38
     39<!-- Ceci garantit PRESQUE que les balises ci-dessus ne sont la qu'une fois -->
     40
     41<!ELEMENT plugin %CONTENT1; %CONTENT1; %CONTENT1; %CONTENT1; %CONTENT1; %CONTENT1; %CONTENT1; %CONTENT1; %CONTENT1; %CONTENT; >
    3642<!ATTLIST plugin
    3743          spip %INTERVAL; #IMPLIED
    3844>
    3945
    40 <!ELEMENT nom (#PCDATA)>
     46<!ELEMENT description (multi|#PCDATA)*>
     47<!ELEMENT nom (multi|#PCDATA)*>
     48<!ELEMENT version_base (#PCDATA)>
    4149<!ELEMENT categorie (#PCDATA)>
    4250<!ELEMENT version (#PCDATA)>
    43 <!ELEMENT version_base (#PCDATA)>
     51<!ELEMENT prefix (#PCDATA)>
    4452<!ELEMENT meta (#PCDATA)>
    4553<!ELEMENT etat (#PCDATA)>
    46 <!ELEMENT inclure (#PCDATA)>
    47 <!ELEMENT licence (#PCDATA)>
    48 <!ELEMENT description (#PCDATA)>
    49 <!ELEMENT prefix (#PCDATA)>
    50 <!ELEMENT install (#PCDATA)>
    51 <!ELEMENT lien (#PCDATA)>
    5254<!ELEMENT icon (#PCDATA)>
    53 <!ELEMENT icone (#PCDATA)>
     55
    5456<!ELEMENT options (#PCDATA)>
    5557<!ELEMENT fonctions (#PCDATA)>
    56 <!ELEMENT action (#PCDATA)>
    57 <!ELEMENT titre (#PCDATA)>
    58 <!ELEMENT args (#PCDATA)>
    59 <!ELEMENT url (#PCDATA)>
    60 <!ELEMENT multi (#PCDATA)>
    61 <!ELEMENT code (#PCDATA)>
    62 <!ELEMENT auteur (#PCDATA)>
     58<!ELEMENT install (#PCDATA)>
     59
     60<!ELEMENT licence (multi|#PCDATA)*>
     61<!ELEMENT lien (multi|#PCDATA)*>
     62
     63<!ELEMENT auteur (multi|#PCDATA)*>
    6364<!ATTLIST auteur mail %MAIL; #IMPLIED>
    6465
     
    8687<!ELEMENT bouton (nom|parent|url|args|icone|titre)*>
    8788
    88 <!ELEMENT onglet nom parent url args? icone? titre>
     89<!ELEMENT onglet (nom|parent|url|args|icone|titre)*>
    8990
     91<!ELEMENT action (#PCDATA)>
     92<!ELEMENT inclure (#PCDATA)>
     93<!ELEMENT parent (#PCDATA)>
     94<!ELEMENT url (#PCDATA)>
     95<!ELEMENT args (#PCDATA)>
     96<!ELEMENT icone (#PCDATA)>
     97<!ELEMENT titre (#PCDATA)>
     98<!ELEMENT multi (#PCDATA)>
  • _outils_/validerPlugins/toutValider.php

    r44105 r44180  
    3131require 'ecrire/exec/valider_xml.php';
    3232$files = preg_files($dir,  '/' . $nom . '$');
     33$nb_files = count($files);
     34if (!$nb_files) {echo "Aucun fichier ne correspond";exit;}
     35$sep = ($nb_files > 1) ? ";" : "\n";
    3336$all = array();
     37$total = $ko = 0;
    3438foreach(valider_dir($files, 'xml', 'plugins') as $valid)  {
    3539  list($n, $length, $erreurs, $nom, $scorie) = $valid;
    3640  foreach ($erreurs as $k => $v) {
    37     $msg = preg_replace('@<br[^>]*>|:|,@', '', $v[0]);
    38 #    $msg = preg_replace(',\s*[(][^)]*[)],', '', $msg);
    39     $erreurs[$k] = $msg;#str_replace("\n", '', textebrut($msg));
    40     $msg = preg_replace(',<b>[^>]*</b>,', '', $msg);
     41    $msg = preg_replace('@<br[^>]*>|:|,@', ' ', $v[0]);
     42    if ($nb_files > 1) $msg = preg_replace(',\s*[(][^)]*[)],', '', $msg);
     43    $erreurs[$k] = trim(str_replace("\n", ' ', textebrut($msg)));
     44    $msg = preg_replace(',<b>[^>]*</b>,', '* ', $msg);
    4145    @++$all[trim(str_replace("\n", '', textebrut($msg)))];
    4246  }
    43   echo $nom, ': ', $n, " erreur(s), ", join(";", $erreurs), "\n";
     47  if ($n) {$total+=$n; $ko++;}
     48  echo $nom, ': ', $n, " erreur(s)", $sep, join($sep, $erreurs), "\n";
    4449}
    45 $n = count($files);
    46 echo "\n------------ Statistiques des erreurs sur les $n fichiers ---------\n";
     50
     51echo "\n---- Statistiques des $total erreurs des $ko fichiers fautifs sur $nb_files ----\n";
    4752asort($all);
    4853foreach ($all as $k => $v) echo sprintf("%4d %s\n", $v, $k);
Note: See TracChangeset for help on using the changeset viewer.