Example #1
0
 public function onGetFBPageInfor()
 {
     $post = post();
     extract($post);
     $obj = array();
     if (!empty($AdSharePage['fb_link'])) {
         $obj = UserAccessToken::get_fb_page_infor($AdSharePage['fb_link']);
     }
 }
Example #2
0
 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;
 }
Example #3
0
 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);
 }
Example #4
0
 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);
 }