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