Campustream 1.0
A social network MQP for WPI
|
00001 <? 00002 00007 class Facebook_Controller extends Controller { 00008 public $enable_session = true; 00009 00014 public function authorize() { 00015 sess::require_login(); 00016 $active_user = sess::getUser(); 00017 00018 $facebook = new Facebook(array( 00019 'appId' => FACEBOOK_APP_ID, 00020 'secret' => FACEBOOK_SECRET, 00021 'cookie' => true 00022 )); 00023 00024 $session = $facebook->getSession(); 00025 00026 $user = null; 00027 if ($session) { 00028 try { 00029 $user = $facebook->api('/me'); 00030 } catch (FacebookApiException $e) { 00031 Logger::debug("FB Error: {$e->getMessage()}"); 00032 } 00033 } 00034 00035 $fbuser = new Userfacebook_Model(); 00036 $fbuser->user_id = $active_user->id; 00037 $fbuser->fb_id = $user['id']; 00038 $fbuser->username = $facebook->getUser(); 00039 $fbuser->access_token = $facebook->getAccessToken(); 00040 $fbuser->name = $user['name']; 00041 $fbuser->link = $user['link']; 00042 $fbuser->about = $user['about']; 00043 $fbuser->gender = $user['gender']; 00044 $fbuser->import_enabled = 0; 00045 $fbuser->export_enabled = 0; 00046 $fbuser->last_status_id = 0; 00047 $fbuser->save(); 00048 00049 Hub::redirect('/settings/services'); 00050 } 00051 00056 public function deauthorize() { 00057 sess::require_login(); 00058 $active_user = sess::getUser(); 00059 00060 if (!isset($_GET['s']) || $_GET['s'] != md5('zOmg4tehcoolz!' . $active_user->username) || !$active_user->has_facebook()) { 00061 return Hub::redirect('/settings/services'); 00062 } 00063 00064 $fbuser = ActiveRecord::find('Userfacebook_Model', "SELECT * FROM userfacebook WHERE user_id = {$active_user->id} LIMIT 1"); 00065 00066 if ($fbuser->is_loaded()) { 00067 $fbuser->delete(); 00068 } 00069 00070 return Hub::redirect('/settings/services'); 00071 } 00072 }