Changeset 59004 in spip-zone


Ignore:
Timestamp:
Mar 2, 2012, 11:08:56 PM (8 years ago)
Author:
fil@…
Message:

report de _AUTOBR
reparer la licence (LGPL si quelqu'un veut utiliser textwheel comme librairie)

Location:
_core_/plugins/textwheel
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • _core_/plugins/textwheel/engine/textwheel.php

    r53377 r59004  
    378378         */
    379379        protected static function replace_split(&$match,&$replace,&$t,&$count){
    380                 throw new InvalidArgumentException('split rule allways needs a callback function as replace');
     380                throw new InvalidArgumentException('split rule always needs a callback function as replace');
    381381        }
    382382
  • _core_/plugins/textwheel/inc/lien.php

    r58759 r59004  
    361361                $texte = str_replace('"', '', $lien);
    362362                static $lien_court;
    363                 // evite l'affichage de trops longues urls.
     363                // evite l'affichage de trop longues urls.
    364364                if (!$lien_court)
    365365                        $lien_court = charger_fonction('lien_court', 'inc');
  • _core_/plugins/textwheel/inc/texte.php

    r55136 r59004  
    1818include_spip('inc/textwheel');
    1919
     20
     21defined('_AUTOBR')||define('_AUTOBR', "<br class='autobr' />");
     22define('_AUTOBR_IGNORER', "<!-- ig br -->");
     23
    2024// Avec cette surcharge, cette globale n'est plus définie, et du coup ça plante dans les plugins qui font un foreach dessus comme ZPIP
    2125$GLOBALS['spip_raccourcis_typo'] = array();
     
    4852
    4953//
    50 // paragagrapher seulement
     54// paragrapher seulement
    5155//
    5256function paragrapher($t, $toujours_paragrapher = null) {
     
    8185
    8286        // Attention, si ce n'est pas une chaine, laisser intact
    83         if (!$arg OR !is_string($arg) OR !strstr($arg, '<')) return $arg;
    84 
     87        if (!$arg OR !is_string($arg) OR !strstr($arg, '<')) return $arg;
    8588        if (isset($dejavu[$GLOBALS['filtrer_javascript']][$arg])) return $dejavu[$GLOBALS['filtrer_javascript']][$arg];
    8689
     
    281284                                $ligne = traiter_listes($ligne);
    282285
    283                         // Pas de paragraphes dans les cellules
    284                         $ligne = preg_replace("/\n{2,}/", "<br /><br />\n", $ligne);
    285 
    286286                        // tout mettre dans un tableau 2d
    287287                        preg_match_all('/\|([^|]*)/S', $ligne, $cols);
     288
     289                        // Pas de paragraphes dans les cellules
     290                        foreach ($cols[1] as &$col) {
     291                                if (strlen($col = trim($col))) {
     292                                        $col = preg_replace("/\n{2,}/S", "<br /> <br />", $col);
     293                                        $col = str_replace("\n", _AUTOBR."\n", $col);
     294                                }
     295                        }
     296
     297                        // assembler le tableau
    288298                        $lignes[]= $cols[1];
    289299                }
     
    333343
    334344                for($c=count($cols)-1; $c>=0; $c--) {
    335                         $attr= $numeric[$c]; 
     345                        $attr= $numeric[$c];
    336346                        $cell = trim($cols[$c]);
    337347                        if($cell=='<') {
     
    507517function traiter_raccourcis($t) {
    508518        static $wheel, $notes;
     519
     520        // hack1: respecter le tag ignore br
     521        if (substr($t, 0, strlen(_AUTOBR_IGNORER)) == _AUTOBR_IGNORER) {
     522                $ignorer_autobr = true;
     523                $t = substr($t, strlen(_AUTOBR_IGNORER));
     524        }
     525
    509526        // Appeler les fonctions de pre_traitement
    510527        $t = pipeline('pre_propre', $t);
     
    535552        if ($mes_notes)
    536553                $notes($mes_notes);
     554
     555        // hack2: wrap des autobr dans l'espace prive, pour affichage css
     556        // car en css on ne sait pas styler l'element BR
     557        if ($ignorer_autobr) {
     558                foreach (array('t', 'mes_notes') as $k) {
     559                        $rep = _DIR_RACINE ? '<span style="color:gray">&para;</span>' : '';
     560                        $$k = str_replace(_AUTOBR, $rep, $$k);
     561                }
     562        }
     563        if (_DIR_RACINE) {
     564                $manual = "<span style='color:green;'>&#x21B5;";
     565                $auto = "<span style='color:orange;'>&para;";
     566                foreach (array('t', 'mes_notes') as $k) {
     567                        if (false !== strpos(strtolower($$k), '<br')) {
     568                                $$k = preg_replace("/<br\b.*>/UiS", "$manual\\0</span>", $$k);
     569                                if (_AUTOBR)
     570                                        $$k = str_replace($manual._AUTOBR, $auto._AUTOBR, $$k);
     571                        }
     572                }
     573        }
    537574
    538575        return $t;
     
    562599        $t = traiter_raccourcis($t);
    563600        $t = echappe_retour_modeles($t, $interdire_script);
    564        
     601
    565602        return $t;
    566603}
  • _core_/plugins/textwheel/paquet.xml

    r57943 r59004  
    22        prefix="tw"
    33        categorie="outil"
    4         version="0.7.3"
     4        version="0.8.0"
    55        etat="test"
    66        compatibilite="[3.0.0-alpha2;["
     
    1313        <auteur>Collectif SPIP</auteur>
    1414
    15         <licence lien="http://www.gnu.org/licenses/gpl-3.0.html">GNU/GPL</licence>
     15        <licence lien="http://www.gnu.org/licenses/lgpl.html">GNU/LGPL</licence>
    1616
    1717        <pipeline nom="trig_purger" inclure="inc/textwheel.php" />
  • _core_/plugins/textwheel/wheels/spip/spip-listes.php

    r55136 r59004  
    22
    33if (!defined('_ECRIRE_INC_VERSION')) return;
    4 
    5 # not usefull as this file is include by the engine itself
     4# not useful as this file is included by the engine itself
    65# require_once 'engine/textwheel.php';
    76
     
    1514
    1615function tw_liste_item($t,$quoi='item'){
    17        
    1816        global $class_spip, $class_spip_plus;
    1917        static $niveau;
  • _core_/plugins/textwheel/wheels/spip/spip-paragrapher.php

    r53217 r59004  
    2020                        $pi, $r)) {
    2121                                $pos = strpos($pi, $r[0]);
    22                                 $t .= "<p ".rtrim(substr($p,0,$pos))."</p>\n".substr($p,$pos);
     22                                $t .= "\n<p ".str_replace("\n", _AUTOBR."\n", rtrim(substr($p,0,$pos)))."</p>\n".substr($p,$pos);
    2323                        } else {
    2424                                $t .= '<p '.$p;
     
    2727        }
    2828
     29        $t = str_replace(_AUTOBR."\n"."<br", "<br", $t); #manque /i
     30        $reg = ',(<br\b[^>]*>\s*)'.preg_quote(_AUTOBR."\n", ',').",iS";
     31
     32        $t = preg_replace($reg, "\1", $t);
     33
    2934        return $t;
    3035}
  • _core_/plugins/textwheel/wheels/spip/spip-paragrapher.yaml

    r57943 r59004  
    1010toujours-paragrapher:
    1111    # Ajouter un <p> au debut pour assurer d'avoir toujours un paragraphe
    12     # anuler cette regle pour revenir a l'ancien comportement de SPIP
     12    # annuler cette regle pour revenir a l'ancien comportement de SPIP
    1313    type: all
    1414    replace: "<p>$0"
  • _core_/plugins/textwheel/wheels/spip/spip.yaml

    r49328 r59004  
    8888br:
    8989  match: "/\n_ +/S"
    90   replace: "\n<br />"
     90  replace: "<br class='manualbr' />"
    9191  if_str: "\n_"
    9292  priority: -20 # avant !paragraphes
Note: See TracChangeset for help on using the changeset viewer.