Base theme for LMMI Journal
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

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;
}
}
?>