/**
 * Used to post synched status on facebook.
 *
 * @access public
 * @param array $fbData facebook data of user
 * @return void
 */
function facebook_connect_post_status($fbData)
{
    elgg_load_library('facebook');
    $fb = facebookservice_api();
    $site = elgg_get_site_entity();
    $uid = $fbData['user_profile']['id'];
    $access_token = $fbData['user_profile']['accessToken'];
    // Facebook Posting Parameters //
    $link = elgg_get_site_url();
    $message = $user->name . ' just synched his/her facebook account with ' . $site->name;
    $picture = elgg_get_site_url() . '_graphics/elgg_logo.png';
    $description = $site->name . ' is the social network for connecting people.';
    $linkData = ['link' => $link, 'message' => $message, 'picture' => $picture, 'description' => $description];
    try {
        // Returns a `Facebook\FacebookResponse` object
        $response = $fb->post('/' . $uid . '/feed', $linkData, "{$access_token}");
    } catch (Facebook\Exceptions\FacebookResponseException $e) {
        echo '3. Graph returned an error: ' . $e->getMessage();
        exit;
    } catch (Facebook\Exceptions\FacebookSDKException $e) {
        echo '3. Facebook SDK returned an error: ' . $e->getMessage();
        exit;
    }
}
/**
 * Used to post synched status on facebook.
 *
 * @access public
 * @param array $fbData facebook data of user
 * @return void
 */
function facebook_connect_post_status($fbData)
{
    elgg_load_library('facebook');
    $fb = facebookservice_api();
    $site = elgg_get_site_entity();
    $uid = $fbData['user_profile']['id'];
    $access_token = $fbData['user_profile']['accessToken'];
    // Facebook Posting Parameters //
    $link = elgg_get_site_url();
    $username = $user->name;
    $sitename = $vars['config']->sitename;
    $message = $username . ' just synched his/her facebook account with ' . $sitename;
    $picture = $link . '_graphics/elgg_logo.png';
    $description = $sitename . ' is the social network for connecting people.';
    $post_message = elgg_get_plugin_setting('post_message', 'facebook_connect');
    if (!empty($post_message)) {
        $temp_str = elgg_get_plugin_setting('post_message', 'facebook_connect');
        $temp_str2 = str_replace("%username%", "{$username}", $temp_str);
        $message = str_replace("%sitename%", "{$sitename}", $temp_str2);
    }
    $post_img = elgg_get_plugin_setting('post_img', 'facebook_connect');
    if (!empty($post_img)) {
        $picture = elgg_get_plugin_setting('post_img', 'facebook_connect');
    }
    $post_descp = elgg_get_plugin_setting('post_descp', 'facebook_connect');
    if (!empty($post_descp)) {
        $temp_str = elgg_get_plugin_setting('post_descp', 'facebook_connect');
        $temp_str2 = str_replace("%username%", "{$username}", $temp_str);
        $description = str_replace("%sitename%", "{$sitename}", $temp_str2);
    }
    $linkData = ['link' => $link, 'message' => $message, 'picture' => $picture, 'description' => $description];
    try {
        // Returns a `Facebook\FacebookResponse` object
        $response = $fb->post('/me/feed', $linkData, "{$access_token}");
    } catch (Facebook\Exceptions\FacebookResponseException $e) {
        echo '3. Graph returned an error: ' . $e->getMessage();
        exit;
    } catch (Facebook\Exceptions\FacebookSDKException $e) {
        echo '3. Facebook SDK returned an error: ' . $e->getMessage();
        exit;
    }
}
Esempio n. 3
0
/**
 * Retrieve a user's friendrequest on facebook.There isn't any graph api endpoint to retrieve a users friend request at the time of writing this code
 *
 * @param unknown_type $hook
 * @param unknown_type $entity_type
 * @param unknown_type $returnvalue
 * @param unknown_type $params
 */
