|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
UTILISER SES ALBUMS PHOTOS PICASA SUR SON SITE PERSO
Information sur la source
Description
Permet d'aller rechercher ses albums photos pour les afficher sur son site. Permet de récupérer la liste des albums, la liste des photos, les url (google) des photos et des miniatures.
Source
- Classe Picassa :
- /**
- * Fonction permettant d'utiliser l'album photo de Picassa
- * @author Ryo Sensei
- * @version 1.0
- *
- */
- class Picassa {
- var $client;
- /**
- * Permet d'afficher une photo en grand, et les miniatures en dessous pour la navigation
- * @param unknown_type $photoId
- */
- function showPhoto($photoId,$album){
- ?>
- <div style="width:90%;margin-left:auto;margin-right:auto;margin-top:20px;text-align:center;border:1px solid blue;">
- <img src="<?echo$photoId?>?imgmax=512">
- </div>
- <div style="width:90%;margin-left:auto;margin-right:auto;margin-top:2px;text-align:center;border:1px solid red;">
- <table style="width:100%;"><tr>
- <?
- $list = $this->getPhotos($album);
- foreach($list as $k=>$photo){
- if($photo["url"] == $photoId){
- $key = $k;
- }
- }
- if(($key-1)<0)$key=1;
- for($i=$key-2;$i<=$key+2;$i++){
- if(!isset($list[$i]))continue;
- echo "<td><center><a href=?page=book&album=$album&photo=".$list[$i]["url"].">
- <img src=".$list[$i]["thumbnail"].">
- </a></center></td>";
- }
-
-
- ?>
- </tr></table>
- </div>
- <?
- }
- /**
- * Constructor
- *
- * @param unknown_type $client
- * @return Picassa
- */
- function Picassa($client){
- $this->client = $client;
- }
- /**
- * Retourne dans un tableau la liste des albums
- *
- * @param unknown_type $client
- * @return array=>array(
- * [text] => titre de l'album
- * [thumbnail] => image de l'album
- * [albumId] => identifiant de l'album
- * )
- */
- function getListAlbums($admin = false){
- $client = $this->client;
- $gp = new Zend_Gdata_Photos($client, "Google-DevelopersGuide-1.0");
- try {
- $userFeed = $gp->getUserFeed("default");
- foreach ($userFeed as $userEntry) {
- if(!$admin && $userEntry->gphotoAccess->text == "private")continue;
- //print_r($userEntry);
- $list[] = array("text"=>$userEntry->title->text,
- "thumbnail"=>$userEntry->mediaGroup->thumbnail[0]->url,
- "albumId"=>$userEntry->gphotoName->text);
-
-
- }
- } catch (Exception $e) {
- echo "Error: " . $e->getMessage() . "<br />\n";
- }
- return $list;
- }
- /**
- * Fonction permettant de récupérer la liste des photos d'un album
- *
- * @param unknown_type $album titre de l'album (identifiant)
- * @param unknown_type $client
- * @return array (
- * array(
- * [url] => url de la photo (version original)
- * [titre] => titre de la photo (nom)
- * [thumbnail] => miniature de la photo
- * )
- * )
- */
- function getPhotos($album){
-
- $client = $this->client;
-
- $album = str_replace("_"," ",$album);
-
- $gp = new Zend_Gdata_Photos($client, "Google-DevelopersGuide-1.0");
-
- $query = $gp->newAlbumQuery();
-
- $query->setUser("default");
- $query->setAlbumName($album);
-
- $albumFeed = $gp->getAlbumFeed($query);
-
- foreach ($albumFeed as $albumEntry) {
- //print_r($albumEntry);die;
- //$photo["url"] = $albumEntry->mediaGroup->content[0]->url;
- $mediaContentArray = $albumEntry->getMediaGroup()->getContent();
- $photo["url"] = $mediaContentArray[0]->getUrl();
-
- $photo["titre"] = $albumEntry->title->text;
- $photo["thumbnail"] = $albumEntry->mediaGroup->thumbnail[0]->url;
- $list[] = $photo;
- }
- return $list;
- }
- function randomPhoto(){
- $gp = new Zend_Gdata_Photos($this->client, "Google-DevelopersGuide-1.0");
- $query = $gp->newUserQuery();
-
- // indicate the user's feed to retrieve
- $query->setUser("default");
-
- // set to only return photos
- // the default kind value for a user feed is to include only albums
- $query->setKind("photo");
-
- $query->setMaxResults("1");
-
- try {
- // we're passing null for the username, as we want to send
- // additional query parameters generated by the UserQuery class
- $userFeed = $gp->getUserFeed(null, $query);
-
- // because we specified 'photo' for the kind, only PhotoEntry objects
- // will be contained in the UserFeed
- foreach ($userFeed as $photoEntry) {
- echo "<img src=\"".$photoEntry->mediaGroup->thumbnail[2]->url."\" width=100%>";
- }
- } catch (Zend_Gdata_App_HttpException $e) {
- echo "Error: " . $e->getMessage() . "<br >\n";
- if ($e->getResponse() != null) {
- echo "Body: <br />\n" . $e->getResponse()->getBody() .
- "<br />\n";
- }
- // In new versions of Zend Framework, you also have the option
- // to print out the request that was made. As the request
- // includes Auth credentials, it's not advised to print out
- // this data unless doing debugging
- // echo "Request: <br />\n" . $e->getRequest() . "<br />\n";
- } catch (Zend_Gdata_App_Exception $e) {
- echo "Error: " . $e->getMessage() . "<br />\n";
- }
- }
-
- }
-
- Classe d'init :
-
- function init(){
-
- require_once 'Zend/Loader.php';
- Zend_Loader::loadClass('Zend_Gdata_Photos');
- Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
- Zend_Loader::loadClass('Zend_Gdata_AuthSub');
-
- include $PATH."config.php";
-
- $serviceName = Zend_Gdata_Photos::AUTH_SERVICE_NAME;
- $client = Zend_Gdata_ClientLogin::getHttpClient($username, $pass, $serviceName);
-
- return $client;
- }
-
- Fichier de config :
-
- $username = "[id]";
- $pass = "[pass]";
Classe Picassa :
/**
* Fonction permettant d'utiliser l'album photo de Picassa
* @author Ryo Sensei
* @version 1.0
*
*/
class Picassa {
var $client;
/**
* Permet d'afficher une photo en grand, et les miniatures en dessous pour la navigation
* @param unknown_type $photoId
*/
function showPhoto($photoId,$album){
?>
<div style="width:90%;margin-left:auto;margin-right:auto;margin-top:20px;text-align:center;border:1px solid blue;">
<img src="<?echo$photoId?>?imgmax=512">
</div>
<div style="width:90%;margin-left:auto;margin-right:auto;margin-top:2px;text-align:center;border:1px solid red;">
<table style="width:100%;"><tr>
<?
$list = $this->getPhotos($album);
foreach($list as $k=>$photo){
if($photo["url"] == $photoId){
$key = $k;
}
}
if(($key-1)<0)$key=1;
for($i=$key-2;$i<=$key+2;$i++){
if(!isset($list[$i]))continue;
echo "<td><center><a href=?page=book&album=$album&photo=".$list[$i]["url"].">
<img src=".$list[$i]["thumbnail"].">
</a></center></td>";
}
?>
</tr></table>
</div>
<?
}
/**
* Constructor
*
* @param unknown_type $client
* @return Picassa
*/
function Picassa($client){
$this->client = $client;
}
/**
* Retourne dans un tableau la liste des albums
*
* @param unknown_type $client
* @return array=>array(
* [text] => titre de l'album
* [thumbnail] => image de l'album
* [albumId] => identifiant de l'album
* )
*/
function getListAlbums($admin = false){
$client = $this->client;
$gp = new Zend_Gdata_Photos($client, "Google-DevelopersGuide-1.0");
try {
$userFeed = $gp->getUserFeed("default");
foreach ($userFeed as $userEntry) {
if(!$admin && $userEntry->gphotoAccess->text == "private")continue;
//print_r($userEntry);
$list[] = array("text"=>$userEntry->title->text,
"thumbnail"=>$userEntry->mediaGroup->thumbnail[0]->url,
"albumId"=>$userEntry->gphotoName->text);
}
} catch (Exception $e) {
echo "Error: " . $e->getMessage() . "<br />\n";
}
return $list;
}
/**
* Fonction permettant de récupérer la liste des photos d'un album
*
* @param unknown_type $album titre de l'album (identifiant)
* @param unknown_type $client
* @return array (
* array(
* [url] => url de la photo (version original)
* [titre] => titre de la photo (nom)
* [thumbnail] => miniature de la photo
* )
* )
*/
function getPhotos($album){
$client = $this->client;
$album = str_replace("_"," ",$album);
$gp = new Zend_Gdata_Photos($client, "Google-DevelopersGuide-1.0");
$query = $gp->newAlbumQuery();
$query->setUser("default");
$query->setAlbumName($album);
$albumFeed = $gp->getAlbumFeed($query);
foreach ($albumFeed as $albumEntry) {
//print_r($albumEntry);die;
//$photo["url"] = $albumEntry->mediaGroup->content[0]->url;
$mediaContentArray = $albumEntry->getMediaGroup()->getContent();
$photo["url"] = $mediaContentArray[0]->getUrl();
$photo["titre"] = $albumEntry->title->text;
$photo["thumbnail"] = $albumEntry->mediaGroup->thumbnail[0]->url;
$list[] = $photo;
}
return $list;
}
function randomPhoto(){
$gp = new Zend_Gdata_Photos($this->client, "Google-DevelopersGuide-1.0");
$query = $gp->newUserQuery();
// indicate the user's feed to retrieve
$query->setUser("default");
// set to only return photos
// the default kind value for a user feed is to include only albums
$query->setKind("photo");
$query->setMaxResults("1");
try {
// we're passing null for the username, as we want to send
// additional query parameters generated by the UserQuery class
$userFeed = $gp->getUserFeed(null, $query);
// because we specified 'photo' for the kind, only PhotoEntry objects
// will be contained in the UserFeed
foreach ($userFeed as $photoEntry) {
echo "<img src=\"".$photoEntry->mediaGroup->thumbnail[2]->url."\" width=100%>";
}
} catch (Zend_Gdata_App_HttpException $e) {
echo "Error: " . $e->getMessage() . "<br >\n";
if ($e->getResponse() != null) {
echo "Body: <br />\n" . $e->getResponse()->getBody() .
"<br />\n";
}
// In new versions of Zend Framework, you also have the option
// to print out the request that was made. As the request
// includes Auth credentials, it's not advised to print out
// this data unless doing debugging
// echo "Request: <br />\n" . $e->getRequest() . "<br />\n";
} catch (Zend_Gdata_App_Exception $e) {
echo "Error: " . $e->getMessage() . "<br />\n";
}
}
}
Classe d'init :
function init(){
require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata_Photos');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
Zend_Loader::loadClass('Zend_Gdata_AuthSub');
include $PATH."config.php";
$serviceName = Zend_Gdata_Photos::AUTH_SERVICE_NAME;
$client = Zend_Gdata_ClientLogin::getHttpClient($username, $pass, $serviceName);
return $client;
}
Fichier de config :
$username = "[id]";
$pass = "[pass]";
Conclusion
Exemple ici : www.Sarl-varlet.com?page=book Besoin de Zend pour fonctionner : dispo ici : http://framework.zend.com/download
Fichier Zip
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
Télécharger le zip
Historique
- 07 juillet 2008 12:29:18 :
- Description de la fonction showPhoto
Sources du même auteur
Sources de la même categorie
Sources en rapport avec celle ci
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
php et google ... ? [ par michelvernet2 ]
bonjour,pour éviter un PB de session avec aol, je force la session dans l'adresse, voir : www.nouveauxobjets.com . Pour ceux qui ont la google barre,
referencement google et PHP [ par michelvernet2 ]
bonjour,pour éviter un PB de session avec aol, je force la session dans l'adresse, voir : www.nouveauxobjets.com . Pour ceux qui ont la google barre,
Aide sur API Google nxgooglemapsapi.php [ par koestel ]
Bonjour,J'utilise la classe ''nxgooglemapsapi.php" pour mieux gèrer l'api google pour une applicationcela fonctionne mais j'aimerai pouvoir :Rajouter
Php, listing de recherche google [ par goth666 ]
Bonsoir, est-il possible de créer un .php qui ira chercher les liens des résultats trouvé par google?Je m'explique, je voudrais stocker des adresses t
problème opendir [ par tom099 ]
Bonjour à tous!j'ai déjà posé cette question dans la partie flash, mais celà relève plus du phpje fais communiquer flash et php par le biais d'un sen
Extension PHP [ par Yoteco ]
Bonjour,Je développe actuellement une extension PHP pour faire un benchmark lors de l'exécution du code.Mon problème est que je n'arrive pas à capter
Include d'une page php avec une image (header?) [ par mono_neurone ]
Bonjour a tous,Il y a peu de temps, je me suis attaqué a la réalisation d'un site en partie en php mais la je suis bloqué.Le prob en qq mots : index.p
Mise à jour de la version de php fourni avec EasyPhp [ par sagat06 ]
Bonjour à tous,je cherche à upgrader la version de php fournie avec la solution EasyPHP.En effet, celle actuellement fournie est la version 4.3.10 (qu
Calcule d'intervalle temps entre 2 pages PHP [ par fabiano13 ]
Bonjour, Je débute a peine aujourd'hui le PHP en ayant des bases assez solides en ASP. Je souhaiterai savoir comment calculer la vitesse de 2 pages
Ajouter la valeur +20 dans une table dans une page php [ par guillot40 ]
Bonjour,Je voulais savoir si il était possible de changer la valeur d'une table et di ajouter +20 a chaque fois que la page php et vue.Base de donnée:
|
Téléchargements
Logiciels à télécharger sur le même thème :
|