Избавляемся от констант и глобальных переменных
This commit is contained in:
parent
8b38b2a3cc
commit
f041488554
10 changed files with 39 additions and 33 deletions
|
|
@ -11,28 +11,26 @@ use ctiso\Controller\Action,
|
|||
ctiso\Collection,
|
||||
ctiso\Filter\ActionAccess,
|
||||
ctiso\Filter\ActionLogger,
|
||||
ctiso\Path;
|
||||
ctiso\Path,
|
||||
ctiso\UserMessageException,
|
||||
ctiso\HttpRequest;
|
||||
|
||||
class Front extends Action
|
||||
{
|
||||
|
||||
/** @var Shortcut */
|
||||
protected $shortcut; // Ярлык к модулю
|
||||
protected $_param; // Параметр по которому выбирается модуль
|
||||
protected $default; // Значение параметра по умолчанию
|
||||
|
||||
protected $modules = array();
|
||||
|
||||
/**
|
||||
* @param Settings $_registry
|
||||
* @param Shortcut $_shortcut
|
||||
* @param Settings $settings
|
||||
*/
|
||||
public function __construct($db, $settings, $default) {
|
||||
public function __construct($db, $settings, $user, $default) {
|
||||
parent::__construct();
|
||||
$this->settings = $settings;
|
||||
$this->db = $db;
|
||||
$this->user = $user;
|
||||
$this->default = $default;
|
||||
}
|
||||
|
||||
|
|
@ -52,23 +50,26 @@ class Front extends Action
|
|||
$module = $this->modules[$name];
|
||||
return $module->access->execute($request);
|
||||
}
|
||||
|
||||
$system = $this->settings['system'];
|
||||
|
||||
$basePath = $this->settings['system']->readKey(['path', 'modules']);
|
||||
$moduleFile = Path::join($basePath, $name, 'classes', $controller ? $controller : $name);
|
||||
$moulesPath = $system->readKey(['path', 'modules']);
|
||||
$logPath = Path::join($this->settings['site'], $system->readKey(['path', 'access.log']));
|
||||
$moduleFile = Path::join($this->settings['base'], $moulesPath, $name, 'classes', $controller ? $controller : $name);
|
||||
|
||||
$ucname = ucfirst($name);
|
||||
$moduleClass = "Module\\$ucname\\$ucname";
|
||||
$moduleClass = "Modules\\$ucname\\$ucname";
|
||||
$module = new $moduleClass();
|
||||
if ($module) {
|
||||
// Инициализация модуля
|
||||
$modPath = Path::join($basePath, $name);
|
||||
$modPath = Path::join($moulesPath, $name);
|
||||
$module->viewPath = $modPath;
|
||||
$module->name = $name;
|
||||
//
|
||||
$module->settings = $this->settings;
|
||||
$module->db = $this->db;
|
||||
// Ведение лога
|
||||
$logger = new ActionLogger($module);
|
||||
$logger = new ActionLogger($module, $logPath, $this->user);
|
||||
$logger->before = $this->loadSettings(Path::join($modPath, 'filter', 'logger.php'));
|
||||
// Управление доступом
|
||||
$module->access = new ActionAccess($logger);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue