/** * {@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; }
/** * {@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(); }