Пример #1
2
function facebook()
{
    global $template;
    $facebook = new Facebook(array('appId' => FB_APPID, 'secret' => FB_APPSECRET));
    $user = $facebook->getUser();
    if ($user) {
        try {
            $pages = $facebook->api('/me/accounts');
            $template->set('pages', $pages);
            $permissions = $facebook->api("/me/permissions");
            $publish_actions = 0;
            $manage_pages = 0;
            foreach ($permissions['data'] as $permission) {
                if ($permission['permission'] == 'publish_actions') {
                    $publish_actions = 1;
                }
                if ($permission['permission'] == 'manage_pages') {
                    $manage_pages = 1;
                }
            }
            if ($publish_actions == 0 || $manage_pages == 0) {
                throw new Exception("Oops");
            }
        } catch (Exception $e) {
            $url = $facebook->getLoginUrl(array("scope" => "publish_actions,manage_pages"));
            header("Location: " . $url);
            exit;
        }
    } else {
        $url = $facebook->getLoginUrl(array("scope" => "publish_actions,manage_pages"));
        header("Location: " . $url);
        exit;
    }
}
Пример #2
0
 public function postar($dados, $usuario)
 {
     require 'complements/facebook/Facebook.php';
     $facebook = new Facebook(array('appId' => '1651517385125370', 'secret' => '84b4334e3cfe153b5a4348407709cbf0'));
     // Get User ID
     $user = $facebook->getUser();
     if ($user) {
         try {
             echo "teste";
             exit;
             $page_id = $usuario;
             $page_info = $facebook->api("/{$page_id}?fields=access_token");
             if (!empty($page_info['access_token'])) {
                 $args = array('access_token' => $page_info['access_token'], 'message' => $dados[texto]);
                 $post_id = $facebook->api("/{$page_id}/feed", "post", $args);
             } else {
                 $permissions = $facebook->api("/me/permissions");
                 if (!array_key_exists('publish_stream', $permissions['data'][0]) || !array_key_exists('manage_pages', $permissions['data'][0])) {
                     // We don't have one of the permissions
                     // Alert the admin or ask for the permission!
                     header("Location: " . $facebook->getLoginUrl(array("scope" => "publish_stream, manage_pages")));
                 }
             }
         } catch (FacebookApiException $e) {
             error_log($e);
             $user = null;
         }
     }
     // Login or logout url will be needed depending on current user state.
     if ($user) {
         $logoutUrl = $facebook->getLogoutUrl();
     } else {
         $loginUrl = $facebook->getLoginUrl(array('scope' => 'manage_pages,publish_stream'));
     }
 }
Пример #3
0
function mx_mntestusers($page, $option, $action)
{
    global $facebook;
    echo 'Disabled.';
    return;
    $fbapp = new Facebook(array('appId' => FACEBOOK_APP_ID, 'secret' => FACEBOOK_SECRET, 'grant_type' => 'client_credentials'));
    $acctok = $fbapp->getAccessToken();
    if ($_REQUEST['createuser']) {
        $newuser = $fbapp->api('/' . FACEBOOK_APP_ID . '/accounts/test-users?installed=true&permissions=&access_token=' . $acctok, 'POST');
    } else {
        if ($_REQUEST['deleteuser']) {
            foreach ($_REQUEST['selected'] as $user) {
                $testusers = $fbapp->api('/' . $user . '?access_token=' . $acctok, 'DELETE');
                mx_deleteuser($user);
                // delete should only be possible for test users!!
            }
        }
    }
    $testusers = $fbapp->api('/' . FACEBOOK_APP_ID . '/accounts/test-users&access_token=' . $acctok, 'GET');
    echo '<form action="' . mx_optionurl($page, $option) . '" method=POST>';
    echo '<table border=1 width=100%><tr><th>Sel</th><th>ID</th><!-- <th>access_token</th> --><th>login_url</th></tr>';
    foreach ($testusers['data'] as $testuser) {
        echo '<tr><td><input type=checkbox name="selected[]" value="' . $testuser['id'] . '"></td>' . '<td>' . $testuser['id'] . '</td>';
        //$user=$facebook->api('/'.$testuser['id']);
        //die(print_r($user));
        //echo '<td>'.$user['name'].'</td>';
        echo '<!-- <td>' . $testuser['access_token'] . '</td> --><td>' . '<a href="' . $testuser['login_url'] . '">' . $testuser['login_url'] . '</a></td></tr>';
    }
    echo '<tr><td colspan=3 align=center><input type=submit name="createuser" value="Create User">' . ' <input type=submit name="deleteuser" value="Delete User(s)"></td></tr>';
    echo '</table></form>';
}
Пример #4
0
 public function loadUserByUsername($username)
 {
     $user = $this->findUserByFbId($username);
     try {
         $fbdata = $this->facebook->api('/me');
     } catch (FacebookApiException $e) {
         $fbdata = null;
     }
     if (!empty($fbdata)) {
         if (empty($user)) {
             if (!isset($fbdata['email']) || $fbdata['email'] == '') {
                 // TODO: the user was found obviously, but doesnt match our expectations, do something smart
                 throw new UsernameNotFoundException('Une erreur est survenue lors de votre connexion...');
             }
             $user = $this->userManager->createUser();
             $user->setEnabled(true);
             $user->setPassword('');
         }
         if ($user->getUsername() == '' || $user->getUsername() == null) {
             $user->setUsername($username . '@facebook.com');
         }
         $user->setFBData($fbdata);
         if (count($this->validator->validate($user, 'Facebook'))) {
             // TODO: the user was found obviously, but doesnt match our expectations, do something smart
             throw new UsernameNotFoundException('Une erreur est survenue lors de votre connexion...');
         }
         $this->userManager->updateUser($user);
     }
     if (empty($user)) {
         // TODO: the user was found obviously, but doesnt match our expectations, do something smart
         throw new UsernameNotFoundException('Une erreur est survenue lors de votre connexion...');
     }
     return $user;
 }
