示例#1
0
 private function loginWithWeibo($bindInfo, $data = array())
 {
     $userInfo = Users::model()->findByPk($bindInfo['uid']);
     if ($userInfo && $userInfo['status'] == Posts::STATUS_PASSED) {
         $identity = new UserIdentity();
         $identity->autoLogin($userInfo['id'], $userInfo['truename']);
         $duration = 3600 * 24 * 30;
         // 30 days
         Yii::app()->user->login($identity, $duration);
         if ($this->referer == '') {
             $this->referer = array('users/index', 'id' => $userInfo['id']);
         }
         $infoArr = array('screen_name' => $data['screen_name'], 'avatarurl' => $data['avatarurl'], 'profile_url' => $data['profile_url']);
         //更新授权的时间
         $upInfo = array('token' => $data['access_token'], 'updateTime' => zmf::now(), 'expires' => $data['expires_in'], 'data' => serialize($infoArr));
         UserSina::model()->updateByPk($bindInfo['uid'], $upInfo);
         $this->redirect($this->referer);
     } else {
         throw new CHttpException(403, '您所绑定的用户已不存在');
     }
 }