Changeset 79228 in spip-zone


Ignore:
Timestamp:
Dec 8, 2013, 4:18:49 PM (7 years ago)
Author:
eric@…
Message:

Ajout d'un attribut format optionnel à la balise <todo>.
Si il existe, Todo utilise le squelette inclure/todo_$format.html pour l'affichage d'une todo sinon, par défaut, il utilise inclure/todo_table.html

Location:
_plugins_/todo/trunk
Files:
1 added
1 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/todo/trunk/paquet.xml

    r79227 r79228  
    22        prefix="todo"
    33        categorie="edition"
    4         version="2.1.1"
     4        version="2.1.2"
    55        etat="test"
    66        compatibilite="[3.0.0;3.0.*]"
  • _plugins_/todo/trunk/wheels/todo.php

    r79227 r79228  
    1414 * puis appelle un squelette avec les paramètres calculés
    1515 *
    16  * @param array $t      l'index 0 représente le contenu du bloc
     16 * @param array $t      l'index 4 représente le contenu du bloc, l'index 3 la valeur du format si il existe.
    1717 * @return string       le html généré à partir d'un squelette
    1818 */
     
    3030
    3131        // Extraction de lignes du texte
    32         $lignes = explode("\n", trim($t[0]));
    33         array_shift($lignes);
    34         array_pop($lignes);
     32        // La wheel renvoie un tableau à cette callback qui est le résultat d'un preg_match_all.
     33        // Le contenu du tableau est le suivant :
     34        // - index 0 : la capture du pattern complet
     35        // - index 1 : la capture de l'attribut format si il existe
     36        // - index 2 : la capture des quotes entourant la valeur de l'attribut format
     37        // - index 3 : la capture de la valeur de l'attribut format
     38        // - index 4 : la capture du texte compris entre les balises
     39        // - index 5 : la balise fermante
     40        // --> Seuls les index 3 et 4 sont utilisés.
     41        $lignes = explode("\n", trim($t[4]));
    3542
    3643        // Initialisation des variables propres à l'ensemble des todos du bloc
     
    143150        if ($todos) {
    144151                $html = '';
     152                $format = $t[3] ? $t[3] : 'table';
    145153                foreach($todos as $_cle => $_taches) {
    146154                        if ($_taches) {
    147155                                $html .= recuperer_fond(
    148                                         'inclure/todo',
     156                                        "inclure/todo_${format}",
    149157                                        array(
    150158                                                'projet' => (isset($projets[$_cle]) ? $projets[$_cle] : ''),
  • _plugins_/todo/trunk/wheels/todo.yaml

    r66973 r79228  
    44
    55todos:
    6   match: "%(^|\n)([+][+][+]|<todo[^>]*>)\n(.*?)\n([+][+][+]|</todo>)(\n|$)%s"
     6  match: "%(?:<todo([^>]*(?:format=([\"'])([^\"']+)\2)[^>]*|)>|[+][+][+])\n(.*?)\n(</todo>|[+][+][+])%s"
    77  is_callback: Y
    88  replace: tw_todo
Note: See TracChangeset for help on using the changeset viewer.