コード例 #1
0
 /**
  * {@inheritDoc}
  * @see IPluggableAccessModule::checkAccess()
  */
 public function checkAccess(IPluggableModule $module, IPluggableWebUser $user, $role, $askForPrivilegeElevation = true, array $params = array())
 {
     if ($user->getIsGuest()) {
         return false;
     }
     if (!$this->isInstalled()) {
         return false;
     }
     foreach (YiiPlug::app()->getUserModules() as $userModule) {
         $profile = $userModule->getUserProfile($user);
         if ($profile !== null) {
             break;
         }
     }
     if ($profile === null) {
         return false;
     }
     $mgr = $this->getAccessManager();
     $item = $mgr->getAuthItem($module, $role);
     if ($item === null) {
         return false;
     }
     try {
         return $mgr->checkAccess($module, $item, $profile, $askForPrivilegeElevation, $params);
     } catch (CException $e) {
         /* silent */
     }
     return false;
 }
コード例 #2
0
ファイル: UserModule.php プロジェクト: anastaszor/yii1-user
 /**
  * {@inheritDoc}
  * @see PluggableUserModule::removeUserProfile()
  */
 public function removeUserProfile(IPluggableWebUser $user)
 {
     $profile = UserProfile::model()->findByAttributes(array('hash' => sha1($user->getName())));
     if ($profile === null) {
         return true;
     }
     foreach ($profile->userUsers as $user) {
         /* @var $user UserUser */
         $user->delete();
     }
     return $profile->delete();
 }