PDA

View Full Version : проблема после обновления с 77 на 79


Hepri
12.03.2006, 23:18
Помогите... плз...
Стояла 7.7 скачал 7.9_3.1_rus
Сделал все так.
1. Залил все из папки html
2. Изменил config.php (данные взял из старого)
3. Запустил upgrade77-78.php
4. Запустил upgrade78-79.php

Открываю index.php пишет - "You can't access this file directly..."
Открываю admin.php - - "You can't access this file directly..."

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