Dleshka.org
Авторизация

Хак Опции модулей

+5
TipTop 30-08-2009 Хаки DLE 0 комментариев

Данная статья, поможет Вам облегчить жизнь сайтов, запросами MySQL. В этой статье вы узнаете, как устанавливать в админке опции включение и выключение модулей. Детальнее в ссылке подробнее.


Итак, приступим. К примеру возьмём простой модуль "Блок Онлайн". Видим там php-код с запросами в MySQL.

/

/ Показывать пользователям ОС? 1 - Да, 0 - Нет
$onl_options['showos']=1;



Перед этим кодом, нам нужно подгрузить файл config.php в любом месте модуля, вписываем код

include ENGINE_DIR .'/data/config.php';


С условием, что он понимает defined ENGINE_DIR.

Когда мы подключились к файлу config.php, далее мы делаем простую вставку кода:

if($config['online'] == "1") {


Что значит если($конфиг['значение'] == 1) то далее последует выполнение действий кода. В противном случае, php даст нам FALSE.

Данный код, ставим в самом начале, перед всеми функциями, и т.д. В самом конце файла, вставляем это:

}

Значит закрытие функции if($config['online'] == "1") {.

Далее правим файл config.php.

Где Вам угодно ставим эти строки:

'online' => "1",

Это будет означать, что данный модуль уже включён. И, чтобы его Включать, или Отключать, Вам нужно написать прикладной интерфейс админки для этого модуля. Идём в файл /engine/inc/options.php. Ищем там такие строки

showRow( $lang['opt_sys_search'], $lang['opt_sys_searchd'], makeDropDown( array ("1" => $lang['opt_sys_advance'], "0" => $lang['opt_sys_simple'] ), "save_con[full_search]", "{$config['full_search']}" ) );


Примерно 822 строка.

И далее подключаем наши настройки с файла config.php

showRow( $lang['on_mod'], $lang['on_description'], makeDropDown( array ("1" => $lang['mod_on'], "0" => $lang['mod_off'] ), "save_con[online]", "{$config['online']}" ) );


Что значит показать поле (название,описание, и загружать настройки с значением ("1"языковые описание, или с значением "0" языковый файл "сохранить настроки" и записать в поле online файла /engine/data/config.php

Далее мы увидим, что не будет описания этих полей, точнее языковой речи. Идём в файл /language/adminpanel.lng'

и в любом месте (только не розрывать между значениями) вставляем

'on_mod' => "Модуль Блок Онлайн",
'on_description' => "Включение, выключение данного модуля",
'mod_on' => "Включён",
'mod_off' => "Выключен",


И видим, что в админке у нас появиться новая функция в части "Оптимизация запросов к базе данных"


И тогда выбираем значение, включён или выключен. Всё, если модуль выключен, значит он выключен, как будто его нету вообще на сайте. Если включён, значит включён и работает.

Чтобы узнать общее количество MySQL запросов у вас на сайте, простыми средствами движка открываем файл

index.php

Ищем:

$tpl->load_template ( 'main.tpl' );


Выше вставляйте:

$db_result = $db->query_num;


Далее найдите:

$tpl->set ( '{calendar}', $tpl->result['calendar'] );


Ниже вставьте:

$tpl->set ( '{ob_db}', $db_result );


В нужном месте в шаблоне вставьте {ob_db} и всё, вы видите, какое количество запросов у вас на сайте.

Информация
Зарегистрируйтесь чтобы комментировать публикацию.
Авторизация