Пример #5
0
 function try_connect($pubit = 0, $stUrl = '', $PublishMessage = '')
 {
     $myparams =& JComponentHelper::getParams('com_fbjconnect');
     $getappid = $myparams->get('appid');
     $getappsec = $myparams->get('appsecret');
     $access_token = "";
     $uid = "";
     $postresult = false;
     $facebook = new Facebook(array('appId' => $getappid, 'secret' => $getappsec, 'cookie' => true));
     $session = $facebook->getSession();
     $me = null;
     $uid = "";
     if ($session) {
         try {
             $access_token = $facebook->getAccessToken();
             $me = $facebook->api('/me');
             $uid = $facebook->getUser();
             if ($pubit == 1) {
                 $fbpic = JURI::base() . 'modules/mod_jfbgconnect/fgimage.jpg';
                 $postresult = $facebook->api('/me/feed/', 'post', array('access_token' => $access_token, 'picture' => $fbpic, 'link' => $stUrl, 'message' => $PublishMessage));
             }
         } catch (FacebookApiException $e) {
             error_log($e);
         }
     }
     return array($uid, $me, $session, $access_token, $postresult);
 }
 /**
  * @todo fix this BIG mess.
  */
 public static function postFacebook($message, $link = null, $impression = null)
 {
     $member = Member::currentUser();
     $postresult = false;
     $SiteConfig = SiteConfig::current_site_config();
     if ($member && $SiteConfig->FBAppID && $SiteConfig->FBSecret) {
         if ($link == null) {
             $link = Director::absoluteBaseURL();
         }
         $page = '/' . $SiteConfig->FBPageID . '/feed';
         $facebook = new Facebook(array('appId' => $SiteConfig->FBAppID, 'secret' => $SiteConfig->FBSecret));
         $token = $facebook->api('/me/accounts');
         foreach ($token['data'] as $pages) {
             if ($pages['id'] == $SiteConfig->FBPageID) {
                 $facebook->setAccessToken($pages['access_token']);
                 $verified = true;
                 break;
             }
         }
         if ($verified) {
             $data = array('message' => $message, 'link' => $link, 'picture' => $impression);
             $postresult = $facebook->api($page, 'post', $data);
         }
     }
     return $postresult;
 }
Пример #7
0
 public function loadUserByUsername($username)
 {
     $user = $this->findUserByFbId($username);
     try {
         $fbdata = $this->facebook->api('/me');
     } catch (FacebookApiException $e) {
         $fbdata = null;
     }
     if (!empty($fbdata)) {
         if (empty($user)) {
             $user = $this->userManager->createUser();
             $user->setEnabled(true);
             $user->setPassword('');
         }
         // TODO use http://developers.facebook.com/docs/api/realtime
         $user->setFBData($fbdata);
         if (count($this->validator->validate($user, 'Facebook'))) {
             // TODO: the user was found obviously, but doesnt match our expectations, do something smart
             throw new UsernameNotFoundException('The facebook user could not be stored');
         }
         $this->userManager->updateUser($user);
     }
     if (empty($user)) {
         throw new UsernameNotFoundException('The user is not authenticated on facebook');
     }
     return $user;
 }
 /**
  * Returns the api user
  *
  * @return ApiUser|null
  */
 public function getApiUser()
 {
     try {
         $me = $this->facebook->api('/me');
         return new ApiUser($me);
     } catch (\Exception $e) {
         return null;
     }
 }
Пример #9
0
 public function getFeed($options)
 {
     if (empty($options['sa_fb_app_id']) && empty($options['sa_fb_app_secret'])) {
         return array('error' => 2, 'message' => 'Facebook App ID and/or secret not set. Please set this in the settings page.');
     }
     $facebook = new Facebook(array('appId' => $options['sa_fb_app_id'], 'secret' => $options['sa_fb_app_secret']));
     if (empty($options['sa_fb_page_id'])) {
         return array('error' => 2, 'message' => 'Facebook Page ID not set.');
     }
     $since_time = empty($options['sa_since_time']) ? 1 : $options['sa_since_time'];
     try {
         // $user_profile = $facebook->api('/me');
         // $this->log($user_profile);
         $response = $facebook->api($options['sa_fb_page_id'] . '/feed/?fields=id,type,caption,picture,message,link,object_id&limit=25&since=' . $since_time);
     } catch (FacebookApiException $e) {
         // $loginUrl = $facebook->getLoginUrl(array('scope' => 'publish_stream', 'redirect_uri' => 'http://freefly.ryan.invokedev.com/'));
         $result = $e->getResult();
         return array('error' => 4, 'message' => 'Error fetching Facebook feed: <span class="social-feed-error">' . $result['error']['message'] . '</span>');
         // $loginUrl = $facebook->getLoginUrl();
         // $user = null;
         // echo "<script>top.location.href = '$loginUrl'</script>";
         // exit;
     }
     // return an array with success = false if $response is empty..
     if (count($response['data']) == 0) {
         return array('error' => 1, 'message' => 'No Facebook items found.');
     }
     $data = array();
     $date_added = time();
     $created_times = array(0);
     foreach ($response['data'] as $post) {
         if ($post['type'] == 'photo') {
             // get images..
             $images = $facebook->api($post['object_id'] . '?fields=images');
             $p = array();
             foreach ($images['images'] as $item) {
                 if ($item['height'] >= 480) {
                     $p['picture'] = $item['source'];
                     break;
                 }
             }
             $p['id'] = $post['id'];
             $p['message'] = empty($post['message']) ? '' : $post['message'];
             $p['link'] = empty($post['link']) ? '' : $post['link'];
             $p['date_added'] = $date_added;
             $created_time = new DateTime($post['created_time']);
             $p['date_created'] = $created_time->format('U');
             $created_times[] = $created_time->format('U');
             array_push($data, $p);
         }
     }
     if (count($data) == 0) {
         return array('error' => 3, 'message' => 'No new Facebook items found.');
     }
     $res = array('data' => $data, 'since_time' => max($created_times));
     return $res;
 }
