13.03.2006, 01:25
Hepri
роблема совместимости заключается в проверке в начале файла.
Ниже приведены примеры проверок для разных версий в модулях и блоках.
Помимо этого, незабывайте про переменные global
Так же, я не пишу тут проверки для файлов из папки admin/
Сравните сами по аналогии, взяв любых два файла от нужных версий.
PHP Nuke 6.5, 6.7, 6.9, 7.0, 7.3, 7.5
Модули -> Код:
if (!eregi("modules.php", $_SERVER['PHP_SELF'])) { die ("You can't access this file directly..."); }
Блоки -> Код:
if (eregi("block-Forums.php", $_SERVER['PHP_SELF'])) { Header("Location: index.php"); die(); }
Обратите внимание, что вместо block-Forums.php должно стоять название вашего блока...
PHP Nuke 7.6
Модули -> Код:
if (!stristr($_SERVER['SCRIPT_NAME'], "modules.php")) { die ("You can't access this file directly..."); }
Блоки -> Код:
if (stristr($_SERVER['SCRIPT_NAME'], "block-Forums.php")) { Header("Location: index.php"); die(); }
PHP Nuke 7.9
Модули -> Код:
if (!defined('MODULE_FILE')) { die ("You can't access this file directly..."); }
Для файлов из папки admin/modules/ -> Код:
if (!defined('ADMIN_FILE')) { die ("Access Denied"); }
Блоки -> Код:
if (stristr($_SERVER['SCRIPT_NAME'], "block-Forums.php")) { Header("Location: index.php"); die(); }
Вся переделка сводится к замене проверок в файлах модуля/блока
а также, файлов для администратора:
admin/links/links.ваш модуль.php
admin/case/case.ваш модуль.php
admin/modules/ваш модуль.php
|