예제 #1
0
 /**
  * Store the user's profile data in the database, if it doesn't exist yet.
  * @param Zend_Oauth_Token_Access $accessToken
  * @return Void
  */
 protected function _getUserData(Zend_Oauth_Token_Access $accessToken)
 {
     $authVars = $this->_getAuthVars();
     $token = $accessToken->getToken();
     $tokenSecret = $accessToken->getTokenSecret();
     $vimeoService = new Garp_Service_Vimeo_Pro($authVars->consumerKey, $authVars->consumerSecret, $token, $tokenSecret);
     $userDataFromVimeo = $vimeoService->people->getInfo($token);
     $id = $userDataFromVimeo['id'];
     $ini = Zend_Registry::get('config');
     $sessionColumns = Zend_Db_Select::SQL_WILDCARD;
     if (!empty($ini->auth->login->sessionColumns)) {
         $sessionColumns = $ini->auth->login->sessionColumns;
         $sessionColumns = explode(',', $sessionColumns);
     }
     $userModel = new Model_User();
     $userConditions = $userModel->select()->from($userModel->getName(), $sessionColumns);
     $model = new Model_AuthVimeo();
     $model->bindModel('Model_User', array('conditions' => $userConditions));
     $userData = $model->fetchRow($model->select()->where('vimeo_id = ?', $id));
     if (!$userData || !$userData->Model_User) {
         $userData = $model->createNew($id, $accessToken, $this->_mapProperties($userDataFromVimeo));
     } else {
         $model->getObserver('Authenticatable')->updateLoginStats($userData->user_id);
         $userData = $userData->Model_User;
     }
     return $userData;
 }
예제 #2
0
 /**
  * Set Vimeo access token
  * @param Garp_Service_Vimeo_Pro $vimeo
  * @return Void
  */
 protected function _setVimeoAccessToken(Garp_Service_Vimeo_Pro $vimeo)
 {
     // See if the currently logged in user has Vimeo credentials related to her, and use the token
     // and token secret. That way a user can fetch private videos thru the API.
     $garpAuth = Garp_Auth::getInstance();
     if (!$garpAuth->isLoggedIn()) {
         return;
     }
     $currentUser = $garpAuth->getUserData();
     $authVimeoModel = new Model_AuthVimeo();
     $authVimeoRecord = $authVimeoModel->fetchRow($authVimeoModel->select()->where('user_id = ?', $currentUser['id']));
     if ($authVimeoRecord) {
         $vimeo->setAccessToken($authVimeoRecord->access_token);
         $vimeo->setAccessTokenSecret($authVimeoRecord->access_token_secret);
     }
 }