function update_facebook_wall($text)
{
    $appId = '101183239949229';
    $appSecret = 'fd040afd3af84cc13b6a70ea602b4ca6';
    $srcPageId = '116587918401126';
    //Use Evan Hsu's access token because he is one of the Page Admins
    //**** The access Token will need to be updated whenever Evan changes his Facebook password
    $accessToken = 'AAABcBo8TC60BAOJGsdKapdUYfvbBOJm9jc9EHZBZBpD45mAN2poo9t7nfxtII3I7XZAxH9RMuI1AOD2BjWUEyso17nTkNVR2aEGaZC287Vqe8932fjQ9';
    $config = array('appId' => $appId, 'secret' => $appSecret);
    $facebook = new Facebook($config);
    $args = array('access_token' => $accessToken, 'message' => $text);
    try {
        $post_id = $facebook->api("/{$srcPageId}/feed", "post", $args);
    } catch (FacebookApiException $e) {
        //If post failed, do nothing. Permission check happens below.
    }
    if (!$post_id) {
        // If the accessToken is no longer valid (Evan changed his password or revoked permissions),
        // then someone with admin access to the Siskiyou facebook page will need to be logged in.
        $user = $facebook->getUser();
        if ($user) {
            try {
                $page_info = $facebook->api("/{$srcPageId}?fields=access_token");
                if (!empty($page_info['access_token'])) {
                    $args = array('access_token' => $page_info['access_token'], 'message' => $text);
                    $post_id = $facebook->api("/{$srcPageId}/feed", "post", $args);
                    //echo "Access Token: ".$page_info['access_token'];
                } else {
                    $permissions = $facebook->api("/me/permissions");
                    if (!array_key_exists('publish_stream', $permissions['data'][0]) || !array_key_exists('manage_pages', $permissions['data'][0])) {
                        // We don't have one of the permissions
                        // Alert the admin or ask for the permission!
                        header("Location: " . $facebook->getLoginUrl(array("scope" => "publish_stream, manage_pages, offline_access")));
                    }
                }
            } catch (FacebookApiException $e) {
                //error_log($e);
                $user = null;
            }
        }
        // Login or logout url will be needed depending on current user state.
        if ($user) {
            $logoutUrl = $facebook->getLogoutUrl();
        } else {
            $loginUrl = $facebook->getLoginUrl(array('scope' => 'manage_pages,publish_stream,offline_access'));
            header("Location: " . $loginUrl);
        }
    }
    // END if(!$post_id)
    if ($post_id != "") {
        header('location: http://www.siskiyourappellers.com/current.php');
    }
}
 public function getInput()
 {
     if ($this->fb->getUser()) {
         $user = $this->fb->getUser();
         $profile = $this->fb->api("/me?fields=id,name,picture");
         $label = "<img src='" . $profile['picture']['data']['url'] . "' />" . $profile['name'];
         $logout = $this->fb->getLogoutUrl(array('next' => JURI::base()));
         return $label . "<br /><a href='" . $logout . "'>Log out of Facebook</a>";
     } else {
         // Not logged in - display a login link
         $uri = JURI::current();
         $loginUrl = $this->fb->getLoginUrl(array('redirect_uri' => "http://aquinas.dphin.co.uk/login/profile?layout=edit"));
         return "<a href='" . $loginUrl . "'>Connect your Facebook account</a>";
     }
 }
 public function process_request($request)
 {
     if ($request == 'facebook-login') {
         $app_id = qa_opt('facebook_app_id');
         $app_secret = qa_opt('facebook_app_secret');
         $tourl = qa_get('to');
         if (!strlen($tourl)) {
             $tourl = qa_path_absolute('');
         }
         if (strlen($app_id) && strlen($app_secret)) {
             require_once $this->directory . 'facebook.php';
             $facebook = new Facebook(array('appId' => $app_id, 'secret' => $app_secret, 'cookie' => true));
             $fb_userid = $facebook->getUser();
             if ($fb_userid) {
                 try {
                     $user = $facebook->api('/me?fields=email,name,verified,location,website,about,picture.width(250)');
                     if (is_array($user)) {
                         qa_log_in_external_user('facebook', $fb_userid, array('email' => @$user['email'], 'handle' => @$user['name'], 'confirmed' => @$user['verified'], 'name' => @$user['name'], 'location' => @$user['location']['name'], 'website' => @$user['website'], 'about' => @$user['bio'], 'avatar' => strlen(@$user['picture']['data']['url']) ? qa_retrieve_url($user['picture']['data']['url']) : null));
                     }
                 } catch (FacebookApiException $e) {
                 }
             } else {
                 qa_redirect_raw($facebook->getLoginUrl(array('redirect_uri' => $tourl)));
             }
         }
         qa_redirect_raw($tourl);
     }
 }
