Annonce

Écrire une réponse

Veuillez écrire votre message et l'envoyer

Cliquez dans la zone sombre de l'image pour envoyer votre message.

Retour

Résumé de la discussion (messages les plus récents en premier)

PlisNuX
2008-10-12 23:01:05

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 :)

Pied de page des forums

Propulsé par FluxBB

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