Changeset 55904 in spip-zone


Ignore:
Timestamp:
Dec 22, 2011, 5:49:43 PM (8 years ago)
Author:
cedric@…
Message:

Frimousse compat SPIP 1.9.2-3.0.0

Location:
_plugins_/frimoussesIV
Files:
1 added
1 edited
1 moved

Legend:

Unmodified
Added
Removed
  • _plugins_/frimoussesIV/frimousses_fonctions.php

    r55901 r55904  
    11<?php
     2if (!isset($GLOBALS['spip_version_branche']) OR intval($GLOBALS['spip_version_branche'])<2){
     3        $p=explode(basename(_DIR_PLUGINS)."/",str_replace('\\','/',realpath(dirname(__FILE__))));
     4        define('_DIR_PLUGIN_FRIMOUSSES',(_DIR_PLUGINS.end($p)).'/');
     5}
    26
    3 $p=explode(basename(_DIR_PLUGINS)."/",str_replace('\\','/',realpath(dirname(__FILE__))));
    4 define('_DIR_PLUGIN_FRIMOUSSESIV',(_DIR_PLUGINS.end($p)));
    5 
    6 function smileys_liste_smileys() {
     7function frimousses_liste_smileys() {
    78 
    89  /*Listes des images a associer aux smileys*/
     
    7273// http://www.spip-contrib.net/Smileys-III-Un-point-d-entree-pour
    7374
    74 function smileys_pre_propre($chaine) {
    75   global $flag_ecrire;
    76 
    77   foreach(smileys_liste_smileys() as $smiley => $file) {
    78         $alt = _T('smileys:'.$smiley);
    79         if(!$alt) {
    80           $alt = htmlentities($smiley);
    81         }
    82         $smiley = preg_quote($smiley,'/');
    83         $chaine = preg_replace('/(^'.$smiley.'\s|\s'.$smiley.'\s|\s'.$smiley.'$)/', "<html>&nbsp;<img src=\""._DIR_PLUGIN_FRIMOUSSESIV.'/smileys/'.$file.'" alt="'.$alt.'" class="smiley" /></html>', $chaine);
     75function frimousses_pre_propre($chaine) {
     76        static $replace1 = null;
     77        static $replace2 = null;
     78        if (!$replace1 OR !$replace2){
     79                foreach(frimousses_liste_smileys() as $smiley => $file) {
     80                        $alt = _T('smileys:'.$smiley);
     81                  $alt = attribut_html($alt);
     82                        $smiley = preg_quote($smiley,'/');
     83                        $r = "<img src=\""._DIR_PLUGIN_FRIMOUSSES.'smileys/'.$file.'" alt="'.$alt.'" class="smiley" />';
     84                        // 4 regexp simples qui accrochent sur le premier char
     85                        // sont plus rapides qu'une regexp complexe qui oblige a des retour en arriere
     86                        $replace1['/^'.$smiley.'/imsS'] = "<html>$r</html>";
     87                        $replace1['/\s'.$smiley.'/imsS'] = "<html>&nbsp;$r</html>";
     88                        $replace2['/^&nbsp;'.$smiley.'/imsS'] = "<html>$r</html>";
     89                        $replace2['/&nbsp;'.$smiley.'/imsS'] = "<html>&nbsp;$r</html>";
     90                }
    8491  }
    85   return echappe_html($chaine);
     92  $chaine = preg_replace(array_keys($replace1),array_values($replace1),$chaine);
     93        if (strpos($chaine,'&')!==false)
     94                $chaine = preg_replace(array_keys($replace2),array_values($replace2),$chaine);
     95        return $chaine;
    8696}
    8797
    8898function balise_SMILEY_DISPO($p) {
    8999
    90 
    91100  $p->code = '"<ul class=\"listes_smileys\">';
    92   foreach(smileys_liste_smileys() as $smiley => $file) {
    93         $alt = _T('smileys:'.$smiley);
    94         if(!$alt) {
    95           $alt = htmlentities(texte_script($smiley),ENT_QUOTES);
    96         }
    97         $p->code .= "<li class=\\\"un_smiley\\\"><span class=\\\"smiley_nom\\\">$smiley</span><img  class=\\\"smiley_image\\\" src=\\\""._DIR_PLUGIN_FRIMOUSSESIV."/smileys/$file\\\"  alt=\\\"$alt\\\"/><span class=\\\"smiley_alt\\\" />$alt</span></li>\n";
     101  foreach(frimousses_liste_smileys() as $smiley => $file) {
     102                $alt = _T('smileys:'.$smiley);
     103                $alt = attribut_html($alt);
     104                $p->code .= "<li class=\\\"un_smiley\\\"><span class=\\\"smiley_nom\\\">$smiley</span><img  class=\\\"smiley_image\\\" src=\\\""._DIR_PLUGIN_FRIMOUSSES."smileys/$file\\\"  alt=\\\"$alt\\\"/><span class=\\\"smiley_alt\\\" />$alt</span></li>\n";
    98105  }
    99106  $p->code .= '</ul>"';
  • _plugins_/frimoussesIV/plugin.xml

    r53081 r55904  
    11<plugin>
    22        <nom>Frimousses</nom>
    3         <nom>Mettre des smileys dans le texte</nom>
     3        <slogan>Mettre des smileys dans le texte</slogan>
    44        <auteur>Pierre Andrews (Mortimer), Bionet</auteur>
    55        <version>0.1.0</version>
     6        <icon>frimousse-logo-32.png</icon>
    67        <etat>stable</etat>
    78        <description>
     
    910        </description>
    1011        <lien></lien>
    11         <prefix>smileys</prefix>
    12         <pipeline>
    13                 <nom>pre_propre</nom>
    14                 <inclure>plug_smileys.php</inclure>
    15         </pipeline>
    16         <necessite id="SPIP" version="[1.9.2;1.9.2]" />
     12        <prefix>frimousses</prefix>
     13        <fonctions>frimousses_fonctions.php</fonctions>
     14        <pipeline><nom>pre_propre</nom></pipeline>
     15        <necessite id="SPIP" version="[1.9.2;3.0.99]" />
    1716        <categorie>edition</categorie>
    1817</plugin>
Note: See TracChangeset for help on using the changeset viewer.