You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
89 lines
2.6 KiB
89 lines
2.6 KiB
6 years ago
|
<?php
|
||
|
|
||
|
/**
|
||
|
* Facebook
|
||
|
*
|
||
|
* with help of the API this class delivers album images from Facebook
|
||
|
*
|
||
|
* @package socialstreams
|
||
|
* @subpackage socialstreams/facebook
|
||
|
* @author ThemePunch <info@themepunch.com>
|
||
|
*/
|
||
|
|
||
|
class TP_facebook {
|
||
|
/**
|
||
|
* Get User ID from its URL
|
||
|
*
|
||
|
* @since 1.0.0
|
||
|
* @param string $user_url URL of the Page
|
||
|
*/
|
||
|
public function get_user_from_url($user_url){
|
||
|
$theid = str_replace("https", "", $user_url);
|
||
|
$theid = str_replace("http", "", $theid);
|
||
|
$theid = str_replace("://", "", $theid);
|
||
|
$theid = str_replace("www.", "", $theid);
|
||
|
$theid = str_replace("facebook", "", $theid);
|
||
|
$theid = str_replace(".com", "", $theid);
|
||
|
$theid = str_replace("/", "", $theid);
|
||
|
$theid = explode("?", $theid);
|
||
|
return $theid[0];
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Get Photosets List from User
|
||
|
*
|
||
|
* @since 1.0.0
|
||
|
* @param string $user_id Facebook User id (not name)
|
||
|
* @param int $item_count number of photos to pull
|
||
|
*/
|
||
|
public function get_photo_sets($user_id,$item_count=10){
|
||
|
//photoset params
|
||
|
$url = "https://graph.facebook.com/$user_id/albums";
|
||
|
$photo_sets_list = json_decode(file_get_contents($url));
|
||
|
return $photo_sets_list->data;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Get Photoset Photos
|
||
|
*
|
||
|
* @since 1.0.0
|
||
|
* @param string $photo_set_id Photoset ID
|
||
|
* @param int $item_count number of photos to pull
|
||
|
*/
|
||
|
public function get_photo_set_photos($photo_set_id,$item_count=10){
|
||
|
$url = "https://graph.facebook.com/v2.0/$photo_set_id?fields=photos";
|
||
|
$photo_set_photos = json_decode(file_get_contents($url));
|
||
|
return $photo_set_photos->photos->data;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Get Feed
|
||
|
*
|
||
|
* @since 1.0.0
|
||
|
* @param string $user User ID
|
||
|
* @param int $item_count number of itmes to pull
|
||
|
*/
|
||
|
public function get_post_feed($user,$app_id,$app_secret,$item_count=10){
|
||
|
$oauth = file_get_contents("https://graph.facebook.com/oauth/access_token?type=client_cred&client_id=".$app_id."&client_secret=".$app_secret);
|
||
|
$url = "https://graph.facebook.com/$user/feed?".$oauth."&fields=id,from,message,picture,link,name,icon,privacy,type,status_type,object_id,application,created_time,updated_time,is_hidden,is_expired,likes,comments";
|
||
|
$feed = json_decode(file_get_contents($url));
|
||
|
return $feed->data;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Decode URL from feed
|
||
|
*
|
||
|
* @since 1.0.0
|
||
|
* @param string $url facebook Output Data
|
||
|
*/
|
||
|
public static function decode_facebook_url($url) {
|
||
|
$url = str_replace('u00253A',':',$url);
|
||
|
$url = str_replace('\u00255C\u00252F','/',$url);
|
||
|
$url = str_replace('u00252F','/',$url);
|
||
|
$url = str_replace('u00253F','?',$url);
|
||
|
$url = str_replace('u00253D','=',$url);
|
||
|
$url = str_replace('u002526','&',$url);
|
||
|
return $url;
|
||
|
}
|
||
|
}
|
||
|
?>
|