/** * @param IWebUser $user the user * @return boolean whether the rule applies to the user */ protected function isGroupMatched($user) { if (empty($this->groups) || (int) $user->getGroup() === UserGroupsUser::ROOT) { return true; } elseif (UserGroupsConfiguration::findRule('super_admin') && isset(Yii::app()->user->accessRules['userGroups']['admin']['admin'])) { return true; } elseif ($user->getIsGuest() || $user->getRecovery()) { return false; } foreach ($this->groups as $g) { if ($g === '*') { return true; } else { if (!strcasecmp($g, $user->getGroup()) || !strcasecmp($g, $user->getGroupName())) { return true; } } } return false; }