/** * @inheritdoc */ protected function matchRole($user) { if (empty($this->roles)) { return true; } foreach ($this->roles as $role) { if ($role === '?') { if ($user->getIsGuest()) { return true; } } elseif ($role === '@') { if (!$user->getIsGuest()) { return true; } // Check if the user is logged in, and the roles match } elseif (!$user->getIsGuest() && Rol::hasRole($user->id, $role)) { return true; } } return false; }
public static function cambiarEstado($id) { $user = self::findIdentity($id); $isAdmin = Rol::hasRole($id, Rol::ROLE_SUPER); if (!$isAdmin) { $user->habilitado = !$user->habilitado; $user->save(); } else { Yii::$app->session->setFlash('danger', 'No puede modificar al administrador del sistema'); } }