Clone wiki

plugsystem / Конфигурационный файл

Обычно конфигурационный файл ,хранится в DOCUMENT_ROOT./config.php

Конфигурационный файл обычно представлен в виде:

<?php

$option_frontend=array(
'plugins_directory'=>$_SERVER['DOCUMENT_ROOT']."/frame/plugins/",
'theme_path'=>$_SERVER['DOCUMENT_ROOT']."/themefrontend/",
"query_string"=>$_SERVER['REQUEST_URI'], 
 'access'=>'',
'manager'=>'\\managers\\FrontendManager',
'additional_namespaces'=>array('\\newplugins\\files')

);
$option_backend=array(
'plugins_directory'=>$_SERVER['DOCUMENT_ROOT']."/frame/plugins/",
'theme_path'=>$_SERVER['DOCUMENT_ROOT']."/themeadmin/name/",
"query_string"=>$_SERVER['REQUEST_URI'],
'access'=>'/pathtomegaadmin/',
'manager'=>'\\managers\\BackendManager',
'admin_login'=>'adminsecretsuperpuper',
'admin_password'=>'adminsecretsuperpuper',
'additional_namespaces'=>array()
);
$options=array('frontend'=>$option_frontend,'backend'=>$option_backend);

Сам файл хранит в себе настройки для Менеджеров. Менеджер выбирается по следующему принципу,если ключ query_string содержит ключ access то выполняется менеджер.

Например судя по файлу конфигурационному приведенному выше.

Если мы откроем например http://site.ru/test/test то выполнится FrontendManager

Если мы откроем например http://site.ru/pathtomegaadmin/test то выполнится BackendManager

Ключ plugins_directory является общим параметром,так как в нем необходимо указать папку в которой будут находится плагины.

Без этого ключа работа менеджера не возможна.

Ключ theme_path указывает на папку в которой будет инициализирован шаблон.

Шаблон должен обязательно содержать файл main.php

Для FrontendManager должен присутствовать файл 404.php

Для BackEndManager должен присутствовать файл index_page.php login.php

Ключ manager должен указывать на класс менеджера. Это сделано для того чтобы вы могли сами модифицировать менеджера .

Для BackendManager обязательными ключами являются admin_login,admin_password

Так как именно они задают данные для входа в админ.панель.

Если вы хотите сделать ограничение на вход в админку ну там по айпи адресу или по еще какому нибудь условию.

Все это делается в этом файле config.php

<?php
$options=array();
$option_frontend=array(
'plugins_directory'=>$_SERVER['DOCUMENT_ROOT']."/frame/plugins/",
'theme_path'=>$_SERVER['DOCUMENT_ROOT']."/themefrontend/",
"query_string"=>$_SERVER['REQUEST_URI'], 
 'access'=>'',
'manager'=>'\\managers\\FrontendManager',
'additional_namespaces'=>array('\\newplugins\\files')

);
$options['frontend']=$option_frontend;

if(isset($_SERVER['REMOTE_ADDR']) and $_SERVER['REMOTE_ADDR']=="1.1.1.1"){
$option_backend=array(
'plugins_directory'=>$_SERVER['DOCUMENT_ROOT']."/frame/plugins/",
'theme_path'=>$_SERVER['DOCUMENT_ROOT']."/themeadmin/name/",
"query_string"=>$_SERVER['REQUEST_URI'],
'access'=>'/pathtomegaadmin/',
'manager'=>'\\managers\\BackendManager',
'admin_login'=>'adminsecretsuperpuper',
'admin_password'=>'adminsecretsuperpuper',
'additional_namespaces'=>array()
);
$options['backend']=$option_backend;
}

Updated