Annonce

  •  » Plugins
  •  » Balise SPIP #PWGIMAGE : afficher une miniature aléatoire

#1 2008-10-12 23:01:05

PlisNuX
Membre
2007-09-23
23

Balise SPIP #PWGIMAGE : afficher une miniature aléatoire

J'utilise ce code avec la version 1.7.2 de PWG et la version 1.9.2 de SPIP.

Dans le squelette, j'insère la balise #PWGIMAGE à l'endroit où je souhaite disposer de la miniature.

A insérer dans le fichier mes_fonctions.php dans votre dossier squelette :

Code:

// =====================================================================================================================
// Balise : #PWGIMAGE
// =====================================================================================================================
// Auteur : PlisNuX
// Inspiré de : http://phpwebgallery.net/doc/doku.php/fr:fonctionnalites:web_services
// Fonction : affiche une image aléatoire 
// Parametre: Aucun
// Licence : GPL
// =====================================================================================================================

function balise_PWGIMAGE($params) {
  $params->code = 'fnc_pwg()';
  $params->interdire_scripts = true;
  return $params;
}

function fnc_pwg() {
  // Plus d'explications ici : http://phpwebgallery.net/doc/doku.php/fr:fonctionnalites:web_services
  // initialisation de la session
  $session = curl_init(); /* (a) */
       
  // configuration des options /* (b) */
  curl_setopt($session, CURLOPT_URL,
  "http://photos.mondomain.tld/ws.php?format=php&method=pwg.categories.getImages&recursive=true&per_page=1&order=random&f_with_thumbnail=true&partner=laclepartenaire");
  curl_setopt($session, CURLOPT_HEADER, 0);
  curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
       
  // exécution de la session
  $response = curl_exec($session);   /* Ici nous réceptionnons le tableau sérialisé de la requête (c) */
  $thumbc = unserialize($response);  /* que nous "désérialisons" (d) */
  curl_close($session);           /* fermeture des ressources (e) */
       
  if ($thumbc["stat"]=='ok') { /* Réponse correcte ? (f) */
    for ($i=0;$i<$thumbc["result"]["images"]["count"];$i++) {  /* (g) */
      $picture = $thumbc["result"]["images"]["_content"][$i];  /* (h) */
      // dans picture nous avons :  id, width, height, hit, file, name, comment, tn_url, element_url /* (i) */
      $HTML_txt = '<a href="http://photos.mondomain.tld/picture.php?/'.$picture['id'].'" title="'.$picture['name'].'">
      <img src="'.$picture['tn_url'].'" alt="'.$picture['name'].'" /></a><br /><br />';
      
      return $HTML_txt;
    }
  } else {
    return 'La galerie est momentanément indisponible';
  }
}

Voilà !
Si ça peut servir un jour :)

Hors ligne

  •  » Plugins
  •  » Balise SPIP #PWGIMAGE : afficher une miniature aléatoire

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact