/** * @param \Modules\User\Models\User $user the user * @return boolean whether the rule applies to the user */ protected function isUserMatched($user) { if (empty($this->users)) { return true; } foreach ($this->users as $u) { if ($u === '*') { return true; } elseif ($u === '?' && $user->getIsGuest()) { return true; } elseif ($u === '@' && !$user->getIsGuest()) { return true; } elseif (!strcasecmp($u, $user->username)) { return true; } } return false; }