function fbes_get_events($fbes_api_key, $fbes_api_secret, $fbes_access_token, $fbes_api_uids)
{
    require_once 'facebook-php-sdk/facebook.php';
    //modified
    $facebook = new Facebook(array('appId' => $fbes_api_key, 'secret' => $fbes_api_secret, 'cookie' => true));
    $facebook->setAccessToken($fbes_access_token);
    $ret = array();
    foreach ($fbes_api_uids as $key => $value) {
        if ($value != '') {
            $result = $facebook->api('/' . $value . '/events', 'GET', array('fields' => 'name,start_time,end_time,place,description,timezone', 'date_format' => 'U'));
            $result = $result['data'];
            foreach ($result as $k => $v) {
                $result[$k]['uid'] = $value;
                $result[$k]['start_time'] = strtotime($result[$k]['start_time']);
                $result[$k]['end_time'] = strtotime($result[$k]['end_time']);
                if ($result[$k]['place']) {
                    if ($result[$k]['place']['name']) {
                        $result[$k]['location'] = $result[$k]['place']['name'];
                    } else {
                        $result[$k]['location'] = $result[$k]['place'];
                    }
                }
            }
            $ret = array_merge($ret, $result);
        }
    }
    return $ret;
}
Пример #14
0
 public function indexAction()
 {
     // connect to app
     $config = array();
     $config['appId'] = '1017499418312477';
     $config['secret'] = 'b8887afcd0172d566b624ae920065234';
     $config['fileUpload'] = false;
     // optional
     // instantiate
     $facebook = new \Facebook($config);
     //call the API to retrieve data from facebook
     $array = $facebook->api("/feed?ids=lilotregal,649823778452363");
     //build a pattern to use it in regex in order to retrieve only menus from the posts
     $pattern = '/(repas du|menu du|repas du jour|menu du jour).*(lundi|mardi|mercredi|jeudi|vendredi|samedi|dimanche).*(\\d).*(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i';
     //make a counter to take just the three last menus
     $i = 0;
     //build an array to store data of the first page
     $data = array();
     //build an array to retrieve menu's titles to display them in the panel heading
     $menuOfdays = array();
     foreach ($array["lilotregal"] as $pagefeed) {
         foreach ($pagefeed as $page) {
             if (isset($page['message']) && isset($page['created_time']) && preg_match($pattern, $page['message'], $matches)) {
                 $dates = date("Y/m/d", strtotime($page['created_time'] . "+1 day"));
                 $menuOfdays[$dates] = $matches['0'];
                 if ($dates == date("Y/m/d")) {
                     $menuOfdays[$dates] = "Menu d'aujourd'hui";
                 }
                 $data[] = $page['message'];
                 //take only the three last menus
                 if (++$i === 3) {
                     break;
                 }
             }
         }
     }
     $menuOfday = array_values($menuOfdays);
     $i = 0;
     //store the data of the second page
     $refine = array();
     //build an array to retrieve meal's titles to display them in the panel heading
     $mealOfdays = array();
     foreach ($array["649823778452363"] as $menus) {
         foreach ($menus as $menu) {
             if (isset($menu['message']) && isset($menu['created_time']) && preg_match($pattern, $menu['message'], $matches)) {
                 $dates2 = date("Y/m/d", strtotime($menu['created_time'] . "+1 day"));
                 $mealOfdays[] = $matches['0'];
                 if ($dates2 == date("Y/m/d")) {
                     $mealOfdays['0'] = "Repas d'aujourd'hui";
                 }
                 $refine[] = $menu['message'];
                 //take only the three last meals
                 if (++$i === 3) {
                     break;
                 }
             }
         }
     }
     return $this->render('ApplicationApplicationBundle:Default:index.html.twig', array('data' => $data, 'refine' => $refine, 'menuOfday' => $menuOfday, 'mealOfday' => $mealOfdays));
 }
Пример #15
0
 function connectFacebook()
 {
     $this->autoRender = false;
     $facebook = new Facebook(array('appId' => $this->facebookAppId, 'secret' => $this->facebookSecret));
     $user = $facebook->getUser();
     if ($user) {
         try {
             $user_profile = $facebook->api('/me');
             $userinfo = $this->User->find('first', array('conditions' => array('User.username' => isset($user_profile['id']) ? $user_profile['id'] : $user_profile['email'], 'User.social_connect' => 'facebook')));
             if (empty($userinfo)) {
                 $data['User']['username'] = isset($user_profile['id']) ? $user_profile['id'] : $user_profile['email'];
                 $data['User']['password'] = $user_profile['id'];
                 $data['User']['group_id'] = $this->socialLoginGroupId;
                 $data['User']['social_connect'] = 'facebook';
                 $data['User']['social_info'] = json_encode($user_profile);
                 $this->User->create();
                 $this->User->save($data);
                 $userinfo = $this->User->find('first', array('conditions' => array('User.id' => $this->User->id)));
                 $this->makeUserLogin($userinfo);
             } else {
                 $this->makeUserLogin($userinfo);
             }
         } catch (Exception $e) {
             error_log($e->getMessage());
             $this->Session->setFlash($e->getMessage());
             $user = NULL;
         }
     } else {
         $this->Session->setFlash('Sorry.Please try again');
     }
     $this->render('Social/close_window');
 }
