public function __construct($params = array()) { parent::__construct($params); $config = array('appId' => Core_Model_Lib_Facebook::getAppId(), 'secret' => Core_Model_Lib_Facebook::getSecretKey()); $this->_facebook = new Facebook($config); if (!empty($params['social_datas'])) { $this->_facebook->setAccessToken(unserialize($params['social_datas'])); } if ($this->isValid()) { $this->loadData(); } return $this; }
protected function _parseFBAgenda($username) { $app_id = Core_Model_Lib_Facebook::getAppId(); $app_secret = Core_Model_Lib_Facebook::getSecretKey(); $url = 'https://graph.facebook.com/oauth/access_token'; $url .= '?grant_type=client_credentials'; $url .= "&client_id={$app_id}"; $url .= "&client_secret={$app_secret}"; $access_token = str_replace('access_token=', '', file_get_contents($url)); $url = "https://graph.facebook.com/{$username}/events?access_token={$access_token}"; $response = @file_get_contents($url); if (!$response) { return $this; } $events = Zend_Json::decode($response); if (!empty($events) && !empty($events['data'])) { foreach ($events['data'] as $event) { $event_datas = @file_get_contents("https://graph.facebook.com/{$event['id']}?access_token={$access_token}"); if (!$event_datas) { continue; } $description = ''; if (!$event_datas) { continue; } $event_datas = Zend_Json::decode($event_datas); $updated_at = date_create($event_datas['updated_time'])->format('Y-m-d H:i:s'); if (!empty($event_datas['venue'])) { $address = $event_datas['venue']['street'] . ', ' . $event_datas['venue']['zip'] . ', ' . $event_datas['venue']['city']; if (!empty($event_datas['venue']['state'])) { $address .= ', ' . $event_datas['venue']['state']; } if (!empty($event_datas['venue']['country'])) { $address .= ', ' . $event_datas['venue']['country']; } } $start_at = null; if (!empty($event['start_time'])) { $start_at = new Zend_Date($event['start_time'], Zend_Date::ISO_8601); $start_at = $start_at->toString('y-MM-dd HH:mm:ss'); } // isset($event['start_time']) ? $start_at = strtotime($event['start_time']) : $start_at = strtotime(date("Y-m-d H:i:s", time())); $this->_list[] = array("name" => $event['name'], "start_at" => $start_at, "end_at" => date_create(isset($event['end_time']) ? $event['end_time'] : "")->format('Y-m-d H:i:s'), "description" => !empty($event_datas['description']) ? $event_datas['description'] : null, "location" => $address, "rsvp" => '', "picture" => 'https://graph.facebook.com/' . $event['id'] . '/picture?type=large', "created_at" => null, "updated_at" => $updated_at); // } } } return $this; }
public function checkfbAction() { if ($datas = $this->getRequest()->getPost()) { try { $username = ""; if (empty($datas['url'])) { throw new Exception(); } if (stripos($datas['url'], 'facebook.com') !== false and stripos($datas['url'], 'http') === false) { $datas['url'] = 'https://' . $datas['url']; } if (Zend_Uri::check($datas['url'])) { $uri = Zend_Uri_Http::fromString($datas['url']); $username = ltrim($uri->getPath(), '/'); $username = current(explode('/', $username)); } else { $username = $datas['url']; } $app_id = Core_Model_Lib_Facebook::getAppId(); $app_secret = Core_Model_Lib_Facebook::getSecretKey(); $url = 'https://graph.facebook.com/oauth/access_token'; $url .= '?grant_type=client_credentials'; $url .= "&client_id={$app_id}"; $url .= "&client_secret={$app_secret}"; $access_token = str_replace('access_token=', '', @file_get_contents($url)); $url = "https://graph.facebook.com/{$username}/events?access_token={$access_token}"; $response = @file_get_contents($url); if (empty($response)) { throw new Exception('Invalid username'); } $html = array('success' => 1, 'fb_username' => $username); } catch (Exception $e) { $html = array('message' => $e->getMessage(), 'message_button' => 1, 'message_loader' => 1); } $this->getLayout()->setHtml(Zend_Json::encode($html)); } }
private function __getAccessToken() { $app_id = Core_Model_Lib_Facebook::getAppId(); $app_secret = Core_Model_Lib_Facebook::getSecretKey(); if ($this->_page == 1) { $url = 'https://graph.facebook.com/oauth/access_token'; $url .= '?grant_type=client_credentials'; $url .= "&client_id={$app_id}"; $url .= "&client_secret={$app_secret}"; } else { $url = $this->_next_url; } return str_replace('access_token=', '', file_get_contents($url)); }