Changeset 75252 in spip-zone


Ignore:
Timestamp:
Sep 4, 2013, 1:19:26 AM (6 years ago)
Author:
patfr@…
Message:

Glossaire Interne : test sur les mots trop courts qui peuvent perturber le rendu des textes et des liens qui y sont présents.
Pour ce test, rendez-vous sur la page de configuration de l'outil "Glossaire Interne" et testez la base de donnée.

Location:
_plugins_/couteau_suisse
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/couteau_suisse/lang/couteauprive_fr.php

    r75251 r75252  
    407407        'glossaire_inverser' => 'Correction proposée : inverser l\'ordre des mots en base.',
    408408        'glossaire_verifier' => 'Correction proposée : vérifier les expressions régulières.',
     409        'glossaire_trop_court' => 'Précaution proposée : utiliser des mots de plus de 3 lettres, ou les passer en expression régulière du type ",\bABC\b,".',
    409410        'erreur_syntaxe' => 'Erreur de syntaxe : ',
    410411        'glossaire_js' => 'Solution JavaScript',
  • _plugins_/couteau_suisse/outils/glossaire_action_rapide.php

    r75251 r75252  
    99function glossaire_verifie(&$c) {
    1010        include_spip('public/parametrer'); // pour mes_fonctions
    11         $res = $res2 = array();
     11        $res = $res2 = $res3 = array();
    1212        $c = count($gloss = glossaire_query_tab());
    1313        for($i=0; $i<$c; $i++) {
    14                 $gi = &$gloss[$i]; glossaire_verifie_init($gi, $res);
     14                $gi = &$gloss[$i]; glossaire_verifie_init($gi, $res, $res3);
    1515                for($j=$i+1; $j<$c; $j++) {
    16                         $gj = &$gloss[$j]; glossaire_verifie_init($gj, $res);
     16                        $gj = &$gloss[$j]; glossaire_verifie_init($gj, $res, $res3);
    1717                        $u = false;
    1818                        $titre = $gi['mots']?glossaire_gogogo($gj['titre2'], $gi['mots'], -1, $u):'';
     
    2121                        if(strpos($titre,'@@M')!==false)
    2222                                $res2[] = "&bull; ".couteauprive_T('glossaire_erreur',
    23                                         array('mot1'=>cs_lien($gi['id_mot'], $gi['titre']), 'mot2'=>cs_lien($gj['id_mot'], $gj['titre'])));
     23                                        array('mot1'=>cs_lien('mot'.$gi['id_mot'], $gi['titre']), 'mot2'=>cs_lien('mot'.$gj['id_mot'], $gj['titre'])));
    2424                }
    2525        }
    2626        if(count($res)) $res[] = couteauprive_T('glossaire_verifier');
    2727        if(count($res2)) $res2[] = couteauprive_T('glossaire_inverser');
    28         return join("<br/>", array_merge($res, $res2));
     28        if(count($res3)) $res3[] = couteauprive_T('glossaire_trop_court');
     29        return join("<br/>", array_merge($res, $res2, $res3));
    2930}
    3031
    3132// function d'initialisation utilisee par la precedente
    32 function glossaire_verifie_init(&$g, &$res) {
     33function glossaire_verifie_init(&$g, &$res, &$res3) {
    3334        if(isset($g['mots'])) return;
    3435        if(!isset($gu)) $gu = function_exists('glossaire_generer_url')?'glossaire_generer_url':'glossaire_generer_url_dist';
    35         list($g['mots'], $g['regs'], $g['titre2'], $ok_regexp) = glossaire_parse(extraire_multi($g['titre']));
    36         if(!$ok_regexp) $res[] = "&bull; <html>".couteauprive_T('erreur_syntaxe').cs_lien(glossaire_generer_url_dist($g['id_mot']), htmlentities(extraire_multi($g['titre']), ENT_COMPAT, $GLOBALS['meta']['charset']))."</html>";
     36        list($g['mots'], $g['regs'], $g['titre2'], $ok_regexp, $ok_mots) = glossaire_parse(extraire_multi($g['titre']));
     37        if(!$ok_regexp) $res[] = "&bull; <html>".couteauprive_T('erreur_syntaxe').cs_lien('mot'.$g['id_mot'], htmlentities(extraire_multi($g['titre']), ENT_COMPAT, $GLOBALS['meta']['charset']))."</html>";
     38        if(!$ok_mots) $res3[] = "&bull; ".cs_lien('mot'.$g['id_mot'], $gi['titre']);
    3739}
    3840
  • _plugins_/couteau_suisse/outils/glossaire_fonctions.php

    r75251 r75252  
    127127// prendre en compte les formes du mot : architrave/architraves
    128128function glossaire_parse($titre) {
    129         $mots = $regs = $titres = array();
     129        $mots = $regs = $titres = array(); $ok_mots = true;
    130130        foreach(explode(_GLOSSAIRE_TITRE_BASE_SEP, str_replace('</','@@tag@@',$titre)) as $m) {
    131131                // interpretation des expressions regulieres grace aux virgules : ,un +mot,i
     
    135135                        $mots[] = charset2unicode($m);
    136136                        $titres[] = $m;
     137                        $ok_mots &= mb_strlen($m)>3;
    137138                }
    138139        }
     
    154155        } else $mots = '';
    155156        $ok_regexp = count($regs)?preg_replace($regs, 't', 'test', 1)!==null:true;
    156         return array($mots,$ok_regexp?$regs:array(), $titres, $ok_regexp);
     157        return array($mots, $ok_regexp?$regs:array(), $titres, $ok_regexp, $ok_mots);
    157158}
    158159
     
    207208                // parser le mot-cle du glossaire
    208209                // contexte de langue a prendre en compte ici
    209                 list($les_mots, $les_regexp, $les_titres, $ok_regexp) = glossaire_parse($titre = extraire_multi($mot['titre']));
     210                list($les_mots, $les_regexp, $les_titres, $ok_regexp, $ok_mots) = glossaire_parse($titre = extraire_multi($mot['titre']));
    210211                $mot_present = false;
    211212                if(!$ok_regexp)
  • _plugins_/couteau_suisse/paquet.xml

    r75251 r75252  
    22        prefix="couteau_suisse"
    33        categorie="maintenance"
    4         version="1.8.140"
     4        version="1.8.141"
    55        etat="stable"
    66        compatibilite="[1.9.2;3.0.99]"
  • _plugins_/couteau_suisse/plugin.xml

    r75251 r75252  
    33        <slogan>... ou plus de fonctionnalit&#233;s pour SPIP !</slogan>
    44        <icon>img/couteau-50.gif</icon>
    5         <version>1.8.140</version>
     5        <version>1.8.141</version>
    66        <version_base>1.11</version_base>
    77        <auteur>Patrice Vanneufville
Note: See TracChangeset for help on using the changeset viewer.