Пример #16
0
 public function actionFacebook()
 {
     require_once 'facebook/facebook.php';
     $facebook = new Facebook(array('appId' => Yii::app()->params['facebookAppId'], 'secret' => Yii::app()->params['facebookSecretCode'], 'cookie' => true));
     $user = $facebook->getUser();
     if (isset($_POST['Member']['memberid'])) {
         $memberdata = Member::model()->getMemberById($_POST['Member']['memberid']);
         $this->actMemberinfo($memberdata, '', '', '', 'facebook', '');
     } else {
         if (!empty($user)) {
             //Active session, let's try getting the user id (getUser()) and user info (api->('/me'))
             try {
                 //$facebookuserid = $facebook->getUser();
                 $facebookuser = $facebook->api('/me');
                 //print_r($facebookuser);
             } catch (FacebookApiException $e) {
                 error_log($e);
             }
             if (!empty($facebookuser)) {
                 $memberdata = Member::model()->getMemberByOauth($facebookuser['id']);
                 $this->actMemberinfo($memberdata, '', '', $facebookuser, 'facebook', '');
             } else {
                 //For testing purposes, if there was an error, let's kill the script
                 die("There was an error.");
             }
         } else {
             //There's no active session, let's generate one
             $login_url = $facebook->getLoginUrl(array('scope' => 'email'));
             // echo $login_url;
             header("Location: " . $login_url);
         }
     }
 }
Пример #17
0
 public function authenticate()
 {
     $session = Yii::app()->session;
     $facebook = new Facebook(array('appId' => $this->key, 'secret' => $this->secret));
     $here = Yii::app()->request->hostInfo . Yii::app()->request->url;
     // Get User ID
     $user = $facebook->getUser();
     // already logged in
     if (isset($user)) {
         try {
             // Proceed knowing you have a logged in user who's authenticated.
             $user_profile = $facebook->api('/me');
             $session['facebook_user'] = $user_profile;
             $this->_authenticated = true;
         } catch (FacebookApiException $e) {
             $user = null;
             $params = array("scope" => "user_birthday,email,read_stream");
             $loginUrl = $facebook->getLoginUrl($params);
             Yii::app()->request->redirect($loginUrl);
         }
         // Log in!
     } else {
         $params = array("scope" => "user_birthday,email,read_stream");
         $loginUrl = $facebook->getLoginUrl($params);
         Yii::app()->request->redirect($loginUrl);
     }
     return $this->_authenticated;
 }
Пример #18
0
function fbpromo_clientarea($vars)
{
    global $_LANG;
    require dirname(__FILE__) . "/src/facebook.php";
    $app_id = fbpromo_get_addon('appid');
    $application_secret = fbpromo_get_addon('appsecret');
    $facebook = new Facebook(array('appId' => $app_id, 'secret' => $application_secret));
    // Get User ID
    $user = $facebook->getUser();
    // We may or may not have this data based on whether the user is logged in.
    //
    // If we have a $user id here, it means we know the user is logged into
    // Facebook, but we don't know if the access token is valid. An access
    // token is invalid if the user logged out of Facebook.
    if ($user) {
        try {
            // Proceed knowing you have a logged in user who's authenticated.
            $user_profile = $facebook->api('/me');
        } catch (FacebookApiException $e) {
            error_log($e);
            $user = null;
        }
    }
    require dirname(__FILE__) . '/clientarea.php';
    die;
}
Пример #19
0
 public function call()
 {
     //echo $this->_fbLoginRedirectUrl;exit;
     // Create our Application instance (replace this with your appId and secret).
     $facebook = new Facebook(array('appId' => $this->_fbAppId, 'secret' => $this->_fbAppSecret, 'cookie' => false));
     // Get User ID
     $this->_fbUser = $facebook->getUser();
     // We may or may not have this data based on whether the user is logged in.
     // If we have a $user id here, it means we know the user is logged into
     // Facebook, but we don't know if the access token is valid. An access
     // token is invalid if the user logged out of Facebook.
     if ($this->_fbUser) {
         try {
             // Proceed knowing you have a logged in user who's authenticated.
             $this->_fbUserProfile = $facebook->api('/me');
         } catch (FacebookApiException $e) {
             error_log($e);
             $this->_fbUser = null;
         }
     }
     // Login or logout url will be needed depending on current user state.
     if ($this->_fbUser) {
         $this->_fbLogoutUrl = $facebook->getLogoutUrl(array("next" => $this->_fbLogoutRedirectUrl));
     } else {
         $this->_fbLoginUrl = $facebook->getLoginUrl(array('redirect_uri' => $this->_fbLoginRedirectUrl));
         //echo $this->_fbLoginUrl;exit;
     }
 }
Пример #20
0
 private function face($access_token, $dataConfig)
 {
     require_once 'php-sdk/src/facebook.php';
     $facebook = new Facebook($dataConfig);
     $facebook->setAccessToken($access_token);
     Zend_Debug::dump($user = $facebook->getUser());
     if ($user) {
         $this->view->faceUrl = $facebook->getLogoutUrl();
     } else {
         $this->view->faceUrl = $facebook->getLoginUrl();
     }
     Zend_Debug::dump($_REQUEST);
     Zend_Debug::dump($naitik = $facebook->api('/100000874886897'));
     if ($user) {
         try {
             // Proceed knowing you have a logged in user who's authenticated.
             $user_profile = $facebook->api('/me');
             print_r($user_profile);
         } catch (FacebookApiException $e) {
             error_log($e);
             $user = null;
         }
     }
     $this->view->user = $naitik;
 }
