Changeset 118085 in spip-zone


Ignore:
Timestamp:
Oct 9, 2019, 2:38:05 PM (4 months ago)
Author:
cedric@…
Message:

un seul fichier php pour tout faire, pas la peine de multiplier les inclusions (speed issue)

Location:
_plugins_/frimousses/trunk
Files:
1 deleted
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/frimousses/trunk/frimousses_fonctions.php

    r118083 r118085  
    11<?php
    22
    3 if (!defined('_ECRIRE_INC_VERSION')) return;
    4 
    5 function frimousses_liste_smileys() {
    6  
    7   /*Listes des images a associer aux smileys*/
     3if (!defined('_ECRIRE_INC_VERSION')){
     4        return;
     5}
     6
     7/**
     8 * Lister les smileys disponibles, et pour chaque les raccourcis ascii usuels
     9 * @return array
     10 */
     11function frimousses_liste_smileys(){
     12
     13        /*Listes des images a associer aux smileys*/
    814
    915        $les_smileys = Array
    10                 (
    11                         'smiley-lol-16.png' => Array
    12                                 (
    13                                         ':-))',
    14                                         ':-D',
    15                                         ':))'
    16                                 )
    17                         ,
    18                         'smiley-kiss-16.png' => Array
    19                                 (
    20                                         ':-)*',
    21                                         ':-*'
    22                                 )
    23                         ,
    24                         'smiley-16.png' => Array
    25                                 (
    26                                         ':-)',
    27                                         ':O)',
    28                                         ':o)',
    29                                         ':0)'
    30                                 )
    31                         ,
    32                         'smiley-angel-16.png' => Array
    33                                 (
    34                                         'o:)',
    35                                         'O:)',
    36                                         '0:)'
    37                                 )
    38                         ,
    39                         'smiley-eek-16.png' => Array
    40                                 (
    41                                         '%-)',
    42                                         '8-)'
    43                                 )
    44                         ,
    45                         'smiley-wink-16.png' => Array
    46                                 (
    47                                         ';-)'
    48                                 )
    49                         ,
    50                         'smiley-sad-16.png' => Array
    51                                 (
    52                                         ':-((',
    53                                         ':-('
    54                                 )
    55                         ,
    56                         'smiley-yell-16.png' => Array
    57                                 (
    58                                         ':-O',
    59                                         ':-0'
    60                                 )
    61                         ,
    62                         'smiley-neutral-16.png' => Array
    63                                 (
    64                                         ':-|',
    65                                         '|-)'
    66                                 )
    67                         ,
    68                         'smiley-confuse-16.png' => Array
    69                                 (
    70                                         ':-/'
    71                                 )
    72                         ,
    73                         'smiley-razz-16.png' => Array
    74                                 (
    75                                         ':-p',
    76                                         ':-P'
    77                                 )
    78                         ,
    79                         'smiley-cry-16.png' => Array
    80                                 (
    81                                         ':\'-(',
    82                                         ':\'(',
    83                                         ':~('
    84                                 )
    85                         ,
    86                         'smiley-red-16.png' => Array
    87                                 (
    88                                         ':-...',
    89                                         ':...',
    90                                         ':-..',
    91                                         ':..',
    92                                         ':-.',
    93                                         ':.'
    94                                 )
    95                         ,
    96                         'smiley-zipper-16.png' => Array
    97                                 (
    98                                         ':-x'
    99                                 )
    100                         ,
    101                         'smiley-cool-16.png' => Array
    102                                 (
    103                                         'B-)'
    104                                 )
    105                         ,
    106                         'smiley-sleep-16.png' => Array
    107                                 (
    108                                         ':-@'
    109                                 )
    110                         ,
    111                         'smiley-money-16.png' => Array
    112                                 (
    113                                         ':-$'
    114                                 )
    115                         ,
    116                         'smiley-roll-16.png' => Array
    117                                 (
    118                                         ':-!'
    119                                 )
    120 
    121                 );
     16        (
     17                'smiley-lol-16.png' => Array
     18                (
     19                        ':-))',
     20                        ':-D',
     21                        ':))'
     22                )
     23        ,
     24                'smiley-kiss-16.png' => Array
     25                (
     26                        ':-)*',
     27                        ':-*'
     28                )
     29        ,
     30                'smiley-16.png' => Array
     31                (
     32                        ':-)',
     33                        ':O)',
     34                        ':o)',
     35                        ':0)'
     36                )
     37        ,
     38                'smiley-angel-16.png' => Array
     39                (
     40                        'o:)',
     41                        'O:)',
     42                        '0:)'
     43                )
     44        ,
     45                'smiley-eek-16.png' => Array
     46                (
     47                        '%-)',
     48                        '8-)'
     49                )
     50        ,
     51                'smiley-wink-16.png' => Array
     52                (
     53                        ';-)'
     54                )
     55        ,
     56                'smiley-sad-16.png' => Array
     57                (
     58                        ':-((',
     59                        ':-('
     60                )
     61        ,
     62                'smiley-yell-16.png' => Array
     63                (
     64                        ':-O',
     65                        ':-0'
     66                )
     67        ,
     68                'smiley-neutral-16.png' => Array
     69                (
     70                        ':-|',
     71                        '|-)'
     72                )
     73        ,
     74                'smiley-confuse-16.png' => Array
     75                (
     76                        ':-/'
     77                )
     78        ,
     79                'smiley-razz-16.png' => Array
     80                (
     81                        ':-p',
     82                        ':-P'
     83                )
     84        ,
     85                'smiley-cry-16.png' => Array
     86                (
     87                        ':\'-(',
     88                        ':\'(',
     89                        ':~('
     90                )
     91        ,
     92                'smiley-red-16.png' => Array
     93                (
     94                        ':-...',
     95                        ':...',
     96                        ':-..',
     97                        ':..',
     98                        ':-.',
     99                        ':.'
     100                )
     101        ,
     102                'smiley-zipper-16.png' => Array
     103                (
     104                        ':-x'
     105                )
     106        ,
     107                'smiley-cool-16.png' => Array
     108                (
     109                        'B-)'
     110                )
     111        ,
     112                'smiley-sleep-16.png' => Array
     113                (
     114                        ':-@'
     115                )
     116        ,
     117                'smiley-money-16.png' => Array
     118                (
     119                        ':-$'
     120                )
     121        ,
     122                'smiley-roll-16.png' => Array
     123                (
     124                        ':-!'
     125                )
     126
     127        );
    122128
    123129        return $les_smileys;
    124130}
    125131
    126 // Filtre SMILEYS - 19 Dec. 2004
    127 //
    128 // pour toute suggestion, remarque, proposition d'ajout d'un
    129 // smileys, etc ; reportez vous au forum de l'article :
     132//
     133//
     134//
     135//
    130136// http://www.spip-contrib.net/Smileys-III-Un-point-d-entree-pour
    131137
    132 function frimousses_pre_typo($chaine) {
    133         if (strpos($chaine, ':')===false && strpos($chaine, ')')===false) {return $chaine;}
     138/**
     139 * Filtre SMILEYS - 19 Dec. 2004
     140 *
     141 * pour toute suggestion, remarque, proposition d'ajout d'un
     142 * smileys, etc ; reportez vous au forum de l'article :
     143 * @param string $chaine
     144 * @return string
     145 */
     146function frimousses_pre_typo($chaine){
     147        if (strpos($chaine, ':')===false && strpos($chaine, ')')===false){
     148                return $chaine;
     149        }
    134150
    135151        static $replace1 = null;
    136152        static $replace2 = null;
    137153        if (!$replace1 OR !$replace2){
    138                 foreach(frimousses_liste_smileys() as $file => $smileys) {
    139                         $alt = _T('smileys:'.$smileys[0]);
     154                foreach (frimousses_liste_smileys() as $file => $smileys){
     155                        $alt = _T('smileys:' . $smileys[0]);
    140156                        $alt = attribut_html($alt);
    141                         $r = "<img src=\"".find_in_path('frimousses/'.$file).'" width="16" height="16" alt="'.$alt.'" title="'.$alt.'" class="smiley" />';
     157                        $r = "<img src=\"" . find_in_path('frimousses/' . $file) . '" width="16" height="16" alt="' . $alt . '" title="' . $alt . '" class="smiley" />';
    142158                        // 4 regexp simples qui accrochent sur le premier char
    143159                        // sont plus rapides qu'une regexp complexe qui oblige a des retour en arriere
    144                         foreach($smileys as $index => $smiley) {
     160                        foreach ($smileys as $index => $smiley){
    145161                                $smiley = preg_quote($smiley, '/');
    146                                 $replace1['/^'.$smiley.'/imsS'] = "<html>$r</html>";
    147                                 $replace1['/\s'.$smiley.'/imsS'] = "<html>&nbsp;$r</html>";
    148                                 $replace2['/^&nbsp;'.$smiley.'/imsS'] = "<html>$r</html>";
    149                                 $replace2['/&nbsp;'.$smiley.'/imsS'] = "<html>&nbsp;$r</html>";
     162                                $replace1['/^' . $smiley . '/imsS'] = "<html>$r</html>";
     163                                $replace1['/\s' . $smiley . '/imsS'] = "<html>&nbsp;$r</html>";
     164                                $replace2['/^&nbsp;' . $smiley . '/imsS'] = "<html>$r</html>";
     165                                $replace2['/&nbsp;' . $smiley . '/imsS'] = "<html>&nbsp;$r</html>";
    150166                        }
    151167                }
    152   }
    153 
    154   $chaine = preg_replace(array_keys($replace1),array_values($replace1),$chaine);
    155         if (strpos($chaine,'&')!==false)
    156                 $chaine = preg_replace(array_keys($replace2),array_values($replace2),$chaine);
     168        }
     169
     170        $chaine = preg_replace(array_keys($replace1), array_values($replace1), $chaine);
     171        if (strpos($chaine, '&nbsp')!==false){
     172                $chaine = preg_replace(array_keys($replace2), array_values($replace2), $chaine);
     173        }
    157174
    158175        return $chaine;
    159176}
    160177
    161 function balise_SMILEY_DISPO($p) {
    162 
    163   $p->code = '"<ul class=\"listes-items smileys\">';
    164   $frimousses = frimousses_liste_smileys();
    165 
    166   foreach($frimousses as $file => $smiley) {
    167                 $alt = _T('smileys:'.$smiley[0]);
     178/**
     179 * Lister les smileys dispos (outil developpeur)
     180 * @param $p
     181 * @return mixed
     182 */
     183function balise_SMILEY_DISPO($p){
     184
     185        $p->code = '"<ul class=\"listes-items smileys\">';
     186        $frimousses = frimousses_liste_smileys();
     187
     188        foreach ($frimousses as $file => $smiley){
     189                $alt = _T('smileys:' . $smiley[0]);
    168190                $alt = attribut_html($alt);
    169                 $smiley = "<span class=\\\"smiley_nom_variante\\\">".implode("</span> <span class=\\\"smiley_nom_variante\\\">", $smiley)."</span>";
    170                 $p->code .= "<li class=\\\"item smiley\\\"><span class=\\\"smiley_nom\\\">$smiley</span> <img  class=\\\"smiley_image\\\" src=\\\"".find_in_path("frimousses/$file")."\\\" width=\\\"16\\\" height=\\\"16\\\" alt=\\\"$alt\\\" title=\\\"$alt\\\"/> <span class=\\\"smiley_alt\\\" />$alt</span></li>\n";
    171   }
    172   $p->code .= '</ul>"';
    173   $p->type = 'html';
    174  
    175   return $p;
    176 }
    177 
    178 ?>
     191                $smiley = "<span class=\\\"smiley_nom_variante\\\">" . implode("</span> <span class=\\\"smiley_nom_variante\\\">", $smiley) . "</span>";
     192                $p->code .= "<li class=\\\"item smiley\\\"><span class=\\\"smiley_nom\\\">$smiley</span> <img  class=\\\"smiley_image\\\" src=\\\"" . find_in_path("frimousses/$file") . "\\\" width=\\\"16\\\" height=\\\"16\\\" alt=\\\"$alt\\\" title=\\\"$alt\\\"/> <span class=\\\"smiley_alt\\\" />$alt</span></li>\n";
     193        }
     194        $p->code .= '</ul>"';
     195        $p->type = 'html';
     196
     197        return $p;
     198}
     199
     200/**
     201 * Pipeline pre_charger du porteplume
     202 * @param $barres
     203 * @return mixed
     204 */
     205function frimousses_porte_plume_barre_pre_charger($barres){
     206        // Commun aux 2 barres
     207        $frimousses = frimousses_liste_smileys();
     208        $outil_frimousses = array();
     209        $compteur = 0;
     210        foreach ($frimousses as $file => $smiley){
     211                $outil_frimousses[] = array(
     212                        "id" => "barre_frimousse$compteur",
     213                        "name" => _T('smileys:' . $smiley[0]) . ' ' . implode(' ', $smiley),
     214                        "className" => "outil_frimousses$compteur",
     215                        "replaceWith" => ' ' . $smiley[0] . ' ',
     216                        "display" => true,
     217                );
     218                $compteur++;
     219        }
     220
     221        // On rajoute les boutons aussi bien pour l'édition du contenu que pour les forums
     222        foreach (array('edition', 'forum') as $nom){
     223                $barre = &$barres[$nom];
     224
     225                $module_barre = "barre_outils";
     226                if (intval($GLOBALS['spip_version_branche'])>2){
     227                        $module_barre = "barreoutils";
     228                }
     229
     230                $smiley_par_defaut = ':-)';
     231                $barre->ajouterApres('grpCaracteres', array(
     232                        "id" => 'barre_frimousses',
     233                        "name" => _T("smileys:$smiley_par_defaut") . ' ' . $smiley_par_defaut,
     234                        "className" => "outil_frimousses",
     235                        "replaceWith" => " $smiley_par_defaut ",
     236                        "display" => true,
     237                        "dropMenu" => $outil_frimousses,
     238                ));
     239        }
     240        return $barres;
     241}
     242
     243/**
     244 * Piepline lien_classe_vers_icone du porte plume
     245 * @param $flux
     246 * @return array
     247 */
     248function frimousses_porte_plume_lien_classe_vers_icone($flux){
     249        $outils_frimousses["outil_frimousses"] = array(find_in_path('frimousses/smiley-16.png'), '0');
     250
     251        $frimousses = array_keys(frimousses_liste_smileys());
     252        foreach ($frimousses as $compteur => $file){
     253                $outils_frimousses["outil_frimousses$compteur"] = array(find_in_path('frimousses/' . $file), '0');
     254        }
     255
     256        return array_merge($flux, $outils_frimousses);
     257}
     258
     259/**
     260 * Pipeline barre_charger du porte_plumme
     261 * @param $barres
     262 * @return mixed
     263 */
     264function frimousses_porte_plume_barre_charger($barres){
     265        if (isset($barres['forum'])){
     266                $barre = &$barres['forum'];
     267                $barre->afficher('barre_frimousses', 'barre_frimousse0', 'barre_frimousse1');
     268        }
     269        return $barres;
     270}
  • _plugins_/frimousses/trunk/paquet.xml

    r118083 r118085  
    1717
    1818        <pipeline nom="pre_typo" />
    19         <pipeline nom="porte_plume_barre_pre_charger" inclure="frimousses_pipelines.php" />
    20         <pipeline nom="porte_plume_barre_charger" inclure="frimousses_pipelines.php" />
    21         <pipeline nom="porte_plume_lien_classe_vers_icone" inclure="frimousses_pipelines.php" />
     19        <pipeline nom="porte_plume_barre_pre_charger" inclure="frimousses_fonctions.php" />
     20        <pipeline nom="porte_plume_barre_charger" inclure="frimousses_fonctions.php" />
     21        <pipeline nom="porte_plume_lien_classe_vers_icone" inclure="frimousses_fonctions.php" />
    2222
    2323        <utilise nom="porte_plume" />
Note: See TracChangeset for help on using the changeset viewer.