Changeset 44251 in spip-zone


Ignore:
Timestamp:
Feb 6, 2011, 9:41:15 PM (9 years ago)
Author:
esj@…
Message:

validerPlugins. Amélioration de r44234: on construit automatiquement le slogan comme étant la première phrase de la description (heuristique reprise de SVP, et on créée le répertoire lang/ s'il n'existait pas.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _outils_/validerPlugins/plugin2paquet.php

    r44234 r44251  
    3131      $ko++;
    3232      echo $nom, ': ', $n, " erreur(s)", $sep, join($sep, $erreurs), "\n";
    33     } elseif (basename($nom) == 'plugin.xml' AND $n = plugin2paquet($nom))
    34         echo $nom, " orignal correct, $n erreur en nouveau format.\n";
    35     else echo "$nom correct.\n";
     33    } elseif (basename($nom) == 'plugin.xml' AND $e = plugin2paquet($nom)) {
     34        echo $nom, " orignal correct; erreurs en nouveau format:", count($e), "\n";
     35        if ($nb_files ==1) echo join("\n", array_map('array_shift', $e));
     36    }  else echo "$nom correct.\n";
    3637  }
    3738  if ($all) {
     
    5455      list($n, $length, $erreurs, $nom, $scorie) = $res[0];
    5556      unlink($file);
    56       return $n;
     57      return $erreurs;
    5758    }
    5859}
     
    186187}
    187188
     189// Le slogan est vu comme la premiere phrase de la description
     190// (Heuristique reprise de SVP)
     191
    188192function plugin2paquet_description($description, $plug, $dir)
    189193{
     194
     195  $dir .= '/lang';
     196  if (!is_dir($dir)) mkdir( $dir);
    190197  if (preg_match_all(_EXTRAIRE_MULTI, $description, $regs, PREG_SET_ORDER))
    191     // on suppose qu'il n'y a qu'un (a verifier)
     198    // on suppose qu'il n'y en a qu'un
    192199    foreach ($regs as $reg) {
    193200      $trads = extraire_trads($reg[1]);
    194201    }
    195202  else $trads = array('fr' => $description);
    196   foreach ($trads as $lang => $texte) {
     203
     204  foreach ($trads as $lang => $_descr) {
    197205    $module = strtolower($plug) . "-description";
    198     if (!enregister_fichier_lang($dir . '/lang/', $lang, $module,
    199                             array('description' => htmlentities($texte)),
     206  // Passer les lettres accentuees en entites XML
     207    $_desc = htmlentities($_desc);
     208    if (preg_match(',^\s*(.+)[.!?\r\n\f],Um', $_descr, $matches))
     209      $slogan = $matches[1];
     210    else $slogan = couper($_descr, 150, '');
     211    $chaines = array('description' => (trim($_descr)),
     212                     'slogan' =>  ($slogan));
     213    if (!enregister_fichier_lang($dir, $lang, $module, $chaines,
    200214                                 "// Fichier produit par plugin2paquet"))
    201215      echo "Echec en creant le module de langue $module";
Note: See TracChangeset for help on using the changeset viewer.