Changeset 44234 in spip-zone


Ignore:
Timestamp:
Feb 6, 2011, 2:38:13 PM (9 years ago)
Author:
esj@…
Message:

validerPlugins. Déport du texte figurant dans la balise "description" du fichier plugin.xml vers un fichier de langue, afin que celui-ci soit traduit par les traducteurs, et puisse utiliser des balises HTML sans perturber la validation XML du fichier paquet.dtd qui a ses propres balises, dont le but n'est pas typographique. Le fichier de langue créé est conforme aux spécifications suivantes, mais est encore réduit à la seule balise "description". Cet outil fait désormais appel au plugin admin_lang.

Location:
_outils_/validerPlugins
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _outils_/validerPlugins/paquet.dtd

    r44188 r44234  
    3333<!ENTITY % CONTENT "(bouton|chemin|copyright|necessite|lib|necessite|onglet|pipeline|utilise)*" >
    3434
    35 <!ELEMENT paquet (nom slogan licence? auteur* description %CONTENT; spip*) >
     35<!ELEMENT paquet (nom licence? auteur* %CONTENT; spip*) >
    3636<!ATTLIST paquet
    3737          categorie %CATEGORY; #IMPLIED
     
    110110          icone %PATH; #IMPLIED
    111111>
     112
  • _outils_/validerPlugins/plugin2paquet.php

    r44217 r44234  
    99 *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
    1010\***************************************************************************/
    11 error_reporting(E_ALL);
     11
     12if (!defined('_ECRIRE_INC_VERSION')) return;
     13
    1214function valider_all($files)
    1315{
     
    4850    $file = '/tmp/' . basename($dir) . '_paquet.dtd';
    4951    if ($infos) {
    50       ecrire_fichier($file, plugin2paquet1($infos));
     52      ecrire_fichier($file, plugin2paquet1($infos, $dir));
    5153      $res = valider_dir(array($file), 'xml', 'plugins');
    5254      list($n, $length, $erreurs, $nom, $scorie) = $res[0];
     
    5658}
    5759
    58 function plugin2paquet1($D)
     60function plugin2paquet1($D, $dir)
    5961{
    6062      $categorie = $D['categorie'];
     
    7981
    8082      $nom = plugin2paquet_texte('nom', $D['nom']);
    81       $slogan = plugin2paquet_texte('slogan', $D['description']);
    8283      $licence = plugin2paquet_texte('licence', $D['licence']);
    83       $description = plugin2paquet_texte('description', $D['description']);
    8484      $auteur = plugin2paquet_texte('auteur', $D['auteur']);
    8585
     
    9191      $onglet = is_array($D['onglet']) ? plugin2paquet_onglet($D['onglet']) :'';
    9292
    93       return "<paquet$paquet_att\n>$nom$slogan$licence$auteur$description$chemin$pipeline$necessite$utilise$bouton$onglet\n</paquet>\n";
     93      plugin2paquet_description($D['description'], $prefix, $dir);
     94
     95      return "<paquet$paquet_att\n>$nom$licence$auteur$chemin$pipeline$necessite$utilise$bouton$onglet\n</paquet>\n";
    9496}
    9597
     
    184186}
    185187
    186 
    187 
     188function plugin2paquet_description($description, $plug, $dir)
     189{
     190  if (preg_match_all(_EXTRAIRE_MULTI, $description, $regs, PREG_SET_ORDER))
     191    // on suppose qu'il n'y a qu'un (a verifier)
     192    foreach ($regs as $reg) {
     193      $trads = extraire_trads($reg[1]);
     194    }
     195  else $trads = array('fr' => $description);
     196  foreach ($trads as $lang => $texte) {
     197    $module = strtolower($plug) . "-description";
     198    if (!enregister_fichier_lang($dir . '/lang/', $lang, $module,
     199                            array('description' => htmlentities($texte)),
     200                                 "// Fichier produit par plugin2paquet"))
     201      echo "Echec en creant le module de langue $module";
     202  }
     203}
    188204?>
  • _outils_/validerPlugins/toutValider.php

    r44188 r44234  
    3636chdir('../../');
    3737require 'ecrire/inc_version.php';
     38require 'ecrire/inc/filtres.php'; // pour _EXTRAIRE_MULTI et extraire_trads
     39require 'plugins/admin_lang_2_0/inc/enregistrer_fichier_lang.php';
    3840require 'ecrire/exec/valider_xml.php';
    3941$files = preg_files($dir,  '/' . $nom . '$');
Note: See TracChangeset for help on using the changeset viewer.