Changeset 88563 in spip-zone for _plugins_/gravatar


Ignore:
Timestamp:
Apr 10, 2015, 8:13:03 PM (5 years ago)
Author:
cedric@…
Message:

Un gravatar vide n'est rechecke que quand il correspond a celui du visiteur identifie, cela evite de verifier sans arret des tonnes de gravatar vides qui ne seront jamais crees, et quand un utilisateur se cree son gravatar il le verra apparaitre en venant poster un message de forum par exemple

Location:
_plugins_/gravatar
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/gravatar/gravatar_fonctions.php

    r88544 r88563  
    151151 * @param     string      $email    le mail qui va servir pour calculer le gravatar
    152152 * @param     int|string  $default  gravatar par defaut : 404 ou identicon/monsterid/wavatar
     153 * @param     bool        $force    forcer la recuperation synchrone
    153154 * @return    null|string           le chemin du fichier gravatar, s'il existe
    154155 */
    155 function gravatar($email, $default='404') {
     156function gravatar($email, $default='404', $force=false) {
    156157        static $nb=5; // ne pas en charger plus de 5 anciens par tour
    157158        static $max=10; // et en tout etat de cause pas plus de 10 nouveaux
     
    231232                                return $gravatar;
    232233                        }
    233                         spip_log("Actualiser gravatar vide $duree_vide s (cache maxi " . _GRAVATAR_CACHE_DELAY_CHECK_NEW . "s)", "gravatar");
     234                        // un actualise un gravatar vide que si c'est celui du visiteur identifie
     235                        if ($force
     236                          OR (isset($GLOBALS['visiteur_session']['email']) AND $GLOBALS['visiteur_session']['email']===$email)
     237                          OR (isset($GLOBALS['visiteur_session']['session_email']) AND $GLOBALS['visiteur_session']['session_email']===$email) ){
     238                                spip_log("Actualiser gravatar vide $duree_vide s (cache maxi " . _GRAVATAR_CACHE_DELAY_CHECK_NEW . "s)", "gravatar");
     239                        }
     240                        else {
     241                                return $gravatar;
     242                        }
    234243                }
    235244                else {
     
    294303                        spip_log("gravatar.com trop long a repondre ($dt), on lock $lock_file", "gravatar");
    295304                }
     305                else {
     306                        spip_log('gravatar vide pour ' . $email,"gravatar");
     307                }
    296308                // si on a pas eu de reponse mais qu'un cache existe le prolonger pour eviter de rechecker tout le temps
    297309                if ($gravatar===$gravatar_cache){
  • _plugins_/gravatar/paquet.xml

    r88543 r88563  
    22        prefix="gravatar"
    33        categorie="communication"
    4         version="1.6.0"
     4        version="1.6.1"
    55        etat="stable"
    66        compatibilite="[2.0.0;3.1.*]"
  • _plugins_/gravatar/plugin.xml

    r88543 r88563  
    33        <auteur>Thomas Beaumanoir, [Clever Age->http://www.clever-age.com], Fil et Cedric</auteur>
    44        <icon>images/gravatar-64.png</icon>
    5         <version>1.6.0</version>
     5        <version>1.6.1</version>
    66        <etat>stable</etat>
    77        <slogan>
Note: See TracChangeset for help on using the changeset viewer.