Inclua álbuns do facebook no seu site
IMPORTANTE
Este método está desatualizado, assim que eu conseguir atualizar eu disponibilizarei aqui.
Obrigado
Bom galera
Essa classe lista e exibe todos os álbuns do seu facebook, assim você pode utilizar um plugin de sua preferência para dar um efeito legal na sua galeria, eu dei uma customizada no script original, basta você incluir o jquery de sua preferência ex(shadowbox, lighbox e etc)...
créditos: http://www.phpclasses.org/browse/file/33718.html
Obs: o arquivo phpcUrl.php tem de estar na mesma página que o index.php
Vamos lá:
index.php (mostra seus álbuns para entrar nas respectivas galerias)
<!DOCTYPE HTML>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<title>Facebook Albuns</title>
<link rel="stylesheet" type="text/css" href="style.css" media="screen"/>
</head>
<body>
<?php
define('PAGE_ID', 'ID DA SUA PAGINA Exemplo: 000011112222333');
define('APP_ID','');
define('APP_SECRET','');
include("phpcUrl.php");
$face = new FacePageAlbum(PAGE_ID, $_GET['aid'], $_GET['aurl'], APP_ID, APP_SECRET);
?>
</body>
</html>phpcUrl.php (eis a classe)
<?php
class FacePageAlbum
{
private $URL;
private $TOKEN;
private $PAGE;
private $PHOTOS;
private function setPage()
{
$protocol = $_SERVER['HTTPS'] == 'on' ? 'https' : 'http';
$this->PAGE = $protocol.'://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
}
private function setAlbumUrl($id)
{
if(is_numeric($id))
{
if($this->TOKEN)
{
$this->URL = "http://graph.facebook.com/".$id."/albums?".$this->TOKEN;
return true;
}
else
{
$this->URL = "http://graph.facebook.com/".$id."/albums";
return true;
}
}
else
{
return false;
}
}
private function setToken($appId, $appSecret)
{
$this->TOKEN = $this->curlGetFile('https://graph.facebook.com/oauth/access_token?type=client_cred&client_id='.$appId.'&client_secret='.$appSecret);
}
public function FacePageAlbum($id, $albumId, $aurl, $appId, $appSecret)
{
$this->setPage();
if($id)
{
if($appId && $appSecret)
$this->setToken($appId, $appSecret);
$this->setAlbumUrl($id);
if($albumId && $this->albumChk($albumId))
{
$this->PHOTOS = 'http://graph.facebook.com/'.$albumId.'/photos';
$json = json_decode($this->curlGetFile($this->PHOTOS));
if($json -> error) die("THERE HAS BEEN AN ERROR:album id invalid");
echo '<a class="FBback" href="javascript:history.go(-1)">Voltar</a>';
echo '<a class="FBbackAlbuns" href="'.$this->PAGE.'">Voltar para álbuns</a>';
if($json->paging->previous)
echo '<a class="FBprev" href="'.$PAGE.'?aurl='.urlencode($json->paging->previous).'">Voltar</a>';
if($json->paging->next)
echo '<a class="FBnext" href="'.$PAGE.'?aurl='.urlencode($json->paging->next).'">Próximo</a>';
echo '<br clear="all" />';
foreach($json->data as $v)
{
echo "<a class='ImageLink' href = '".$v->source."'><img class='thumbsA' src='".$v->picture."' /></a>";
}
return true;
}
else if ($aurl)
{
$this->PHOTOS = urldecode($aurl);
$json = json_decode($this->curlGetFile($this->PHOTOS));
if($json -> error) die("THERE HAS BEEN AN ERROR: album url invalid");
echo '<a class="FBback" href="javascript:history.go(-1)">Voltar</a>';
echo '<a class="FBbackAlbuns" href="'.$this->PAGE.'">Voltar para álbuns</a>';
if($json->paging->previous)
echo '<a class="FBprev" href="'.$PAGE.'?aurl='.urlencode($json->paging->previous).'">Voltar</a>';
if($json->paging->next)
echo '<a class="FBnext" href="'.$PAGE.'?aurl='.urlencode($json->paging->next).'">Próximo</a>';
echo '<br clear="all" />';
foreach($json->data as $v)
{
echo "<a class='ImageLink' href = '".$v->source."'><img width='110px' src='".$v->picture."' /></a>";
}
return true;
}
else
{
$json = json_decode($this->curlGetFile($this->URL));
if($json -> error) die("THERE HAS BEEN AN ERROR: pageId invalid");
foreach($json->data as $v)
{
echo "<div class ='ImgWrapper'>";
echo "<img src='https://graph.facebook.com/".$v->id."/picture' />";
//echo $v->from->name."<br>"; NOME DA PAGINA
echo "<a href = '".$this->PAGE;
echo "?";
echo "aid=".$v->id."'>".$v->name."</a>";
echo "<span>Fotos:".$v->count."</span><br>";
echo "<br clear='all'></div>";
}
return true;
}
}
return false;
}
public function curlGetFile($curlUrl)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $curlUrl);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
public function albumChk($albumId)
{
$json = json_decode($this->curlGetFile($this->URL));
$arrayId = array();
foreach($json->data as $v)
array_push($arrayId, $v->id);
if(!in_array($albumId,$arrayId)) return false;
return true;
}
};
?>style.css (estilo css que eu fiz, para facilitar a vida de todos haha)
/*=========================================================
RESET
=========================================================*/
*{
margin:0;
padding:0;
}/*=========================================================
GALERIA
=========================================================*/
.ImgWrapper{
float:left;
display:block;
background:#eaeaea;
margin:5px;
width:200px;
height:210px;
}
.ImgWrapper img{
display:block;
margin:10px auto;
max-width:190px;
height:125px;
}
.ImgWrapper a{
display:block;
text-decoration:none;
font:bold 14px Trebuchet MS, Arial, Verdana;
text-align:center;
color:#333;
}
.ImgWrapper a:hover{
color:#fff;
}
.ImgWrapper span{
display:block;
padding:2px 0;
font:12px Trebuchet MS, Arial, Verdana;
text-align:center;
color:#606060;
}
.thumbsA{
margin:5px;
max-width:110px;
height:110px;
}/*=========================================================
BOTÕES
=========================================================*/
.FBback, .FBprev, .FBnext, .FBbackAlbuns{
display:block;
float:left;
margin:5px 5px 10px 0;
width:130px;
text-align:center;
border-top: 1px solid #d6d6d6;
background: #707375;
background: -webkit-gradient(linear, left top, left bottom, from(#9fa3a6), to(#707375));
background: -webkit-linear-gradient(top, #9fa3a6, #707375);
background: -moz-linear-gradient(top, #9fa3a6, #707375);
background: -ms-linear-gradient(top, #9fa3a6, #707375);
background: -o-linear-gradient(top, #9fa3a6, #707375);
padding: 1px 0;
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
-webkit-box-shadow: rgba(0,0,0,1) 0 1px 0;
-moz-box-shadow: rgba(0,0,0,1) 0 1px 0;
box-shadow: rgba(0,0,0,1) 0 1px 0;
text-shadow:0px -1px 0px #5b5b5b;
color: #ffffff;
font:bold 12px Trebuchet MS, Arial, Verdana;
text-decoration: none;
vertical-align: middle;
}
.FBback:hover, .FBprev:hover, .FBnext:hover, .FBbackAlbuns:hover{
border-top-color: #ccc;
background: #70767a;
color: #ffffff;
}
.FBback:active, .FBprev:active, .FBnext:active, .FBbackAlbuns:active{
border-top-color: #fff;
background: #666666;
}Galera espero ter sido útil, aproveitem.
Discussão (39)
Carregando comentários...