Base Diaspora API code
This commit is contained in:
parent
4252e89561
commit
77e2ea6e4f
@ -1,84 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Wrapper class for common Facebook functions, maintaining some compatibility with the old
|
|
||||||
* Facebook SDK
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace IdnoPlugins\Facebook {
|
|
||||||
|
|
||||||
use \Facebook;
|
|
||||||
|
|
||||||
class FacebookAPI {
|
|
||||||
|
|
||||||
public $session = false;
|
|
||||||
|
|
||||||
function setAccessToken($token)
|
|
||||||
{
|
|
||||||
|
|
||||||
try {
|
|
||||||
$session = new \Facebook\FacebookSession($token);
|
|
||||||
$this->session = $session;
|
|
||||||
return $session;
|
|
||||||
} catch (\Exception $e) {
|
|
||||||
\Idno\Core\site()->session()->addMessage("Your Facebook session seems to have expired. You need to <a href=\"".\Idno\Core\site()->config()->getDisplayURL()."account/facebook/\">re-authenticate</a>.");
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the URL to authenticate with Facebook
|
|
||||||
* @param array $params
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
function getLoginUrl($params = []) {
|
|
||||||
|
|
||||||
$redirect_url = \Idno\Core\site()->config()->getDisplayURL() . 'facebook/callback';
|
|
||||||
|
|
||||||
$helper = new Facebook\FacebookRedirectLoginHelper($redirect_url);
|
|
||||||
return $helper->getLoginUrl(['public_profile','email','manage_pages']);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the Facebook session on redirect
|
|
||||||
* @return bool|Facebook\FacebookSession
|
|
||||||
*/
|
|
||||||
function getSessionOnLogin() {
|
|
||||||
|
|
||||||
$helper = new Facebook\FacebookRedirectLoginHelper(\Idno\Core\site()->config()->getDisplayURL() . 'facebook/callback');
|
|
||||||
try {
|
|
||||||
return $helper->getSessionFromRedirect();
|
|
||||||
} catch (\Exception $e) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Make an API call
|
|
||||||
* @param $endpoint
|
|
||||||
* @param $verb
|
|
||||||
* @param $params
|
|
||||||
* @return array|bool
|
|
||||||
*/
|
|
||||||
function api($endpoint, $verb = 'GET', $params = null) {
|
|
||||||
|
|
||||||
if (empty($this->session)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
$response = (new Facebook\FacebookRequest($this->session, $verb, $endpoint, $params))->execute()->getGraphObject();
|
|
||||||
$result = array('id' => $response->getProperty('id'), 'response' => $response);
|
|
||||||
return $result;
|
|
||||||
} catch (\Exception $e) {
|
|
||||||
\Idno\Core\site()->session()->addMessage($e->getMessage());
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user