php:cache_gravatar
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
php:cache_gravatar [2012-07-08 12:43] – mitsu | php:cache_gravatar [2015-07-04 11:05] (Version actuelle) – mitsu | ||
---|---|---|---|
Ligne 11: | Ligne 11: | ||
*/ | */ | ||
$expire = time() -604800 ; // default: 604800 (7 days) | $expire = time() -604800 ; // default: 604800 (7 days) | ||
- | if (isset($_GET[' | + | $size = 65; |
- | { | + | |
- | if (strlen($_GET[' | + | if(isset($_GET[' |
- | $hash = ereg_replace(" | + | switch |
- | if (strlen($hash) != 32) { die; } // still 32 characters ? if no, given hash wasn't genuine. die. | + | case 0: |
- | $newfile = $hash.' | + | $size = 32; break; |
- | $file = 'https:// | + | case 1: |
- | if(file_exists($newfile) && filemtime($newfile) < $expire) | + | $size = 120; break; |
- | { unlink($newfile); } // expired gravatar, out ! | + | default: |
- | if (file_exists($newfile)) | + | $size = 65; |
- | { } // the gravatar wasn't removed before: it's valid and doesn' | + | } |
- | else | + | |
- | { copy($file, $newfile); | + | |
- | $imagecheck | + | |
- | if ($imagecheck[' | + | |
- | { | + | |
- | imagepng(imagecreatefromjpeg($newfile), | + | |
- | unlink($newfile); | + | |
- | rename($newfile.' | + | |
- | } | + | |
} | } | ||
- | header('Location: | + | |
- | else | + | if (isset($_GET['g'])) { // g given ? if yes... |
- | { header(" | + | if (strlen($_GET['g']) !== 32) { header(" |
+ | $hash = preg_replace(" | ||
+ | if (strlen($hash) != 32) { header(" | ||
+ | |||
+ | $newfile = $hash.' | ||
+ | $file = 'http://gravatar.com/ | ||
+ | if(file_exists($newfile) && filemtime($newfile) < $expire) { | ||
+ | unlink($newfile); | ||
+ | } | ||
+ | if (file_exists($newfile)) { | ||
+ | } | ||
+ | else { | ||
+ | copy($file, $newfile); | ||
+ | $imagecheck = getimagesize($newfile); | ||
+ | if ($imagecheck[' | ||
+ | imagepng(imagecreatefromjpeg($newfile), | ||
+ | unlink($newfile); | ||
+ | rename($newfile.' | ||
+ | } | ||
+ | } | ||
+ | header(' | ||
+ | header(' | ||
+ | | ||
+ | | ||
+ | | ||
+ | exit; | ||
+ | } | ||
+ | |||
+ | else { | ||
+ | $seconds_old = 2592000; // 30 days | ||
+ | $dirhandle = opendir(' | ||
+ | while($fileclean = readdir($dirhandle)) { | ||
+ | if( $fileclean != " | ||
+ | if(filemtime($fileclean) < (time()-$seconds_old) ) { | ||
+ | unlink($fileclean); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | header(' | ||
+ | exit; | ||
+ | } | ||
?> | ?> | ||
</ | </ | ||
- | Pour passer les avatars Wordpress, envoyez ce fichier dans le dossier des extensions et activez-le: | + | Pour passer les avatars Wordpress, envoyez ce fichier dans le dossier des extensions et activez-le |
<file php gravatar.php> | <file php gravatar.php> | ||
<?php | <?php |
php/cache_gravatar.1341744211.txt.gz · Dernière modification : 2013-02-19 21:28 (modification externe)