示例#1
0
 protected function getUserAccessToken()
 {
     $access_token = $this->getPersistentData('access_token');
     if (empty($access_token)) {
         $this->_cache = HTS_Util::getObjectFileCache();
         $access_token = $this->_getCacheAccessToken();
         if ($access_token === false || !$this->_checkValidAccessToken($access_token)) {
             if (isset($this->signedRequest['access_token'])) {
                 $access_token = $this->signedRequest['access_token'];
                 $access_token = $this->_getExtendsTimeOut($access_token);
                 $this->_setCacheAccessToken($access_token);
                 $this->setPersistentData('access_token', $access_token);
             } else {
                 $access_token = parent::getUserAccessToken();
                 $access_token = $this->_getExtendsTimeOut($access_token);
                 $this->_setCacheAccessToken($access_token);
                 $this->setPersistentData('access_token', $access_token);
             }
         } else {
             $this->setPersistentData('access_token', $access_token);
         }
     }
     return $access_token;
 }
 public function __initDbCache()
 {
     Zend_Db_Table_Abstract::setDefaultMetadataCache(HTS_Util::getObjectFileCache());
 }
 private function _getCache()
 {
     return HTS_Util::getObjectFileCache();
 }
 protected function _updateUserDb()
 {
     $userData = HTS_Util::getObjectFileCache()->load('user_' . $this->_id_social);
     if ($userData === false) {
         $user_db = HTS_Util::getDbTable('users');
         $user = $user_db->findOneByIdSocial($this->_id_social);
         if (empty($user)) {
             $user_profile = $this->getUserProfile();
             $user = HTS_Util::getDbRow('users');
             //TODO some values are null -> undefined index warning
             if (!empty($user_profile['birthday'])) {
                 $birthday = new Zend_Date(@$user_profile['birthday'], 'dd/MM/yyyy');
                 $user->birthday = @$birthday->toString('yyyy/MM/dd');
             }
             $updated_time = new Zend_Date($user_profile['updated_time']);
             $user->id_social = $user_profile['id'];
             $user->name = $user_profile['name'];
             $user->email = @$user_profile['email'];
             $user->first_name = $user_profile['first_name'];
             $user->middle_name = @$user_profile['middle_name'];
             $user->last_name = @$user_profile['last_name'];
             $user->link = $user_profile['link'];
             $user->image = 'http://graph.facebook.com/' . $user_profile['id'] . '/picture';
             $user->gender = $user_profile['gender'];
             $user->timezone = $user_profile['timezone'];
             $user->locale = $user_profile['locale'];
             $user->time_created = time();
             $user->time_modified = time();
             $user->time_social_modified = $updated_time->toValue();
         }
         $user->save();
         HTS_Util::getObjectFileCache()->save($user->toArray(), 'user_' . $this->_id_social);
     } else {
         $user_db = HTS_Util::getDbTable('users');
         $user = $user_db->createRow($userData);
     }
     $this->_user = $user;
     $this->_id_user = $user->id;
 }