Guest
Public paste!

charly

By: a guest | May 28th, 2008 | Syntax: PHP | Size: 1.44 KB | Hits: 90 | Expires: Never
Copy text to clipboard
  1. <?php
  2. /**
  3. récupère les 4 dernières photos public d'un utilisateur donné
  4. utilise l'API Flickr avec un format de réponse PHP
  5. nécessite PHP5
  6.        
  7. @author Charles-henri GUERIN <http://charlyx.wordpress.com>
  8. @version 1
  9. */
  10. function doGet(array $params) {
  11.         $params['format'] = 'php_serial';
  12.        
  13.         foreach($params as $k=>$v)
  14.                 $encoded_params[]=urlencode($k).'='.urlencode($v);
  15.                
  16.         $url = 'http://api.flickr.com/services/rest/?'.implode('&', $encoded_params);
  17.         $rsp = file_get_contents($url);
  18.        
  19.         return unserialize($rsp);
  20. }
  21.  
  22. function miniUrl(array $img) {
  23.         return 'http://farm'.$img['farm'].'.static.flickr.com/'.$img['server'].'/'.$img['id'].'_'.$img['secret'].'_t.jpg';
  24. }
  25.  
  26. function photopage(array $img) {
  27.         return 'http://www.flickr.com/photos/'.$img['owner'].'/'.$img['id'];
  28. }
  29.  
  30. $params=array(
  31.         'api_key'=>'[clé api]',
  32.         'method'=>'flickr.people.getPublicPhotos',
  33.         'user_id'=>'[id utilisateur]',
  34.         'per_page'=>4
  35.         );
  36.  
  37. $resp=doGet($params);
  38.  
  39. if ($resp['stat']!='ok') {
  40.         switch($resp['code']) {
  41.                 case 1:$msg='T\'as chi&eacute; dans la colle mec!'; break;
  42.                 case 105:$msg='Flickr est dans les choux.'; break;
  43.                 default:$msg='Faut revoir ton code, noob..';
  44.         }
  45.        
  46.         die('document.write(\'<h4>'.$msg.'</h4>\');');
  47. }      
  48.  
  49. echo 'document.write(\'';
  50.  
  51. foreach($resp['photos']['photo'] as $photo)
  52.         echo '<a href="',photopage($photo),'" title="',$photo['title'],'"><img src="',miniUrl($photo),'" alt="',$photo['title'],'" />',"</a><br />";
  53.  
  54. echo '\');';