Пример #1
0
 public function import($type)
 {
     // http://www2.razorit.com/contacts/contacts/import/google
     if ($type == 'google') {
         $googleAccessToken = $this->Session->read('Google.accessToken');
         // set in UserConnectsController
         if (!empty($googleAccessToken)) {
             App::uses('UserConnect', 'Users.Model');
             $UserConnect = new UserConnect();
             debug($UserConnect->listGoogleContacts($googleAccessToken));
             break;
             // post($accessTokenKey, $accessTokenSecret, $url, array $postData = array())
             $response = $this->Client->post($params['code'], $params['client_secret'], 'https://accounts.google.com/o/oauth2/token', $params);
             debug($googleAccessToken);
             break;
         } else {
             $this->redirect('/users/user_connects/google/contacts%2Fcontacts%2Fimport%2Fgoogle');
         }
     }
 }
Пример #2
0
 /**
  * Save the user data to the application.
  * Configure the saveModel and savePlugin at the top of this controller.
  * 
  * @return bool
  * @todo 	Make this model name variable so that anyone using this plugin can easily change the table it saves data to.
  */
 protected function _connectUser($profileData, $token, $verifier)
 {
     if (!empty($this->saveModel)) {
         App::uses($this->saveModel, $this->savePlugin . '.Model');
         $UserConnect = new UserConnect();
         $data['UserConnect']['type'] = 'twitter';
         $data['UserConnect']['value'] = serialize(array_merge(array('token' => $token), array('verifier' => $verifier), $profileData));
         if ($UserConnect->add($data)) {
             if ($this->Twitter->updateStatus('I just connected my Zuha website to Twitter. @GetZuha')) {
                 return true;
             } else {
                 throw new Exception(__('test status message failed'));
             }
         } else {
             throw new Exception(__('no user to tie this twitter account to (probably need to auto create a user on our end'));
         }
     } else {
         return true;
     }
 }
Пример #3
0
 public static function saveUserConnect($user_id, $user_connect = null)
 {
     if ($user_connect != null) {
         $connect = UserConnect::where('user_id', '=', $user_id)->first();
         if ($connect == null) {
             $connect = new UserConnect();
             $connect->user_id = $user_id;
         }
         if ($user_connect['provider'] == 'facebook') {
             // TODO : save profile picture
             /*$url = 'http://graph.facebook.com/'.$user_connect['id'].'/picture';
             		$data = file_get_contents($url);
             		$fileName = 'assetsfb_profilepic.jpg';
             		$file = fopen($fileName, 'w+');
             		fputs($file, $data);
             		fclose($file);*/
             $connect->facebook_user_id = $user_connect['id'];
             $connect->facebook_oauth_token = $user_connect['token'];
         } else {
             if ($user_connect['provider'] == 'twitter') {
                 // TODO : save profile picture
                 /*$url = $user_connect['profile_image_url'];
                 		$data = file_get_contents($url);
                 		$fileName = 'assetsfb_profilepic.jpg';
                 		$file = fopen($fileName, 'w+');
                 		fputs($file, $data);
                 		fclose($file);*/
                 $connect->twitter_user_id = $user_connect['id'];
                 $connect->twitter_oauth_verifier = $user_connect['verifier'];
                 $connect->twitter_oauth_token = $user_connect['token'];
             }
         }
         $connect->save();
     }
 }
Пример #4
0
 private function checkUserConnect($provider = 'facebook', $result)
 {
     // save to session
     Session::put('user_connect', $result);
     // check in User Connect table
     $user_connect = UserConnect::with(array('user'));
     if ($provider == 'facebook') {
         $user_connect = $user_connect->where('facebook_user_id', '=', $result['id']);
     } else {
         if ($provider == 'twitter') {
             $user_connect = $user_connect->where('twitter_user_id', '=', $result['id'])->orWhere('twitter_oauth_verifier', '=', $result['verifier']);
         }
     }
     $user_connect = $user_connect->first();
     if ($user_connect) {
         // auto sign in
         $input = array('id' => $user_connect->user_id, 'password' => $user_connect->user->password);
         Auth::attempt($input);
         if (Session::has('redirect')) {
             $redirecturl = str_replace('_', '/', Session::get('redirect'));
             Session::forget('redirect');
             return Redirect::to($redirecturl);
         }
         return Redirect::to('');
     } else {
         // init
         $redirecturl = '';
         if (Session::has('redirect')) {
             $redirecturl = str_replace('_', '/', Session::get('redirect'));
             Session::forget('redirect');
         }
         // redirect to signup
         return Redirect::route('signup')->with('redirecturl', $redirecturl);
     }
 }