function facebookservice_friendrequest($hook, $entity_type, $returnvalue, $params)
{
    $user_id = $params['userid'];
    $access_token = elgg_get_plugin_user_setting('access_token', $user_id, 'facebook_api');
    $target = elgg_get_plugin_user_setting('uid', $user_id, 'facebook_api');
    $attachment = array('access_token' => $access_token);
    if (!($access_token && $target)) {
        return NULL;
    }
    $facebook = facebookservice_api();
    $fbrequest = $facebook->api(array('method' => 'fql.query', 'query' => "SELECT uid_from FROM friend_request WHERE uid_to={$target} ", 'access_token' => $access_token));
    return $fbrequest;
}
<?php

/**
 * 
*/
$user_id = elgg_get_logged_in_user_guid();
$facebook_id = elgg_get_plugin_user_setting('uid', $user_id, 'facebook_connect');
$access_token = elgg_get_plugin_user_setting('access_token', $user_id, 'facebook_connect');
$site_name = elgg_get_site_entity()->name;
echo '<div>' . elgg_echo('facebook_connect:usersettings:description', array($site_name)) . '</div>';
if (!$facebook_id || !$access_token) {
    // send user off to validate account
    $callback = elgg_get_site_url() . 'facebook_connect/authorize';
    $request_link = facebook_connect_get_authorize_url($callback);
    echo '<div>' . elgg_echo('facebook_connect:usersettings:request', array($request_link, $site_name)) . '</div>';
} else {
    elgg_load_library('facebook');
    $facebook = facebookservice_api();
    $user = $facebook->api('/me', 'GET', array('access_token' => $access_token));
    echo '<p>' . sprintf(elgg_echo('facebook_connect:usersettings:authorized'), $user['name'], $user['link']) . '</p>';
    $url = elgg_get_site_url() . "facebook_connect/revoke";
    echo '<div>' . sprintf(elgg_echo('facebook_connect:usersettings:revoke'), $url) . '</div>';
}
/**
 * Returns the url to authorize a user.
 *
 * @param string $next The return URL.
 */
function facebook_connect_get_authorize_url($next = '')
{
    global $SESSION;
    if (!$next) {
        // default to login page
        $next = elgg_get_site_url() . 'facebook_connect/login';
    }
    $facebook = facebookservice_api();
    return $facebook->getLoginUrl(array('client_id' => elgg_get_plugin_setting('consumer_key', 'facebook_connect'), 'redirect_uri' => $next, 'scope' => 'user_status,publish_stream,email,user_about_me,'));
}
Esempio n. 6
0
/**
 * Used to post synched status on facebook.
 *
 * @access public
 * @param array $fbData facebook data of user
 * @return void
 */
function facebook_connect_post_status($fbData)
{
    if (facebook_connect_allow_post_on_facebook()) {
        elgg_load_library('facebook');
        $facebook = facebookservice_api();
        $site = elgg_get_site_entity();
        $uid = $fbData['user_profile']['id'];
        $permissions = $facebook->api('/' . $uid . '/permissions');
        if (array_key_exists('publish_stream', $permissions['data'][0])) {
            $message = $user->name . ' just synched his/her facebook account with ' . $site->name;
            $params = array('link' => elgg_get_site_url(), 'message' => $message, 'picture' => elgg_get_site_url() . '_graphics/elgg_logo.png', 'description' => $site->name . ' is the social network for connecting people.');
            try {
                $status = $facebook->api('/' . $uid . '/feed/', 'POST', $params);
            } catch (FacebookApiException $e) {
            }
        }
    }
}
Esempio n. 7
0
/**
 * Returns the url to authorize a user.
 *
 * @param string $next The return URL.
 */
function facebook_api_get_authorize_url($next = '')
{
    global $SESSION;
    if (!$next) {
        // default to login page
        $next = elgg_get_site_url() . 'facebook_api/login';
    }
    $facebook = facebookservice_api();
    return $facebook->getLoginUrl(array('next' => $next, 'req_perms' => 'offline_access,user_about_me,email,user_status,publish_stream,read_stream,read_requests '));
}