Changeset 60118 in spip-zone


Ignore:
Timestamp:
Apr 4, 2012, 11:10:19 PM (8 years ago)
Author:
patfr@…
Message:

Glossaire interne : possibilité d'agir sur les attributs du lien des mots trouvés.
fonction surchargeable : glossaire_attributs_lien_dist($id_mot, $lien, $titre, $les_titres)

Location:
_plugins_/couteau_suisse
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/couteau_suisse/outils/glossaire_fonctions.php

    r54512 r60118  
    4747        return $mot;
    4848}
     49
     50/* surcharge possible de cette fonction glossaire_attributs_lien_dist par : glossaire_attributs_lien($lien, $titre, $gloss_id)
     51 si elle existe, elle sera utilisee pour les attributs (sauf class et name) du <a> place autour du mot detecte.
     52 $lien : lien du mot - $titre : titre brut du mot - $les_titres : array() des differents titres possibles du mot
     53 Exemple :
     54        function glossaire_attributs_lien($id_mot, $lien, $titre, $les_titres) {
     55                return "href='$lien' title=\"" . attribut_html($les_titres[0]). '"';
     56        } */
     57function glossaire_attributs_lien_dist($id_mot, $lien, $titre, $les_titres) {
     58        return "href='$lien'";
     59}
     60
    4961
    5062// traitement pour #TITRE/mots : retrait des expressions regulieres
     
    180192        $gloss_ech_id = $gloss_mots_id = 0;
    181193        // prudence 1 : protection des liens SPIP
    182         if (strpos($texte, '[')!==false)
     194        if(strpos($texte, '[') !== false)
    183195                $texte = preg_replace_callback(',\[[^][]*->>?[^]]*\],msS', 'glossaire_echappe_balises_callback', $texte);
    184196        // parcours de tous les mots, sauf celui qui peut faire partie du contexte (par ex : /spip.php?mot5)
     
    187199                // parser le mot-cle du glossaire
    188200                // contexte de langue a prendre en compte ici
    189                 list($les_mots, $les_regexp, $les_titres) = glossaire_parse($titre=extraire_multi($mot['titre']));
     201                list($les_mots, $les_regexp, $les_titres) = glossaire_parse($titre = extraire_multi($mot['titre']));
    190202                $mot_present = false;
    191203                if(count($les_regexp)) {
     
    210222                        // $definition =strlen($mot['descriptif'])?$mot['descriptif']:$mot['texte'];
    211223                        if($liste)
     224                                // on ne renvoie que la liste des mots trouves
    212225                                $table1[$gloss_id] = array($gloss_id, $lien, $les_titres);
    213226                        else {
    214                                 $table1[$gloss_id] = "href='$lien' name='mot$gloss_id"; // name est complete plus tard pour eviter les doublons
     227                                // l'attribut 'name' en fin de chaine est complete plus tard pour eviter les doublons :
     228                                $table1[$gloss_id] = (function_exists('glossaire_attributs_lien')
     229                                        ?glossaire_attributs_lien($gloss_id, $lien, $titre, explode(_GLOSSAIRE_TITRE_SEP, $les_titres))
     230                                        :"href='$lien'") . " name='mot$gloss_id";
    215231                                $table2[$gloss_id] = defined('_CS_PRINT')?'':recuperer_fond(
    216232                                        defined('_GLOSSAIRE_JS')?'fonds/glossaire_js':'fonds/glossaire_css',
  • _plugins_/couteau_suisse/paquet.xml

    r59861 r60118  
    22        prefix="couteau_suisse"
    33        categorie="maintenance"
    4         version="1.8.60"
     4        version="1.8.61"
    55        etat="stable"
    66        compatibilite="[1.9.2;3.0.99]"
  • _plugins_/couteau_suisse/plugin.xml

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