Changeset 48566 in spip-zone


Ignore:
Timestamp:
Jun 8, 2011, 9:02:03 AM (10 years ago)
Author:
cedric@…
Message:

r48152 avait retabli le point d'entrée paragrapher() mais celui-ci etait non fonctionnel.
On le répare donc (correction de la liste des règles, prise en compte de la globale toujours_paragrapher, et retour du second argument toujours_paragrapher, decoupage des callback en deux fichiers pour pouvoir charger spip-paragrapher.yaml uniquement)
+ prise en compte de la constante _VAR_MODE pour la lecture forcée des règles, sans cache

Location:
_core_/plugins/textwheel
Files:
5 edited
1 copied

Legend:

Unmodified
Added
Removed
  • _core_/plugins/textwheel/inc/texte.php

    r48152 r48566  
    4848// paragagrapher seulement
    4949//
    50 function paragrapher($t) {
    51         static $wheel = null;
    52 
    53         if (!isset($wheel))
    54                 $wheel = new TextWheel(
    55                         SPIPTextWheelRuleset::loader($GLOBALS['spip_wheels']['paragrapher'])
    56                 );
    57 
    58         return $wheel->text($t);
     50function paragrapher($t, $toujours_paragrapher = null) {
     51        static $wheel = array();
     52        if (is_null($toujours_paragrapher))
     53                $toujours_paragrapher = $GLOBALS['toujours_paragrapher'];
     54
     55        if (!isset($wheel[$toujours_paragrapher])) {
     56                $ruleset = SPIPTextWheelRuleset::loader($GLOBALS['spip_wheels']['paragrapher']);
     57                if (!$toujours_paragrapher
     58                  AND $rule=$ruleset->getRule('toujours-paragrapher')) {
     59                        $rule->disabled = true;
     60                        $ruleset->addRules(array('toujours-paragrapher'=>$rule));
     61                }
     62                $wheel[$toujours_paragrapher] = new TextWheel($ruleset);
     63        }
     64
     65        return $wheel[$toujours_paragrapher]->text($t);
    5966}
    6067
  • _core_/plugins/textwheel/inc/textwheel.php

    r48152 r48566  
    4545);
    4646
    47 $GLOBALS['spip_wheels']['paragrapher'][] = array(
     47$GLOBALS['spip_wheels']['paragrapher'] = array(
    4848        'spip/spip-paragrapher.yaml'
    4949);
     
    7878                include_spip('inc/memoization');
    7979                if (!function_exists('cache_get')) include_spip('inc/memoization-mini');
    80                 if (!_request('var_mode')
    81                 AND $cacheruleset = cache_get($key))
     80                if (!defined('_VAR_MODE')
     81                  AND $cacheruleset = cache_get($key))
    8282                        return $cacheruleset;
    8383
  • _core_/plugins/textwheel/plugin.xml

    r48152 r48566  
    44        <icon>textwheel-64.png</icon>
    55        <licence>GNU/GPL</licence>
    6         <version>0.4.2</version>
     6        <version>0.4.3</version>
    77        <etat>test</etat>
    88        <description>Int&eacute;grer TextWheel dans SPIP</description>
  • _core_/plugins/textwheel/wheels/spip/spip-paragrapher.php

    r48526 r48566  
    11<?php
    2 include_spip('inc/texte');
    3 
    4 /**
    5  * callback pour la puce qui est definissable/surchargeable
    6  */
    7 function replace_puce(){
    8         static $puce;
    9         if (!isset($puce))
    10                 $puce = "\n<br />".definir_puce()."&nbsp;";
    11         return $puce;
    12 }
    132
    143/**
  • _core_/plugins/textwheel/wheels/spip/spip-paragrapher.yaml

    r46200 r48566  
    1212    # anuler cette regle pour revenir a l'ancien comportement de SPIP
    1313    type: all
    14     replace: "<p>$0"
     14    replace: "<p>BOUH$0"
    1515
    1616toujours-ouvrir:
  • _core_/plugins/textwheel/wheels/spip/spip.php

    r47788 r48566  
    1111        return $puce;
    1212}
    13 
    14 /**
    15  * callback fermer-para-mano
    16  * on refait le preg, a la main
    17  */
    18 function fermer_para_mano(&$t) {
    19         # match: ",<p (.*)<(/?)(STOP P|div|pre|ul|ol|li|blockquote|h[1-6r]|t(able|[rdh]|head|body|foot|extarea)|form|object|center|marquee|address|applet|iframe|d[ltd]|script|noscript|map|button|fieldset|style)\b,UimsS"
    20         # replace: "\n<p "+trim($1)+"</p>\n<$2$3"
    21 
    22         foreach (explode('<p ', $t) as $c => $p) {
    23                 if ($c == 0)
    24                         $t = $p;
    25                 else {
    26                         $pi = strtolower($p);
    27                         if (preg_match(
    28                         ",</?(?:stop p|div|pre|ul|ol|li|blockquote|h[1-6r]|t(able|[rdh]|head|body|foot|extarea)|form|object|center|marquee|address|applet|iframe|d[ltd]|script|noscript|map|button|fieldset|style)\b,S",
    29                         $pi, $r)) {
    30                                 $pos = strpos($pi, $r[0]);
    31                                 $t .= "<p ".rtrim(substr($p,0,$pos))."</p>\n".substr($p,$pos);
    32                         } else {
    33                                 $t .= '<p '.$p;
    34                         }
    35                 }
    36         }
    37 
    38         return $t;
    39 }
Note: See TracChangeset for help on using the changeset viewer.