Регистр файлов
This commit is contained in:
parent
4fd0187ea6
commit
c8958cbee0
83 changed files with 25 additions and 53 deletions
34
src/Filter/ActionAccess.php
Normal file
34
src/Filter/ActionAccess.php
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Фильтр действий
|
||||
*/
|
||||
class ActionAccess
|
||||
{
|
||||
public $access = array();
|
||||
|
||||
function __construct($processor)
|
||||
{
|
||||
$this->processor = $processor;
|
||||
}
|
||||
|
||||
/**
|
||||
* Проверка доступных действий для пользователя
|
||||
* !! Реализация класса проверки действий не должна быть внутри Контроллера!!!
|
||||
* Информация о доступе может быть в файле, базе данных и т.д.
|
||||
*/
|
||||
function checkAction($action)
|
||||
{
|
||||
// Импликация !! http://ru.wikipedia.org/wiki/Импликация
|
||||
return (!isset($this->access[$action]) || in_array(UserAccess::$access, $this->access[$action]));
|
||||
}
|
||||
|
||||
function execute(HTTPRequest $request)
|
||||
{
|
||||
$action = $request->getAction();
|
||||
if(! $this->checkAction($action)) {
|
||||
$request->set('action', 'index');
|
||||
}
|
||||
return $this->processor->execute($request);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue