Changeset 77037 in spip-zone


Ignore:
Timestamp:
Oct 6, 2013, 6:40:47 PM (6 years ago)
Author:
esj@…
Message:

Rainette Report de r77033 sur le partage de code autour de getimagesize, et retrait de \ dans le squelette de démo qui n'en avait pas besoin.

Location:
_plugins_/rainette/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/rainette/trunk/demo/rainette.html

    r76828 r77037  
    1010                <img height="32" width="32" title="Plugin Rainette" alt="Plugin Rainette" src="#CHEMIN{rainette-64.png}"/>
    1111        </span>
    12         <h1 style="margin-bottom: 20px; color: #798F74;">PLUGIN RAINETTE[ \((#PLUGIN{RAINETTE, version})\)]</h1>
     12        <h1 style="margin-bottom: 20px; color: #798F74;">PLUGIN RAINETTE[ ((#PLUGIN{RAINETTE, version}))]</h1>
    1313        <p style="font-size: 12px;">Pour appeler la page de demo:</p>
    1414        <ul>
  • _plugins_/rainette/trunk/rainette_fonctions.php

    r77024 r77037  
    4242function rainette_icone_meteo($icone, $taille='petit', $service='weather', $chemin='', $extension="png"){
    4343
    44         $html_icone = '';
    45 
    4644        if (is_array($icone)) {
    4745                // Utilisation des icones natifs des services autres que weather.com
    48                 list ($l,$h) = @getimagesize($icone['url']);
    49                 $html_icone = '<img src="'.$icone['url'].'" alt="etat meteo" title="'.rainette_resume_meteo($icone['code']).'" width="'.$l.'" height="'.$h.'" />';
     46                $file = $icone['url'];
     47                $icone = $icone['code'];
    5048        }
    5149        else {
    5250                // Utilisation des icones weather.com
    53                 $icone = ($icone AND (($icone >= 0) AND ($icone < 48))) ? strval($icone) : 'na';
    54                 if (!$chemin) $chemin = _RAINETTE_ICONES_PATH.$taille.'/';
    55 
    56                 // Le dossier personnalise ou le dossier passe en argument a bien l'icone requise
    57                 if ($img = find_in_path($chemin.$icone.'.'.$extension)) {
    58                         list ($l,$h) = @getimagesize($img);
    59                         $html_icone = '<img src="'.$img.'" alt="etat meteo" title="'.rainette_resume_meteo($icone).'" width="'.$l.'" height="'.$h.'" />';
    60                 }
    61                 // Le dossier personnalise n'a pas d'image, on prend l'icone par defaut dans le repertoire img_meteo/
    62                 elseif (($chemin = 'img_meteo/'.$taille.'/') && ($img = find_in_path($chemin.$icone.'.'.$extension))) {
    63                         list ($l,$h) = @getimagesize($img);
    64                         $html_icone = '<img src="'.$img.'" alt="etat meteo" title="'.rainette_resume_meteo($icone).'" width="'.$l.'" height="'.$h.'" />';
    65                 }
    66         }
    67 
    68         return $html_icone;
     51                $file = ($icone AND (($icone >= 0) AND ($icone < 48))) ? strval($icone) : 'na';
     52        }
     53        return rainette_icone($file,
     54                        rainette_resume_meteo($icone),
     55                        $chemin,
     56                        $extension,
     57                        $taille);
     58}
     59
     60function rainette_icone($nom, $texte, $chemin='', $extension="png", $taille=''){
     61
     62        if (!$chemin) $chemin = _RAINETTE_ICONES_PATH.$taille.'/';
     63        $file = $nom . '.' . $extension;
     64        // Le dossier personnalise ou le dossier passe en argument
     65        // a-t-il bien l'icone requise ?
     66        $img = find_in_path($file, $chemin);
     67        if (!$img) {
     68        // Non, on prend l'icone par defaut dans le repertoire img_meteo/
     69                $img = find_in_path($file, 'img_meteo/'.$taille.'/');
     70                if (!$img)  return ''; //???
     71        }
     72        $a = ($a = @getimagesize($img)) ? " width='$a[0]' height='$a[1]'":'';
     73        $r = attribut_html($texte);
     74        return "<img src='$img' alt='$r' title='$r'$a />";
    6975}
    7076
     
    106112
    107113function rainette_afficher_tendance($tendance_en, $methode='texte', $chemin='', $extension="png"){
    108         $html = '';
    109 
    110         if ($methode == 'texte') {
    111                 $html = _T('rainette:tendance_texte_'.$tendance_en);
    112         }
    113         else if ($methode == 'symbole') {
    114                 $html = _T('rainette:tendance_symbole_'.$tendance_en);
    115         }
    116         else if ($methode == 'icone') {
    117                 if (!$chemin) $chemin = _RAINETTE_ICONES_PATH;
    118 
    119                 // Le dossier personnalise ou le dossier passe en argument a bien l'icone requise
    120                 if ($img = find_in_path($chemin.$tendance_en.'.'.$extension)) {
    121                         list ($l,$h) = @getimagesize($img);
    122                         $html = '<img src="'.$img.'" alt="'._T('rainette:tendance_texte_'.$tendance_en).'" title="'._T('rainette:tendance_texte_'.$tendance_en).'" width="'.$l.'" height="'.$h.'" />';
    123                 }
    124                 // Le dossier personnalise n'a pas d'image, on prend l'icone par defaut dans le repertoire img_meteo/
    125                 elseif (($chemin = 'img_meteo/') && ($img = find_in_path($chemin.$tendance_en.'.'.$extension))) {
    126                         list ($l,$h) = @getimagesize($img);
    127                         $html = '<img src="'.$img.'" alt="'._T('rainette:tendance_texte_'.$tendance_en).'" title="'._T('rainette:tendance_texte_'.$tendance_en).'" width="'.$l.'" height="'.$h.'" />';
    128                 }
    129         }
    130         return $html;
     114
     115        if ($methode == 'symbole') return _T('rainette:tendance_symbole_'.$tendance_en);
     116
     117        $t = _T('rainette:tendance_texte_'.$tendance_en);
     118
     119        return ($methode == 'texte') ? $t : rainette_icone($tendance_en, $t, $chemin, $extension);
    131120}
    132121
Note: See TracChangeset for help on using the changeset viewer.