Пример #21
0
function post_facebook_link_to_post(array $post)
{
    $post_text = construct_post_text($post);
    $facebook = new Facebook(array('appId' => FacebookCredentials::$app_id, 'secret' => FacebookCredentials::$app_secret, 'cookie' => true));
    $req = array('access_token' => FacebookCredentials::$access_token, 'message' => $post_text);
    $res = $facebook->api('/me/feed', 'POST', $req);
}
 /**
  * Try to login with Facebook and return true on success
  * @return boolean
  */
 protected function loginWithFacebook()
 {
     $objFacebook = new Facebook(array('appId' => $this->fblogin_appId, 'secret' => $this->fblogin_appKey));
     $arrProfile = false;
     if ($objFacebook->getUser() > 0) {
         try {
             $arrProfile = $objFacebook->api('/me?fields=id,name,first_name,last_name,email,gender');
         } catch (FacebookApiException $e) {
             $arrProfile = false;
             $this->log('Could not fetch the Facebook data: ' . $e->getMessage(), 'ModuleFacebookLogin loginWithFacebook()', TL_ERROR);
         }
     }
     // Log the error message
     if (!$arrProfile) {
         $this->log('Could not fetch the Facebook user.', 'ModuleFacebookLogin loginWithFacebook()', TL_ERROR);
         return false;
     }
     $time = time();
     $objUser = $this->Database->prepare("SELECT id FROM tl_member WHERE fblogin=? AND login=1 AND (start='' OR start<{$time}) AND (stop='' OR stop>{$time}) AND disable=''")->limit(1)->execute($arrProfile['id']);
     // Create a new user if none found
     if (!$objUser->numRows) {
         $objUser = $this->createNewUser($arrProfile);
         if ($objUser === false) {
             return false;
         }
     }
     $this->import('FrontendUser', 'User');
     return $this->User->login($arrProfile);
 }
Пример #23
0
 protected function test_fb_connection($debug = false)
 {
     if ($this->configured) {
         $stime = microtime(true);
         // is configured, so lets make sure the App ID and Secret are valid
         include_once 'libs/facebook.php';
         $fb = new Facebook(array('appId' => $this->app_id, 'secret' => $this->app_secret));
         $error = false;
         try {
             $resp = $fb->api(array('method' => 'admin.getAppProperties', 'properties' => 'connect_url'));
         } catch (Exception $e) {
             $error = true;
             echo $debug ? '<p class="error">There is an error with your Facebook settings: "' : '';
             echo $debug ? "Error #{$e->getCode()}: {$e->getMessage()}\"." : '';
             switch ($e->getCode()) {
                 case 104:
                     echo $debug ? ' This probably means your <strong>Application ID</strong> is incorrect.' : '';
                     break;
                 case 190:
                     echo $debug ? ' This probably means your <strong>Application Secret</strong> is incorrect.' : '';
                     break;
             }
             echo $debug ? '</p>' : '';
         }
         $etime = microtime(true);
         $time = $etime - $stime;
         #			echo "Facebook check took $time seconds\n";
         $this->connected = !$error;
         return !$error;
     } else {
         return false;
         # not configured, so let's not even try to connect!
     }
 }
 public function doLogin()
 {
     $code = Input::get('code');
     if (strlen($code) == 0) {
         return Redirect::to('/')->with('message', 'There was an error communicating with Facebook');
     }
     $facebook = new Facebook(Config::get('facebook'));
     $uid = $facebook->getUser();
     if ($uid == 0) {
         return Redirect::to('/')->with('message', 'There was an error');
     }
     $me = $facebook->api('/me', ['fields' => ['id', 'first_name', 'last_name', 'picture', 'email', 'gender']]);
     $profile = Profile::whereUid($uid)->first();
     if (empty($profile)) {
         $user = new User();
         $user->name = $me['first_name'] . ' ' . $me['last_name'];
         $user->email = $me['email'];
         $user->photo = 'https://graph.facebook.com/' . $me['id'] . '/picture?type=large';
         $user->save();
         $profile = new Profile();
         $profile->uid = $uid;
         $profile->username = $me['id'];
         $profile->gender = $me['gender'];
         $profile = $user->profiles()->save($profile);
     }
     $profile->access_token = $facebook->getAccessToken();
     $profile->save();
     $user = $profile->user;
     Auth::login($user);
     return Redirect::to('/')->with('message', 'Logged in with Facebook');
 }
