Здравствуйте!
В контроллере находится следующая функция:
function index()
{
maintain_ssl();
// If user is not signed in or dont have access to any administration modules
if (! $this->authentication->is_signed_in() ||
! $this->account_access_model->is_admin($this->session->userdata('account_id')))
{
show_404();
}
// Set account related variables
$data['my_account'] = $this->account_model->get_by_id($this->session->userdata('account_id'));
$data['my_account_details'] = $this->account_details_model->get_by_account_id($this->session->userdata('account_id'));
$data['my_account_access'] = $this->account_access_model->get_by_account_id($this->session->userdata('account_id'));
// Set variables for this controller
$data['accounts'] = $this->account_model->get_accounts();
// Load view
$data['title'] = lang('admin_accounts_page_name');
$data['page'] = 'accounts';
$this->load->view('admin/template', $data);
}
Она проверяет, имеет ли посетитель права доступа к панели администратора, затем подгружает необходимые переменные и выдаёт представление.
Так вот, проверка прав доступа должна быть на каждой странице панели администратора. Куда вынести блок кода, отвечающий за неё, чтобы не приходилось повторять одно и то же в каждом методе?
Предполагаю, что можно сделать контроллер, который делает extend стандартного. Как это сделать, я знаю. Только вот что написать внутри, чтобы в начале выполнения каждого метода выполнялся определённый блок кода?