Ignore:
Timestamp:
Jun 22, 2011, 8:55:55 PM (10 years ago)
Author:
patfr@…
Message:

On peut désormais facilement ajouter des smileys.php :

function smileys_installe() {

$tab = smileys_installe_dist();
compile_smiley($tab, ':-*', 'icon_kiss', 'gif');
return $tab;

}

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/couteau_suisse/outils/smileys.php

    r47574 r49007  
    66// dessin des frimousses : Sylvain Michel [http://www.guaph.net/]
    77
     8// fonction ajoutant un sailey au tableau $tab
     9// ex : compile_smiley($tab, ':-*', 'icon_kiss', 'gif');
     10function compile_smiley(&$tab, $smy, $img, $ext='png') {
     11        static $path, $path2;
     12        if(!isset($path)) {
     13                $path = find_in_path('img/smileys');
     14cs_log("smileys_installe_dist() : $path");
     15                $path2 = url_absolue($path);
     16                $pp = defined('_DIR_PLUGIN_PORTE_PLUME');
     17        }
     18        $espace = strlen($smy)==2?' ':'';
     19        $file = "$img.$ext";
     20        list(,,,$size) = @getimagesize("$path/$file");
     21        $tab['0']['0'][] = $espace.$smy;
     22        // cs_code_echappement evite que le remplacement se fasse a l'interieur des attributs de la balise <img>
     23        $tab[0][1][] = cs_code_echappement("$espace<img alt=\"$smy\" title=\"$smy\" class=\"no_image_filtrer format_$ext\" src=\"$path2/$file\" $size/>", 'SMILE');
     24        $tab[0][2][] = $file;
     25        $tab['racc'][] = $smy;
     26        // pour le porte-plume
     27        $tab[0][4]['smiley_'.$img] = $file;
     28}
     29
    830// cette fonction appelee automatiquement a chaque affichage de la page privee du Couteau Suisse renvoie un tableau
    9 function smileys_installe_dist() {
    10         $path = find_in_path('img/smileys');
    11 cs_log("smileys_installe_dist() : $path");
    12         $path2 = url_absolue($path);
    13 
     31function smileys_installe_dist($tab = array(0 => array(), 'racc' => array())) {
    1432        // l'ordre des smileys ici est important :
    1533        //  - les doubles, puis les simples, puis les courts
     
    1735        $smileys = array(
    1836        // attention ' est different de ’ (&#8217;) (SPIP utilise/ecrit ce dernier)
    19          ":&#8217;-))"=> 'pleure_de_rire.png',
    20          ":&#8217;-)"=> 'pleure_de_rire.png',
    21          ":&#8217;-D"   => 'pleure_de_rire.png',
    22          ":&#8217;-("   => 'triste.png',
     37         ":&#8217;-))"=> 'pleure_de_rire',
     38         ":&#8217;-)"=> 'pleure_de_rire',
     39         ":&#8217;-D"   => 'pleure_de_rire',
     40         ":&#8217;-("   => 'triste',
    2341       
    2442        // les doubles :
    25          ':-))' => 'mort_de_rire.png',
    26          ':))'  => 'mort_de_rire.png',
    27          ":'-))"=> 'pleure_de_rire.png',
    28          ':-((' => 'en_colere.png',
     43         ':-))' => 'mort_de_rire',
     44         ':))'  => 'mort_de_rire',
     45         ":'-))"=> 'pleure_de_rire',
     46         ':-((' => 'en_colere',
    2947
    3048        // les simples :
    31          ';-)'  => 'clin_d-oeil.png',
    32          ':-)'  => 'sourire.png',
    33          ':-D'  => 'mort_de_rire.png',
    34          ":'-)"=> 'pleure_de_rire.png',
    35          ":'-D" => 'pleure_de_rire.png',
    36          ':-('  => 'pas_content.png',
    37          ":'-(" => 'triste.png',
    38          ':-&gt;' => 'diable.png',
    39          '|-)'  => 'rouge.png',
    40          ':o)'  => 'rigolo.png',
    41          'B-)'  => 'lunettes.png',
    42          ':-P'  => 'tire_la_langue.png',
    43          ':-p'  => 'tire_la_langue.png',
    44          ':-|'  => 'bof.png',
    45          ':-/'  => 'mouais.png',
    46          ':-O'  => 'surpris.png',
    47          ':-o'  => 'surpris.png',
     49         ';-)'  => 'clin_d-oeil',
     50         ':-)'  => 'sourire',
     51         ':-D'  => 'mort_de_rire',
     52         ":'-)"=> 'pleure_de_rire',
     53         ":'-D" => 'pleure_de_rire',
     54         ':-('  => 'pas_content',
     55         ":'-(" => 'triste',
     56         ':-&gt;' => 'diable',
     57         '|-)'  => 'rouge',
     58         ':o)'  => 'rigolo',
     59         'B-)'  => 'lunettes',
     60         ':-P'  => 'tire_la_langue',
     61         ':-p'  => 'tire_la_langue',
     62         ':-|'  => 'bof',
     63         ':-/'  => 'mouais',
     64         ':-O'  => 'surpris',
     65         ':-o'  => 'surpris',
    4866
    4967        // les courts : tester a l'usage...
    5068        // attention : ils ne sont reconnus que s'il y a un espace avant !
    51          ':)'   => 'sourire.png',
    52          ':('   => 'pas_content.png',
    53          ';)'   => 'clin_d-oeil.png',
    54          ':|'   => 'bof.png',
    55          '|)'   => 'rouge.png',
    56          ':/'   => 'mouais.png',
     69         ':)'   => 'sourire',
     70         ':('   => 'pas_content',
     71         ';)'   => 'clin_d-oeil',
     72         ':|'   => 'bof',
     73         '|)'   => 'rouge',
     74         ':/'   => 'mouais',
    5775        );
    5876       
    59         $aide = array();
    60         foreach ($smileys as $smy=>$val) {
    61                 $espace = strlen($smy)==2?' ':'';
    62                 $smileys2[0][] = $espace.$smy;
    63                 list(,,,$size) = @getimagesize("$path/$val");
    64                 // cs_code_echappement evite que le remplacement se fasse a l'interieur des attributs de la balise <img>
    65                 $smileys2[1][] = cs_code_echappement($espace."<img alt=\"$smy\" title=\"$smy\" class=\"no_image_filtrer format_png\" src=\"$path2/$val\" $size/>", 'SMILE');
    66                 $smileys2[2][] = $val;
    67                 // aide : liste des smileys disponibles
    68                 $aide[] = $smy;
    69         }
     77        foreach ($smileys as $smy=>$val)
     78                compile_smiley($tab, $smy, $val);
    7079
    71         if(defined('_DIR_PLUGIN_PORTE_PLUME')) {
    72                 $sm = smileys_uniques($smileys2);
    73                 $max = count($sm[2]);
    74                 for ($i=0; $i<$max; $i++)
    75                         $smileys2[4]['smiley_'.str_replace('.png','',$sm[2][$i])] = $sm[2][$i];
    76         }
    77         return array($smileys2, 'racc'=>$aide);
     80        return $tab;
    7881}
    7982
     
    143146        $r = array();
    144147        for ($i=0; $i<$max; $i++) {
    145                 $id = 'smiley_'.str_replace('.png','',$smileys[2][$i]);
     148                $id = 'smiley_' . substr($smileys[2][$i], 0, strrpos($smileys[2][$i], '.'));
    146149                $r[] = array(
    147150                                "id" => $id,
Note: See TracChangeset for help on using the changeset viewer.