Пример #25
0
 function fb()
 {
     $this->load->config('facebook');
     include_once APPPATH . 'third_party/facebook.php';
     $facebook = new Facebook(array('appId' => $this->config->item('facebook_app_id'), 'secret' => $this->config->item('facebook_api_secret'), 'cookie' => true));
     $session = $facebook->getSession();
     if (isset($session['uid'])) {
         $me = $facebook->api('/me');
         // kalo login fb apakah ada user ini
         $rows = $this->db->get_where('meta', array('fb_id' => $session['uid']))->row();
         if ($rows) {
             $row = $this->ion_auth->get_user_by_email($me['email']);
             $this->ion_auth_model->update_last_login($row->id);
             $session_data = array('email' => $row->email, 'id' => $row->id, 'user_id' => $row->id, 'group_id' => $row->group_id, 'group' => $row->group);
             $this->session->set_userdata($session_data);
             redirect($this->url_if_login);
         } else {
             $this->session->set_flashdata('message', 'Can\'t Find Your FB accounts mapping to our database member');
             redirect('member/registration/');
         }
     } else {
         $this->session->set_flashdata('message', 'Please Login To Your Facebook First');
         redirect('member/login', 'refresh');
     }
 }
 /**
  * Function for check login
  *
  */
 public function login()
 {
     // Setting the page title
     $this->set("title_for_layout", "User Login");
     if ($this->Auth->login()) {
         $this->redirect($this->Auth->redirect());
     } else {
         if ($this->request->is('post')) {
             $this->Session->setFlash(__('Invalid username or password, try again'));
         }
     }
     $facebooksecretkey = '4753a9042404a78aaff1069f73aa8994';
     $facebookapikey = '203755806382341';
     App::import('Vendor', 'facebook', array('file' => 'facebook/src/facebook.php'));
     $facebook = new Facebook(array('appId' => "{$facebookapikey}", 'secret' => "{$facebooksecretkey}"));
     $user = $facebook->getUser();
     $facebookLoginUrl = $facebook->getLoginUrl();
     $this->set('facebookLoginUrl', $facebookLoginUrl);
     if ($user) {
         $faceBookUserProfile = $facebook->api('/me');
         if (isset($faceBookUserProfile) && !empty($faceBookUserProfile)) {
             $this->facebook($faceBookUserProfile);
         }
     }
     //ends here
 }
Пример #27
0
 public function fbc_friend()
 {
     global $context, $fbuser, $Url, $FacebookId, $fb_hook_object, $friends, $scripturl, $fb_object, $curOffset;
     $context['sub_template'] = 'fbc_friends';
     $context['fb_do'] = 'friends';
     SAFacebookhooks::face_init();
     $facebook = new Facebook(array('appId' => $fb_hook_object->modSettings['fb_app_id'], 'secret' => $fb_hook_object->modSettings['fb_app_secret']));
     $Url = $facebook->getLoginUrl(array('redirect_uri' => $scripturl . '?action=facebook', 'scope' => 'email,publish_actions'));
     $fb_object->fbc_cons_pages('friends', 32);
     if (!$fb_hook_object->modSettings['fb_mode2']) {
         redirectexit();
     }
     $fbuser = $FacebookId;
     if ($fbuser) {
         //Try it!!!!!
         try {
             //These api calls can be slow so were only do it if needed
             if (empty($_SESSION['safbfriends'][$curOffset])) {
                 $_SESSION['safbfriends'][$curOffset] = $facebook->api('/me/friends?offset=' . $curOffset . '&limit=32');
             }
             $friends = $_SESSION['safbfriends'][$curOffset];
         } catch (FacebookApiException $e) {
             //Throw it!!!!!
             fatal_error($e, false);
         }
     }
 }
 /**
  *
  * @param array $data
  * @param array $services
  */
 public function sendToSocialMedia(array $data, array $services = array('facebook', 'twitter'))
 {
     // init output
     $ids = array('facebook' => null, 'twitter' => null);
     // Facebook
     if (in_array('facebook', $services) && $this->confirmFacebookAccess()) {
         $facebook = new Facebook(array('appId' => static::$conf->FacebookAppId, 'secret' => static::$conf->FacebookAppSecret));
         $facebook->setAccessToken(static::$conf->FacebookPageAccessToken);
         try {
             $post_id = $facebook->api("/" . static::$conf->FacebookPageId . "/feed", "post", $data);
             $ids['facebook'] = $post_id['id'];
         } catch (FacebookApiException $e) {
             SS_Log::log('Error ' . $e->getCode() . ' : ' . $e->getFile() . ' Line ' . $e->getLine() . ' : ' . $e->getMessage() . "\n" . 'BackTrace: ' . "\n" . $e->getTraceAsString(), SS_Log::ERR);
         }
     }
     // Twitter
     if (in_array('twitter', $services) && $this->confirmTwitterAccess()) {
         $connection = new tmhOAuth(array('consumer_key' => static::$conf->TwitterConsumerKey, 'consumer_secret' => static::$conf->TwitterConsumerSecret, 'user_token' => static::$conf->TwitterOAuthToken, 'user_secret' => static::$conf->TwitterOAuthSecret));
         $tweet = $data['name'] . ": " . $data['link'];
         $code = $connection->request('POST', $connection->url('1.1/statuses/update'), array('status' => $tweet));
         if ($code == 200) {
             $data = json_decode($connection->response['response']);
             $ids['twitter'] = $data->id_str;
         }
     }
     return $ids;
 }
