# Screamer (05.08.2013 / 22:05)
Fenixrus, как это не то? Все три примера отвечают этим требованиям
Или ты издеваешся или х.з.
зачем громодить для модуля под джон? я же говорю что-то менее быдлокодерское чем мой код компактно и без ооп
Ну так там вообще делать нечего тогда. Я то думал тебе надо что более серьёзное.
(+/-)
А то РОУТЕР ему подавай
Тогда вот, на мой взгляд самый оптимальный вариант.
define('_IN_JOHNCMS', true);
require '../incfiles/core.php';
define('DS', DIRECTORY_SEPARATOR);
define('MODULE_DIR', rtrim(dirname(__FILE), '\/') . DS);
$act = is_string($act) && !empty($act) ? $act : 'index';
$action = MODULE_DIR . 'actions' . DS . $act . '.php';
if (is_file($action)) {
require $action;
} else {
header('Location: ' . core::$system_set['homeurl'] . '/?err');
}
# Screamer (05.08.2013 / 22:13)
Ну так там вообще делать нечего тогда. Я то думал тебе надо что более серьёзное.
А то РОУТЕР ему подавай
Тогда вот, на мой взгляд самый оптимальный вариант.
[php]define('_IN_JOHNCMS', true
вот то что и надо изменив его и заюзаю если вариантов больше не будет тему #
Еще желательно из $act вырезать все символы кроме латинских и цифр. Так безопаснее.
Копипаст из джона. Вполне рабочий и ничего городить не надо.
$array = array(
'admlist' => 'includes',
'birth' => 'includes',
'online' => 'includes',
'search' => 'includes',
'top' => 'includes',
'userlist' => 'includes'
);
$path = !empty($array[$act]) ? $array[$act] . '/' : '';
if (array_key_exists($act, $array) && file_exists($path . $act . '.php')) {
require_once($path . $act . '.php');
} else {
// Дефолтная страница
}
# Simba (05.08.2013 / 22:18)
Копипаст из джона. Вполне рабочий и ничего городить не надо.
[php]$array = array(
'admlist' => 'includes',
'birth' => 'includes',
'online' => 'includes',
'search' => 'includes',
это тоже самое что и у меня только что у меня автоматом инклуды парсит из папки
# Fenixrus (05.08.2013 / 22:19)
это тоже самое что и у меня только что у меня автоматом инклуды партии их папки
У тебя если честно баян.
Нафик сканить директорию постоянно? Ты ж в неё не каждый день кидаешь файлы. Легче слепить массив и проверять его чем постоянно сканить ФС.
# Simba (05.08.2013 / 22:21)
У тебя если честно баян.
Нафик сканить директорию постоянно? Ты ж в неё не каждый день кидаешь файлы. Легче слепить массив и проверять его чем постоянно сканить ФС.
ну баян так баян прост так немного удобнее на этапах разработки
# Fenixrus (05.08.2013 / 22:22)
ну баян так баян прост так немного удобнее на этапах разработки
х.з. х.з. За модуль наберётся инклудов 10 и всё. Их вбить в массив пару сек посему не вижу смысла чисто ради удобства городить быдлокод. Ну тут уж на твоё усмотрение.