Changeset 79123 in spip-zone


Ignore:
Timestamp:
Dec 3, 2013, 8:01:37 PM (7 years ago)
Author:
patfr@…
Message:

Balise #INTRODUCTION :

  • Nouvelle option permettant de se rapprocher du comportement natif de SPIP, à savoir ne jamais couper le descriptif s'il est trouvé.
  • Nouvelle option permettant d'avoir des points de suite systématiques (cliquables ou non)
Location:
_plugins_/couteau_suisse
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/couteau_suisse/config_outils.php

    r79120 r79123  
    163163        'code:%s && %s!=100' => "define('_INTRODUCTION_LGR', %s);\n",
    164164), array(
     165        'nom' => 'coupe_descriptif',
     166        'check' => 'couteauprive:introduction_coupe_descriptif',
     167        'defaut' => 0,
     168        'code:%s' => "define('_INTRODUCTION_DESCRIPTIF_ENTIER', 1);\n",
     169), array(
    165170        'nom' => 'lien_introduction',
    166171        'format' => _format_NOMBRE,
    167172        'radio' => array(1 => 'item_oui', 0 => 'item_non'),
    168173        'defaut' => 0,
    169         'code' => "define('_INTRODUCTION_LIEN', %s);",
     174        'code:%s' => "define('_INTRODUCTION_LIEN', 1);",
     175), array(
     176        'nom' => 'lien_systematique',
     177        'check' => 'couteauprive:introduction_lien_systematique',
     178        'defaut' => 0,
     179        'code:%s' => "define('_INTRODUCTION_SUITE_SYSTEMATIQUE', 1);\n",
    170180));
    171181add_outil( array(
  • _plugins_/couteau_suisse/lang/couteauprive_fr.php

    r79120 r79123  
    443443        'insertions:description' => 'ATTENTION : outil en cours de développement !! [[%insertions%]]',
    444444        'insertions:nom' => 'Corrections automatiques',
     445        'introduction_coupe_descriptif' => 'S\'il existe, ne jamais tronquer le descriptif de l\'objet.',
     446        'introduction_lien_systematique' => 'Toujours ajouter le lien, même si le texte n\'est pas tronqué.',
    445447        'introduction:description' => 'Cette balise à placer dans les squelettes sert en général à la une ou dans les rubriques afin de produire un résumé des articles, des brèves, etc..
    446448
    447449{{Attention}} : Avant d\'activer cette fonctionnalité, vérifiez bien qu\'aucune fonction {balise_INTRODUCTION()} n\'existe déjà dans votre squelette ou vos plugins, la surcharge produirait alors une erreur de compilation.
    448450
    449 @puce@ Vous pouvez préciser (en pourcentage par rapport à la valeur utilisée par défaut) la longueur du texte renvoyé par balise #INTRODUCTION. Une valeur nulle ou égale à 100 ne modifie pas l\'aspect de l\'introduction et utilise donc les valeurs par défaut suivantes : 500 caractères pour les articles, 300 pour les brèves et 600 pour les forums ou les rubriques.[[%lgr_introduction% %]]
     451@puce@ Vous pouvez préciser (en pourcentage par rapport à la valeur utilisée par défaut) la longueur du texte renvoyé par balise #INTRODUCTION. Une valeur nulle ou égale à 100 ne modifie pas l\'aspect de l\'introduction et utilise donc les valeurs par défaut suivantes : 500 caractères pour les articles, 300 pour les brèves et 600 pour les forums ou les rubriques.[[%lgr_introduction% %]][[->%coupe_descriptif%]]
    450452
    451453@puce@ Par défaut, les points de suite ajoutés au résultat de la balise #INTRODUCTION si le texte est trop long sont : <html>« (…)»</html>. Vous pouvez ici préciser votre propre chaîne de caractère indiquant au lecteur que le texte tronqué a bien une suite.[[%suite_introduction%]]
    452454
    453 @puce@ Si la balise #INTRODUCTION est utilisée pour résumer un article, alors le Couteau Suisse peut fabriquer un lien hypertexte sur les points de suite définis ci-dessus afin de mener le lecteur vers le texte original. Par exemple : «Lire la suite de l\'article…»[[%lien_introduction%]]',
     455@puce@ Si la balise #INTRODUCTION est utilisée pour résumer un article, alors le Couteau Suisse peut fabriquer un lien hypertexte sur les points de suite définis ci-dessus afin de mener le lecteur vers le texte original. Par exemple : «Lire la suite de l\'article…»[[%lien_introduction%]][[->%lien_systematique%]]',
    454456        'introduction:nom' => 'Balise #INTRODUCTION',
    455457
  • _plugins_/couteau_suisse/outils/introduction_fonctions.php

    r61439 r79123  
    4141
    4242function remplace_points_de_suite($texte, $id, $racc) {
    43         if (strpos($texte, _INTRODUCTION_CODE) === false) return $texte;
    4443        // des points de suite bien propres
    45         @define('_INTRODUCTION_SUITE', '&nbsp;(...)');
     44        defined('_INTRODUCTION_SUITE') || define('_INTRODUCTION_SUITE', '&nbsp;(...)');
     45        defined('_INTRODUCTION_LIEN') || define('_INTRODUCTION_LIEN', 0);
     46        defined('_INTRODUCTION_SUITE_SYSTEMATIQUE') || define('_INTRODUCTION_SUITE_SYSTEMATIQUE', 0);
     47        if (strpos($texte, _INTRODUCTION_CODE) === false) {
     48                if(!_INTRODUCTION_SUITE_SYSTEMATIQUE) return $texte;
     49                $texte .= _INTRODUCTION_SUITE;
     50        }
    4651        $intro_suite = cs_propre(_INTRODUCTION_SUITE);
    4752        // si les points de suite sont cliquables
    48         if ($id && _INTRODUCTION_LIEN == 1) {
     53        if ($id && _INTRODUCTION_LIEN) {
    4954                $url = (defined('_SPIP19300') && test_espace_prive())
    5055                        ?generer_url_entite_absolue($id, $racc, '', '', true):"$racc$id";
     
    5762}
    5863
    59 // lgr>0 : aucun parametre, donc lgr par defaut
    60 // lgr<0 : parametre #INTRODUCTION{longeur}
     64// lgr>0 : aucun paramètre, donc longueur par défaut
     65// lgr<0 : paramètre spécifié #INTRODUCTION{longueur}
    6166// lgr=0 : pas possible
    62 // TODO : $connect est pour SPIP 2.0
     67// TODO : $connect est pour SPIP>=2.0
    6368function cs_introduction($texte, $descriptif, $lgr, $id, $racc, $connect) {
    64         @define('_INTRODUCTION_LGR', 100);
     69        defined('_INTRODUCTION_LGR') || define('_INTRODUCTION_LGR', 100);
     70        defined('_INTRODUCTION_DESCRIPTIF_ENTIER') || define('_INTRODUCTION_DESCRIPTIF_ENTIER', 0);
    6571        // fonction couper_intro
    6672        $couper = $GLOBALS['cs_couper_intro'];
    6773        if (strlen($descriptif))
    68                 # si descriptif contient juste des espaces ca produit une intro vide,
    69                 # c'est une fonctionnalite, pas un bug
    70                 // ici le descriptif est coupe s'il est trop long
    71                 $texte = $lgr<0?propre($couper($descriptif, -$lgr, _INTRODUCTION_CODE)):propre($descriptif);
     74                # si le descriptif ne contient que des espaces ça produit une intro vide,
     75                # c'est une fonctionnalité, pas un bug
     76                // ici le descriptif est coupé s'il est trop long et si la config le permet
     77                $texte = propre(
     78                        ($lgr<0 && !_INTRODUCTION_DESCRIPTIF_ENTIER)
     79                                ?$couper($descriptif, -$lgr, _INTRODUCTION_CODE):$descriptif
     80                );
    7281        else {
    7382                // pas de maths dans l'intro...
  • _plugins_/couteau_suisse/paquet.xml

    r79067 r79123  
    22        prefix="couteau_suisse"
    33        categorie="maintenance"
    4         version="1.8.143"
     4        version="1.8.144"
    55        etat="stable"
    66        compatibilite="[1.9.2;3.0.*]"
  • _plugins_/couteau_suisse/plugin.xml

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