Current File : /home/aventura/public_html/php/myfacebook.php |
<?php
function setPage()
{
$protocol = $_SERVER['HTTPS'] == 'on' ? 'https' : 'http';
$PAGE = $protocol.'://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
return $PAGE;
}
function setAlbumUrl($id)
{
if(is_numeric($id))
{
//$access_token="CAACEdEose0cBAGiEQkGnHgPMZBivTVKqm8qmXv9rHaXYP8eHUiAjitjcZAA5eL2PkHTcAS6R0trQM0ZAWKYFmyMgfCMkLYdddaFs5IKBEpYpKI0aXWP43RJt5X8AumMVRmQqvZALkMiCqZA7YGvaMqmRIHFpZBXO10NjiBYZAwZA5yfz8GX1UtIZCkuZBjrlEUJWi12jZAZBuDoYPwGYmXXKiHYQ";
if($TOKEN )
{
$URL = "https://graph.facebook.com/v2.3/".$id."/albums?$TOKEN" ;
return $URL;
}
else
{
$URL = "https://graph.facebook.com/v2.3/".$id."/albums?limit=500&$TOKEN";
return $URL;
}
}
else
{
return false;
}
}
function setToken($appId, $appSecret)
{
$TOKEN = curlGetFile('https://graph.facebook.com/oauth/access_token?type=client_cred&client_id='.$appId.'&client_secret='.$appSecret);
//$access_token="CAACEdEose0cBAGiEQkGnHgPMZBivTVKqm8qmXv9rHaXYP8eHUiAjitjcZAA5eL2PkHTcAS6R0trQM0ZAWKYFmyMgfCMkLYdddaFs5IKBEpYpKI0aXWP43RJt5X8AumMVRmQqvZALkMiCqZA7YGvaMqmRIHFpZBXO10NjiBYZAwZA5yfz8GX1UtIZCkuZBjrlEUJWi12jZAZBuDoYPwGYmXXKiHYQ";
//echo $TOKEN;
return $TOKEN;
}
function FacePageAlbum($id, $albumId, $aurl, $appId, $appSecret, $var_album)
{
$html="";
$PAGE=setPage();
if($id)
{
if($appId && $appSecret)
$TOKEN=setToken($appId, $appSecret);
//echo $TOKEN;
$URL=setAlbumUrl($id);
if($albumId)
{
//$access_token="CAACEdEose0cBAGiEQkGnHgPMZBivTVKqm8qmXv9rHaXYP8eHUiAjitjcZAA5eL2PkHTcAS6R0trQM0ZAWKYFmyMgfCMkLYdddaFs5IKBEpYpKI0aXWP43RJt5X8AumMVRmQqvZALkMiCqZA7YGvaMqmRIHFpZBXO10NjiBYZAwZA5yfz8GX1UtIZCkuZBjrlEUJWi12jZAZBuDoYPwGYmXXKiHYQ";
$PHOTOS = 'https://graph.facebook.com/v2.3/'.$albumId.'/photos?limit=600&'.$TOKEN;
//echo $PHOTOS;
$prueba= curlGetFile($PHOTOS);
//echo "a ".$prueba;
$json = json_decode($prueba);
if($json -> error) die("THERE HAS BEEN AN ERROR:album id invalid");
/*$html.= '<a id="back" href="javascript:history.go(-1)">Go Back</a>';
$html.= '<a id="backAlbums" href="'.$PAGE.'">Back to albums</a>';
$html.= '<br clear="all" />';*/
if($json->paging->previous)
//$html.= '<a id="prev" href="'.$PAGE.'?aurl='.urlencode($json->paging->previous).'">Previous</a>';
if($json->paging->next)
//$html.= '<a id="next" href="'.$PAGE.'?aurl='.urlencode($json->paging->next).'">Next</a>';
$html.= '<br clear="all" />';
$return_arr = array();
$i=0;
foreach($json->data as $v)
{
$row[$i]['source']=$v->source;
$row[$i]['picture']=$v->picture;
$html.= "<a class='ImageLink' href = '".$v->source."'><img width='110px' src='".$v->picture."' /></a>";
//array_push($return_arr,$row);
$i++;
}
$datos=array_to_json($return_arr);
return $row;
}
else if ($aurl)
{
$PHOTOS = urldecode($aurl);
$json = json_decode(curlGetFile($PHOTOS));
if($json -> error) die("THERE HAS BEEN AN ERROR: album url invalid");
echo '<a id="back" href="javascript:history.go(-1)">Go Back</a>';
echo '<a id="backAlbums" href="'.$PAGE.'">Back to albums</a>';
echo '<br clear="all" />';
if($json->paging->previous)
echo '<a id="prev" href="'.$PAGE.'?aurl='.urlencode($json->paging->previous).'">Previous</a>';
if($json->paging->next)
echo '<a id="next" href="'.$PAGE.'?aurl='.urlencode($json->paging->next).'">Next</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 if ($var_album)
{
$return_arr = array();
$json = json_decode(curlGetFile($URL));
if($json -> error) die("THERE HAS BEEN AN ERROR: pageId invalid");
$detalle="";
$album=split(",",$var_album);
while ($datos_album = current($album))
{
foreach($json->data as $v)
{
if ($v->id==$datos_album)
{
$row['id']=$v->id;
$row['picture']="https://graph.facebook.com/v2.3/".$v->id."/picture";
$row['from_name']=utf8_decode($v->from->name);
$row['name']=utf8_decode($v->name);
$row['count']=$v->count;
}
}
next($album);
}
return $row;
}
else
{
$json = json_decode(curlGetFile($URL));
if($json -> error) die("THERE HAS BEEN AN ERROR: pageId invalid");
foreach($json->data as $v)
{
echo "<div class ='ImgWrapper'>";
echo "<div style = 'width:125px; height:120px;overflow:hidden'>
<img width='125px' src='https://graph.facebook.com/v2.3/".$v->id."/picture&$TOKEN' />
</div>";
echo $v->from->name."<br>";
echo "<a href = '".$PAGE;
echo "?";
echo "aid=".$v->id."'>".$v->name."</a>";
echo "<br>Num of images:".$v->count."<br>";
echo "<br clear='all'></div>";
}
return true;
}
}
return false;
}
function curlGetFile($curlUrl)
{
$ch = curl_init();
/* */
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.001 (windows; U; NT4.0; en-US; rv:1.0) Gecko/25250101');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $curlUrl);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
function albumChk($albumId)
{
$URL2=$albumId;
echo $URL2;
$json = json_decode(curlGetFile($URL2));
$arrayId = array();
foreach($json->data as $v)
array_push($arrayId, $v->id);
if(!in_array($albumId,$arrayId)) return false;
return true;
}
function multiRequest($data, $options = array()) {
// array of curl handles
$curly = array();
// data to be returned
$result = array();
// multi handle
$mh = curl_multi_init();
// loop through $data and create curl handles
// then add them to the multi-handle
foreach ($data as $id => $d) {
$curly[$id] = curl_init();
$url = (is_array($d) && !empty($d['url'])) ? $d['url'] : $d;
curl_setopt($curly[$id], CURLOPT_URL, $url);
curl_setopt($curly[$id], CURLOPT_HEADER, 0);
curl_setopt($curly[$id], CURLOPT_RETURNTRANSFER, 1);
//Set proxy type
// post?
if (is_array($d)) {
if (!empty($d['post'])) {
curl_setopt($curly[$id], CURLOPT_POST, 1);
curl_setopt($curly[$id], CURLOPT_POSTFIELDS, $d['post']);
}
}
// extra options?
if (!empty($options)) {
curl_setopt_array($curly[$id], $options);
}
curl_multi_add_handle($mh, $curly[$id]);
}
// execute the handles
$running = null;
do {
curl_multi_exec($mh, $running);
} while($running > 0);
// get content and remove handles
foreach($curly as $id => $c) {
$result[$id] = curl_multi_getcontent($c);
curl_multi_remove_handle($mh, $c);
}
// all done
curl_multi_close($mh);
return $result;
}
//};
?>