У меня есть функция, которая ограничивает доступ к некоторым местам на моем сайте.В этом коде userGroup должен быть пользователем, чтобы человек мог перейти по ссылкам на сайте.Тем не менее, я недавно добавил userGroup 'vip', но они не могут получить доступ к ссылкам, потому что параметр, передаваемый в методе, является только 'user'.Я не совсем уверен, что мне нужно сделать, чтобы заставить его работать как с 'user', так и с 'vip' .... Но вот мой код:
Здесь вызывается метод $this->access->restrict('user');
:
class MY_User extends MY_Controller {
function MY_User() {
parent::MY_Controller();
// Protect the user area
$this->access->restrict('user');
// Don't want to cache this content
$this->output->set_header("Cache-Control: no-store, no-cache, must-revalidate");
$this->output->set_header("Cache-Control: post-check=0, pre-check=0", false);
$this->output->set_header("Pragma: no-cache");
}
}
и передается в функцию restrict ():
function restrict($userGroup = FALSE)
{
if($userGroup == 'logged_out')
{
if ($this->CI->user->id > 0)
{
redirect('user');
}
}
else if($this->CI->user->id < 0)
{
$this->CI->session->set_flashdata('referrer', $this->CI->uri->uri_string());
redirect();
} else if($this->CI->user->userGroup != 'admin'){
if ($userGroup AND $this->CI->user->userGroup !== $userGroup)
{
$this->CI->session->set_flashdata('referrer', $this->CI->uri->uri_string());
redirect();
}
}
}
Я понимаю, что должен создать новый параметр в
function restrict($userGroup = FALSE)
и
$this->access->restrict('user');
но я не уверен, что делать после этого