function run() { parent::run(); $code = $_REQUEST["code"]; if (!empty($code)) { // WRA::debug("get fb data"); $token_url = "https://graph.facebook.com/oauth/access_token?" . "client_id=" . WRA_CONF::$fbappid . "&redirect_uri=" . urlencode(WRA_CONF::$fbauthlink . '') . "&client_secret=" . WRA_CONF::$fbappsecret . "&code=" . $code; // $usr = $_REQUEST['state']; $response = @file_get_contents($token_url); // WRA::debug($response); $params = null; parse_str($response, $params); // WRA::debug($params); $graph_url = "https://graph.facebook.com/me?fields=id,picture,name,first_name,location,hometown,gender,last_name,link,email&type=large&access_token=" . $params['access_token']; // WRA::debug($graph_url); $user = @json_decode(@file_get_contents($graph_url)); // WRA::debug('asdasda'); // wra_fbu::fbd($user->id); $nu = new wra_fbu(); $nu->display_name = htmlspecialchars($user->name, ENT_QUOTES); $nu->regdate = WRA::getcurtime(); $nu->fbuserid = $user->id; // $nu->userid = $usr; $nu->username = htmlspecialchars($user->first_name, ENT_QUOTES); $nu->usersurname = htmlspecialchars($user->last_name, ENT_QUOTES); $nu->link = htmlspecialchars($user->link, ENT_QUOTES); $nu->user_agent = wra_fbu::getbrowser(); $nu->access_token = $params['access_token']; $nu->email = htmlspecialchars($user->email, ENT_QUOTES); $nu->photo = str_replace("_q", "_n", $user->picture->data->url); if ($user->gender == 'female') { $nu->gender = 1; } else { $nu->gender = 0; } $nu->phone = ''; if (isset($nu->hometown)) { $nu->adres = htmlspecialchars($nu->hometown->name, ENT_QUOTES); } if (isset($nu->location)) { $nu->adres = htmlspecialchars($nu->location->name, ENT_QUOTES); } // WRA::debug($nu);die(); if (!empty($nu->fbuserid)) { if (!wra_fbu::isfbexist($user->id)) { $nu->userid = $this->addUsr($nu->display_name, $nu->usersurname, $nu->phone, $nu->email, "asdf" . time(), $nu->photo); $nu->add(); } else { $nu->loadbyfb($nu->fbuserid); $nu->update(); } wra_fbu::fbd($nu->fbuserid, $nu->userid); // try{ // }catch(Exception $ex){} //print_r($fb); } } // if(empty($_SESSION['lastpage'])){ WRA::gotopage(WRA::base_url() . '?from=fb'); // }else{ // WRA::gotopage(WRA::base_url().$_SESSION['lastpage']); // } $_SESSION['lastpage'] = ''; }
static function save($saveid = -1, $pid = -1, $adminedit = '') { //сохранение изменного (или добавляемого класса) для админки switch ($adminedit) { default: $savepc = new wra_fbu(); if ($saveid != -1) { $savepc->load($saveid); } $savepc->userid = wra_admintable::getpost('fielduserid'); $savepc->fbuserid = wra_admintable::getpost('fieldfbuserid'); $savepc->display_name = wra_admintable::getpost('fielddisplay_name'); $savepc->regdate = wra_admintable::getpost('fieldregdate'); $savepc->username = wra_admintable::getpost('fieldusername'); $savepc->usersurname = wra_admintable::getpost('fieldusersurname'); $savepc->link = wra_admintable::getpost('fieldlink'); $savepc->gender = wra_admintable::getpost('fieldgender'); $savepc->photo = wra_admintable::getpost('fieldphoto'); $savepc->points = wra_admintable::getpost('fieldpoints'); $savepc->access_token = wra_admintable::getpost('fieldaccess_token'); $savepc->email = wra_admintable::getpost('fieldemail'); $savepc->phone = wra_admintable::getpost('fieldphone'); $savepc->adres = wra_admintable::getpost('fieldadres'); if ($saveid != -1) { $savepc->update(); } else { $savepc->add(); } return $savepc->id; } return $saveid; }