Changeset 78366 in spip-zone


Ignore:
Timestamp:
Nov 11, 2013, 11:47:02 AM (6 years ago)
Author:
eric@…
Message:

Ajout du bouton ajouter un titre dans la barre de porte-plume.
Ajout de la configuration via une globale de l'indicateur de tag : @tag ou #tag

Location:
_plugins_/questions_reponses/trunk
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/questions_reponses/trunk/qr_options.php

    r78296 r78366  
    77$GLOBALS['spip_wheels']['raccourcis'][] = 'qr.yaml';
    88
     9// Définition surchargeable de l'indicateur de tag.
     10// -- les valeurs possibles sont # (défaut) et @
     11$GLOBALS['qr_indicateur_tag'] = '#';
     12
    913?>
  • _plugins_/questions_reponses/trunk/qr_pipelines.php

    r78327 r78366  
    4141                                                "forceMultiline" => true,
    4242                                                "display"     => true,
    43                                         )
     43                                        ),
     44                                        array(
     45                                                "id"          => 'qr_titre',
     46                                                "name"        => _T('qr:outil_inserer_titre'),
     47                                                "replaceWith" => "function(h){ return outil_qr(h, ':Nouveau titre');}",
     48                                                "className"   => 'outil_qr_titre',
     49                                                "selectionType" => "line",
     50                                                "forceMultiline" => true,
     51                                                "display"     => true,
     52                                        ),
    4453                                )
    4554                        )
     
    8392        return array_merge($flux, array(
    8493                'outil_qr'=>'qr-16.png',
    85                 'outil_qr_question'=>'qr_question-16.png'
     94                'outil_qr_question'=>'qr_question-16.png',
     95                'outil_qr_titre'=>'qr_titre-16.png'
    8696        ));
    8797}
  • _plugins_/questions_reponses/trunk/wheels/qr.php

    r78318 r78366  
    22
    33// Regexp permettant de récupérer chacune des informations additionnelles qui peuvent compléter le titre de la tâche :
    4 // - #tag ou tag est un mot. Exemple : #courses ou #перевод-шаблон
     4// - #tag ou @tag, tag étant un mot. Exemple : #courses ou @перевод-шаблон
    55// - type:valeur ou type et valeur sont des mots. Pas utilisé pour l'instant
     6// Cette regexp doit être instanciée suivant la globale $qr_indicateur_tag pour déterminer l'indicateur du tag
     7// qui est soit # (défaut) soit @.
    68if (!defined('_QR_REGEXP_INFOS_COMPLEMENTAIRES'))
    7         define('_QR_REGEXP_INFOS_COMPLEMENTAIRES', '%([\w-]+:|#)([\w.-]+)(?:\s|$)%Uu');
     9        define('_QR_REGEXP_INFOS_COMPLEMENTAIRES', '%([\w-]+:|indicateur_tag)([\w.-]+)(?:\s|$)%Uu');
    810
    911
    1012/**
    11  * Analyse le contenu du bloc inclu entre les marqueurs de début et de fin de la FAQ
    12  * puis appelle un squelette avec les paramètres calculés
     13 * Analyse du contenu d'un bloc FAQ inclu entre les marqueurs de début (<faq>) et de fin (</faq>)
     14 * puis appelle du squelette avec les paramètres calculés.
     15 *
     16 * Un bloc de FAQ peut contenir plusieurs sous-FAQ qui sont séparées par un titre. Un titre commence sur
     17 * une nouvelle ligne avec comme premier caractère ':'.
     18 * Une question commence sur une nouvelle ligne avec comme premier caractère '?'. La réponse est constituée des lignes
     19 * qui suivent la question jusqu'à la prochaine question, le prochain titre ou la fin du bloc.
     20 * Il est possible de choisir le squelette de sortie en utilisant l'attribut format dans la balise <code><faq></code>.
    1321 *
    1422 * @param array $t      l'index 4 représente le contenu du bloc, l'index 3 la valeur du format si il existe.
     
    1826        // Initialisation du html calculé
    1927        $html = $t;
     28
     29        // Instanciation de la regexp de repérage des informations complémentaires
     30        global $qr_indicateur_tag;
     31        $regexp_infos_complementaires = _QR_REGEXP_INFOS_COMPLEMENTAIRES;
     32        if ($qr_indicateur_tag == '@')
     33                $regexp_infos_complementaires = str_replace('indicateur_tag', '@', $regexp_infos_complementaires);
     34        else
     35                $regexp_infos_complementaires = str_replace('indicateur_tag', '#', $regexp_infos_complementaires);
    2036
    2137        // Extraction de lignes du texte
     
    104120
    105121                                                // -- le texte de la question, que l'on sépare du reste des informations complémentaires éventuelles
    106                                                 if (preg_match_all(_QR_REGEXP_INFOS_COMPLEMENTAIRES, $texte, $infos_complementaires)) {
     122                                                if (preg_match_all($regexp_infos_complementaires, $texte, $infos_complementaires)) {
    107123                                                        // Extraction du titre
    108124                                                        $question = trim(str_replace($infos_complementaires[0], '', $texte));
Note: See TracChangeset for help on using the changeset viewer.