Пример #29
0
function getFacebookUserDetails($params)
{
    //$graph_url = "https://graph.facebook.com/me?access_token=$access_token";
    //
    // 	$ch = curl_init();
    // 	curl_setopt($ch, CURLOPT_URL, $graph_url);
    // 	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    // 	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    // 	$user = @json_decode(curl_exec($ch));
    //	curl_close($ch);
    //    return $user;
    //die(print_r(realpath(dirname(__FILE__))));
    //echo '8888';
    //$CI =& get_instance();
    //echo '7777';
    //$CI->load->library('facebook');
    //die( base_url() );
    //echo 'base...'.$params->base_dir;
    require_once $params->base_dir . '/server/facebook.php';
    $facebook = new Facebook(array('appId' => $params->app_id, 'secret' => $params->app_secret));
    $user = $facebook->getUser();
    if ($user) {
        try {
            // Proceed knowing you have a logged in user who's authenticated.
            $user_profile = $facebook->api('/me');
        } catch (FacebookApiException $e) {
            error_log($e);
            $user = null;
        }
        return $user_profile;
    }
}
Пример #30
-1
 /**
  * Fetch the HTML for the button
  *
  * @param   string   $type  Unused string.
  * @param   string   $name  The name of the button icon class.
  * @param   string   $text  Button text.
  * @param   string   $task  Task associated with the button.
  * @param   boolean  $list  True to allow lists
  *
  * @return  string  HTML string for the button
  *
  * @since   3.0
  */
 public function fetchButton($type = 'J2FBPost', $name = '', $text = '', $task = '', $list = false)
 {
     $class = $this->fetchIconClass($name);
     if ($name == "apply" || $name == "new") {
         $btnClass = "btn btn-small btn-success";
         $iconWhite = "icon-white";
     } else {
         $btnClass = "btn btn-small";
         $iconWhite = "";
     }
     JFactory::getDocument()->addStyleDeclaration('div#toolbar div#toolbar-' . $name . ' button.btn i.icon-' . $name . '-login::before {color: #2F96B4;content: "\\"";}');
     JFactory::getDocument()->addStyleDeclaration('div#toolbar div#toolbar-' . $name . ' button.btn i.icon-' . $name . '::before {color: #2F96B4;content: "&";}');
     JFactory::getDocument()->addStyleDeclaration('div#toolbar div#toolbar-' . $name . ' button.btn i.icon-' . $name . '-waiting::before {color: #2F96B4;content: "j";}');
     // Create our Application instance
     $facebook = new Facebook(array('appId' => self::$appid, 'secret' => self::$secret, 'cookie' => true));
     if ($fbuser = $facebook->getUser()) {
         try {
             $user_profile = $facebook->api('/me');
             //Get user pages details using Facebook Query Language (FQL)
             $fql_query = 'SELECT page_id, name, page_url FROM page WHERE page_id IN (SELECT page_id FROM page_admin WHERE uid=' . $fbuser . ')';
             $postResults = $facebook->api(array('method' => 'fql.query', 'query' => $fql_query));
         } catch (FacebookApiException $e) {
             JError::raiseWarning(1, $e->getMessage());
             return null;
         }
     } else {
         //Show login button for guest users
         $i18n_text = JText::_('Login');
         $doTask = $facebook->getLoginUrl(array('redirect_uri' => JURI::current(), 'scope' => 'publish_stream,read_stream,offline_access,manage_pages'));
         /* 
          * publish_stream – allows the application to publish updates to Facebook on the user’s behalf
          * read_stream – allows the application to read from the user’s News Feed
          * offline_access – converts the access_token to one that doesn’t expire, thus letting the application make API calls anytime. Without this, the application’s access_token will expire after a few minutes, which isn’t ideal in this case
          * manage_pages – lets the application access the user’s Facebook Pages. Since the application we’re building deals with Facebook Pages, we’ll need this as well.
          */
         $html = "<button class=\"btn btn-small\" onclick=\"location.href='{$doTask}';\">\n";
         $html .= "<i class=\"{$class}-login\">\n";
         $html .= "</i>\n";
         $html .= "{$i18n_text}\n";
         $html .= "</button>\n";
     }
     if ($fbuser && $postResults) {
         $i18n_text = JText::_($text);
         $doTask = $this->_getCommand($name, $task, $list);
         $doc = JFactory::getDocument();
         $doc->addScript("../media/lib_eshiol_core/js/encryption.js");
         $doc->addScript("../media/lib_eshiol_core/js/core.js");
         foreach ($postResults as $item) {
             $options[] = array('text' => $item['name'], 'value' => $item['page_id']);
         }
         array_unshift($options, JHTML::_('select.option', 0, '- Select a page -'));
         $html = "<button data-toggle=\"modal\" data-target=\"#collapseModal{$name}\" class=\"" . $btnClass . "\">\n";
         $html .= "<i class=\"{$class} {$iconWhite}\">\n";
         $html .= "</i>\n";
         $html .= "{$i18n_text}\n";
         $html .= "</button>\n";
         $html .= "\r\n<div class=\"modal hide fade\" id=\"collapseModal{$name}\">\r\n\t<div class=\"modal-header\">\r\n\t\t<button type=\"button\" class=\"close\" data-dismiss=\"modal\">x</button>\r\n\t\t<h3>Post to Facebook</h3>\r\n\t</div>\r\n\t<div class=\"modal-body\" style=\"min-height:250px\">\r\n\t\t<p>Post to facebook using www.eshiol.it app</p>\r\n\t\t<div class=\"control-group\">\r\n\t\t\t<div class=\"controls\">" . JHtml::_('select.genericlist', $options, 'fbpage', array('list.attr' => 'class="inputbox" size="1"', 'list.select' => 0)) . "\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"modal-footer\">\r\n\t\t<button class=\"btn\" type=\"button\" onclick=\"document.id('fbpage').value=''\" data-dismiss=\"modal\">\r\n\t\t\t" . JText::_('JCANCEL') . "\r\n\t\t</button>\r\n\t\t<button class=\"btn btn-primary\" type=\"button\" onclick=\"{$doTask}\">\r\n\t\t\t{$i18n_text}\r\n\t\t</button>\r\n\t</div>\r\n</div>\r\n\t\t\t";
     }
     return $html;
 }