Показать сообщение отдельно
Episod вне форума      Старый #2  
Аватара для Episod
Episod
Участник+
Регистрация: 11.02.2006
Сообщения: 163


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Episod Найти все сообщения от Episod Добавить Episod в список друзей  
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