Changeset 95085 in spip-zone for _plugins_/frimousses


Ignore:
Timestamp:
Feb 11, 2016, 1:03:36 PM (3 years ago)
Author:
gouz@…
Message:

modification des noms de fonctions pour éviter les conflits avec CS, ajout de smileys manquants dans CS et présents dans frimousses

Location:
_plugins_/frimousses
Files:
6 added
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/frimousses/frimousses_fonctions.php

    r95082 r95085  
    44        define('_DIR_PLUGIN_FRIMOUSSES',(_DIR_PLUGINS.end($p)).'/');
    55}
    6 
    76
    87// balises de tracage, directement compatibles regexpr
     
    1413
    1514// fonction ajoutant un smiley au tableau $tab
    16 // ex : compile_smiley($tab, ':-*', 'icon_kiss', 'gif');
    17 function compile_smiley(&$tab, $smy, $img, $ext='png') {
    18         static $path, $path2;
    19         if(!isset($path)) {
    20                 $path = find_in_path('frimousses');
    21                 $path2 = url_absolue($path);
    22                 $pp = defined('_DIR_PLUGIN_PORTE_PLUME');
    23         }
    24         $espace = strlen($smy)==2?' ':'';
    25         $file = "$img.$ext";
    26         list(,,,$size) = @getimagesize("$path/$file");
    27         $tab['0']['0'][] = $espace.$smy;
    28         // cs_code_echappement evite que le remplacement se fasse a l'interieur des attributs de la balise <img>
    29         $tab[0][1][] = frimousses_code_echappement("$espace<img alt=\"$smy\" title=\"$smy\" class=\"no_image_filtrer format_$ext\" src=\"$path2/$file\" $size/>", 'FRIMOUSSES');
    30        
    31         $tab[0][2][] = $file;
    32         $tab['racc'][] = $smy;
    33         // pour le porte-plume
    34         $tab[0][4]['smiley_'.$img] = $file;
     15// ex : frimousses_compile_smiley($tab, ':-*', 'icon_kiss', 'gif');
     16function frimousses_compile_smiley(&$tab, $smy, $img, $ext='png') {
     17    static $path, $path2;
     18    if(!isset($path)) {
     19            $path = find_in_path('frimousses');
     20            $path2 = url_absolue($path);
     21            $pp = defined('_DIR_PLUGIN_PORTE_PLUME');
     22    }
     23    $espace = strlen($smy)==2?' ':'';
     24    $file = "$img.$ext";
     25    list(,,,$size) = @getimagesize("$path/$file");
     26    $tab['0']['0'][] = $espace.$smy;
     27    // frimousses_code_echappement evite que le remplacement se fasse a l'interieur des attributs de la balise <img>
     28    $tab[0][1][] = frimousses_code_echappement("$espace<img alt=\"$smy\" title=\"$smy\" class=\"no_image_filtrer format_$ext\" src=\"$path2/$file\" $size/>", 'FRIMOUSSES');
     29   
     30    $tab[0][2][] = $file;
     31    $tab['racc'][] = $smy;
     32    // pour le porte-plume
     33    $tab[0][4]['smiley_'.$img] = $file;
    3534}
    3635
    3736// cette fonction appelee automatiquement a chaque affichage de la page privee du Couteau Suisse renvoie un tableau
    38 function liste_smileys($tab = array(0 => array(), 'racc' => array())) {
    39         // l'ordre des smileys ici est important :
    40         //  - les doubles, puis les simples, puis les courts
    41         //  - le raccourci insere par la balise #SMILEYS est la premiere occurence de chaque fichier
    42         $smileys = array(
    43         // attention ' est different de ’ (&#8217;) (SPIP utilise/ecrit ce dernier)
    44          ":&#8217;-))"=> 'pleure_de_rire',
    45          ":&#8217;-)"=> 'pleure_de_rire',
    46          ":&#8217;-D"   => 'pleure_de_rire',
    47          ":&#8217;-("   => 'triste',
     37function frimousses_liste_smileys($tab = array(0 => array(), 'racc' => array())) {
     38    // l'ordre des smileys ici est important :
     39    //  - les doubles, puis les simples, puis les courts
     40    //  - le raccourci insere par la balise #SMILEYS est la premiere occurence de chaque fichier
     41    $smileys = array(
     42    // attention ' est different de ’ (&#8217;) (SPIP utilise/ecrit ce dernier)
     43        ":&#8217;-))"=> 'pleure_de_rire',
     44        ":&#8217;-)"=> 'pleure_de_rire',
     45        ":&#8217;-D"   => 'pleure_de_rire',
     46        ":&#8217;-("   => 'triste',
     47   
     48    // les doubles :
     49        ':-))' => 'mort_de_rire',
     50        ':))'  => 'mort_de_rire',
     51        ":'-))"=> 'pleure_de_rire',
     52        ':-((' => 'en_colere',
     53        ':-)*' => 'bisou',
     54        ':-...' => 'rouge',
     55        ':...' => 'rouge',
     56        ':-..' => 'rouge',
     57        ':..' => 'rouge',
     58        ':-.' => 'rouge',
     59
    4860       
    49         // les doubles :
    50          ':-))' => 'mort_de_rire',
    51          ':))'  => 'mort_de_rire',
    52          ":'-))"=> 'pleure_de_rire',
    53          ':-((' => 'en_colere',
    54 
    55         // les simples :
    56          ';-)'  => 'clin_d-oeil',
    57          ':-)'  => 'sourire',
    58          ':-D'  => 'mort_de_rire',
    59          ":'-)"=> 'pleure_de_rire',
    60          ":'-D" => 'pleure_de_rire',
    61          ':-('  => 'pas_content',
    62          ":'-(" => 'triste',
    63          ':-&gt;' => 'diable',
    64          '|-)'  => 'rouge',
    65          ':o)'  => 'rigolo',
    66          'B-)'  => 'lunettes',
    67          ':-P'  => 'tire_la_langue',
    68          ':-p'  => 'tire_la_langue',
    69          ':-|'  => 'bof',
    70          ':-/'  => 'mouais',
    71          ':-O'  => 'surpris',
    72          ':-o'  => 'surpris',
    73 
    74         // les courts : tester a l'usage...
    75         // attention : ils ne sont reconnus que s'il y a un espace avant !
    76          ':)'   => 'sourire',
    77          ':('   => 'pas_content',
    78          ';)'   => 'clin_d-oeil',
    79          ':|'   => 'bof',
    80          '|)'   => 'rouge',
    81          ':/'   => 'mouais',
    82         );
    8361       
    84         foreach ($smileys as $smy=>$val)
    85                 compile_smiley($tab, $smy, $val);
    86 
    87         return $tab;
     62    // les simples :
     63        ';-)'  => 'clin_d-oeil',
     64        ':-)'  => 'sourire',
     65        ':-D'  => 'mort_de_rire',
     66        ":'-)"=> 'pleure_de_rire',
     67        ":'-D" => 'pleure_de_rire',
     68        ':-('  => 'pas_content',
     69        ":'-(" => 'triste',
     70        ':~(' => 'triste',
     71        ':-&gt;' => 'diable',
     72        ':o)'  => 'rigolo',
     73        'B-)'  => 'lunettes',
     74        ':-P'  => 'tire_la_langue',
     75        ':-p'  => 'tire_la_langue',
     76        ':-|'  => 'bof',
     77        '|-)'  => 'bof',       
     78        ':-/'  => 'mouais',
     79        ':-O'  => 'surpris',
     80        ':-o'  => 'surpris',
     81        ':-*'  => 'bisou',
     82        'o:)' => 'ange',
     83        'O:)' => 'ange',
     84        '0:)' => 'ange',
     85        ':.' => 'rouge',
     86        ':-x' => 'bouche_cousu',
     87        ':-@' => 'dort',
     88        ':-$' => 'argent',
     89        ':-!' => 'indeci',
     90       
     91    // les courts : tester a l'usage...
     92    // attention : ils ne sont reconnus que s'il y a un espace avant !
     93        ':)'   => 'sourire',
     94        ':('   => 'pas_content',
     95        ';)'   => 'clin_d-oeil',
     96        ':|'   => 'bof',
     97        '|)'   => 'bof',
     98        ':/'   => 'mouais',
     99    );
     100   
     101    foreach ($smileys as $smy=>$val)
     102            frimousses_compile_smiley($tab, $smy, $val);
     103
     104    return $tab;
    88105}
    89106
    90107
    91108// fonction qui renvoie un tableau de smileys uniques
    92 function smileys_uniques($smileys) {
     109function frimousses_smileys_uniques($smileys) {
    93110        $max = count($smileys[1]);
    94111        $new = array(array(), array(), array());
    95112        for ($i=0; $i<$max; $i++) {
    96                 if(!in_array($smileys[2][$i], $new[2])) {
    97                         $new[0][] = $smileys[0][$i]; // texte
    98                         $new[1][] = $smileys[1][$i]; // image
    99                         $new[2][] = $smileys[2][$i]; // nom de fichier
    100                 }
     113            if(!in_array($smileys[2][$i], $new[2])) {
     114                $new[0][] = $smileys[0][$i]; // texte
     115                $new[1][] = $smileys[1][$i]; // image
     116                $new[2][] = $smileys[2][$i]; // nom de fichier
     117            }
    101118        }
    102119        return $new;
     
    106123function frimousses_pre_typo($texte) {
    107124        if (strpos($texte, ':')===false && strpos($texte, ')')===false) return $texte;
    108         // appeler cs_rempl_smileys() une fois que certaines balises ont ete protegees
     125        // appeler frimousses_rempl_smileys() une fois que certaines balises ont ete protegees
    109126        return frimousses_echappe_balises('html|code|cadre|frame|script|acronym|cite', 'frimousses_rempl_smileys', $texte);
    110127}
     
    177194function frimousses_rempl_smileys($texte) {
    178195        if (strpos($texte, ':')===false && strpos($texte, ')')===false) return $texte;
    179         $smileys_rempl = liste_smileys()[0];
     196        $smileys_rempl = frimousses_liste_smileys()[0];
    180197        $texte = preg_replace_callback(',(<img .*?/>),ms', 'frimousses_echappe_balises_callback', $texte);
    181198        // smileys a probleme :
     
    190207}
    191208
    192 
    193 
    194 
    195209?>
  • _plugins_/frimousses/frimousses_pipelines.php

    r95082 r95085  
    44function frimousses_porte_plume_barre_pre_charger($barres) {
    55        // Commun aux 2 barres
    6         $frimousses = smileys_uniques(liste_smileys()[0]);
     6        $frimousses = frimousses_smileys_uniques(frimousses_liste_smileys()[0]);
    77        $outil_frimousses = array();
    88        for ( $compteur=0; $compteur<count($frimousses[2]); $compteur++ ){
     
    3838
    3939function frimousses_porte_plume_lien_classe_vers_icone($flux) {
    40         $outils_frimousses["outil_frimousses"] = array(find_in_path('frimousses/mort_de_rire.png'), '0');
    41        
    42         $frimousses = array_values(smileys_uniques(liste_smileys()[0])[2]);
    43 //      echo print_r($frimousses);
     40        $outils_frimousses["outil_frimousses"] = array(find_in_path('frimousses/mort_de_rire.png'), '0');       
     41        $frimousses = array_values(frimousses_smileys_uniques(frimousses_liste_smileys()[0])[2]);
    4442        foreach($frimousses as $compteur => $file) {
    4543            $outils_frimousses["outil_frimousses$compteur"] = array(find_in_path('frimousses/'.$file), '0');
    4644        }
    47        
    4845        return array_merge($flux, $outils_frimousses);
    4946}
  • _plugins_/frimousses/plugin.xml

    r95082 r95085  
    33        <slogan>Mettre des smileys dans le texte</slogan>
    44        <auteur>Pierre Andrews (Mortimer), Bionet, RealET</auteur>
    5         <version>1.4.3</version>
     5        <version>1.5.0</version>
    66        <icon>frimousse-logo-32.png</icon>
    77        <etat>stable</etat>
Note: See TracChangeset for help on using the changeset viewer.