public function onGetFBPageInfor() { $post = post(); extract($post); $obj = array(); if (!empty($AdSharePage['fb_link'])) { $obj = UserAccessToken::get_fb_page_infor($AdSharePage['fb_link']); } }
public static function create_gp_access_token($code = '') { if (!$code) { return false; } if (empty(self::$gp_client)) { self::init_gp(); } self::$gp_client->authenticate($code); $access_token = self::$gp_client->getAccessToken(); // Get current user with access token $plus = new \Google_Service_Plus(self::$gp_client); $me = $plus->people->get("me"); try { DB::beginTransaction(); // Create new user with email if not exist in db if (!empty($me['emails']) && !empty($me['emails'][0])) { $email = $me['emails'][0]->getValue(); $user = User::where('email', '=', $email)->first(); if (!$user) { $password = str_random(8); $user = new User(); $user->email = $email; $user->name = $me['displayName']; $user->password = $password; $user->password_confirmation = $password; $user->is_activated = true; $user->username = $email; } $user->gp_uid = $me['id']; $user->save(); UserAccessToken::sendEmailAfterRegister($user->name, $user->email); // Save user avatar if (!empty($me['image']) && !empty($me['image']['url'])) { $image_url = $me['image']['url']; $image_url = str_replace('?sz=50', '?sz=250', $image_url); self::getUserAvatar($user->id, $image_url); } // Save to UserAccessToken table $record = self::whereRaw('user_id = ? AND type = ?', array($user->id, 'googleplus'))->first(); if (!$record) { $record = new self(); $record->user_id = $user->id; } $record->access_token = $access_token; $record->type = 'googleplus'; $record->save(); Auth::login($user); } } catch (Exception $ex) { DB::rollback(); } DB::commit(); return $access_token; }
public function getAdSharePage() { $records = AdShare::whereRaw('status = ? AND crawl = ?', array(true, false))->take(100)->get(); if (!count($records)) { AdShare::all()->update(array('crawl' => false)); return Response::json(array('status' => 'error'), 500); } foreach ($records as $record) { if ($record->fb_id) { $link = "https://www.facebook.com/" . $record->fb_id; UserAccessToken::get_fb_page_infor($AdSharePage['fb_link']); $record->crawl = true; $record->save(); } } return Response::json(array('status' => 'success'), 200); }
public function postFeedFB() { if (!Auth::check()) { return Response::json(array('status' => 'error', 'message' => trans(CLF_LANG_MESSAGE . 'require_signin')), 500); } $data = post(); $default = array('ad_id' => '', 'type' => '', 'link' => '', 'message' => ''); $merge = array_merge($default, $data); $merge = \DLNLab\Classified\Classes\HelperClassified::trim_value($merge); extract($merge); // Get access token $user_id = Auth::getUser()->id; $record = UserAccessToken::valid_access_token($user_id, 'facebook'); if (empty($record) || empty($record->access_token)) { return Response::json(array('status' => 'error'), 500); } $access_token = $record->access_token; $check = UserAccessToken::check_fb_access_token($access_token); if (!$check) { return Response::json(array('status' => 'error'), 500); } $fb_user_id = $check->user_id; $record = null; if ($fb_user_id) { $postdata = http_build_query(array('access_token' => $access_token, 'message' => $message, 'link' => $link, 'privacy' => array('value' => 'EVERYONE'))); $opts = array('http' => array('method' => 'POST', 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => $postdata)); $context = stream_context_create($opts); $obj = json_decode(@file_get_contents(self::$graph . $fb_user_id . '/feed', false, $context)); if (!empty($obj->id)) { $user_id = Auth::getUser()->id; $record = new AdShare(); $record->ad_id = $ad_id; $record->user_id = $user_id; $record->link = $link; $record->md5 = md5($link); $record->share_id = $obj->id; $record->save(); } } return Response::json($record); }