Студия креативных разработок DevArt.PRO.
Разработка сайтов и форумов под ключ!
Сильнейшая команда в России по vBulletin - читать подробнее...
 
 
 
 

 
 
Здесь скоро опять что то будет...
 
 
 
 
 
 
Loading

Вернуться   форум vBSupport.org > vBulletin > Старые версии vBulletin (3.0 и 2.x) > Хаки, моды и скрипты 3.0

Объявления
  • Изменения в правах
  • Каталог Фрилансеров
  • Добро пожаловать!
  • Premoderation
  • Новичкам!
  • For English speaking users
Ответ
 
Опции темы Опции просмотра
Старый 26.02.2006, 01:54   #1
Простоузер
Как завести vbJournal на PHP5

Пытаюсь заставить плагин vbJournal для форума vBulliten работать корректно на php5 (хотя официально написано что на 5м пхп работать не должно).
Начал ковыряться сам
выдает ошибку
---
Parse error: syntax error, unexpected T_PRIVATE, expecting ']' in z:\home\test1.ru\www\journal.php(629) : eval()'d code on line 188
----
в строке 629 написано
eval('print_output("' . fetch_template('JOURNAL') . '");');
вот как вижу вся проблема с eval но как обойтись без нее ума не приложу. Дайте идею, либо подскажите где можно найти уже готовое решение данной проблемы. заранее спасибо. На сайте то написано что с пхп5 не работает. но все же хотелось бы завести его. ОЧЕНЬ НАДО! СПАСИТЕ
  Ответить с цитированием
Рекламка
Реклама на форуме

Файловый Архив

  • Неограниченное количество категорий и суб-категорий
  • Тонкие настройки прав доступа
  • Предпросмотр медиа файлов: FLV, IFLV, F4A, F4V, MP4, MP3, MOV и других...
  • Мультизагрузка файлов - SWFUploader
  • Добавление файлов с сервера
Подробности и история обновлений продукта в этой теме
Старый 19.03.2006, 18:52   #2
Fayl
Простоузер
Выложи этот хак для скачки
  Ответить с цитированием
Старый 20.03.2006, 16:14   #3
Igord
Простоузер
Parse error: syntax error
-------------------------
У меня все на пхп5 - ошибки исправляю так - смотрю не работающую функцию
eval()'d code on line 188

, в данном случае и тут так, и ищу аналогичную в мануале по пхп5. Исправляю и все работает.

добавлено через 4 минуты
Функция eval возвращает значение, являющееся результатом выполнения кода.

execfile(file[, globals[, locals]])
Функция работает идентично функции eval, за тем исключением, что выполняет не строку кода, а целый файл, в остальном см описание функции eval.

--------------------------
Со «слабостью» PHP-шной функции eval(), касающейся безусловного завершения скрипта при ошибке E_ERROR, мы никак бороться не можем. Тем не менее, формирование «лицеприятной» ссылки на файл, содержащий ошибку, нам все же по силам!

Мы воспользуемся одним «побочным эффектом», имеющим место во всех версиях PHP 4 и 5. Речь идет о «срабатывании» обработчика выходного потока, установленного по ob_start(), при любом завершении скрипта — не важно, ошибочном или легальном.

Проще всего продемонстрировать этот эффект может следующий код:

Листинг 5 скопировать код в буфер обмена
<?php
# Устанавливаем обработчик выходного потока скрипта.
ob_start('ob_handler');
# Печатаем что-нибудь.
echo "Something";
# Вызываем неопределенную функцию внутри eval!
eval('undefinedFunc();');
# Печатаем еще что-то (к этому моменту скрипт уже мертв!).
echo "Other";
# Функция-обработчик просто добавляет некоторый "хвост"
# к тексту, выведенному скриптом ранее.
function ob_handler($text)
{
return "$text<hr>Hello from handler!";
}
?>



Вы увидите, что, несмотря на неперехватываемую ошибку класса E_ERROR, обработчик ob_handler() успешно запустился:

Листинг 6 скопировать код в буфер обмена
Something
Fatal error: Call to undefined function: undefinedfunc() in e.php(7) :
eval()'d code on line 1
--------------------------------------------------------
Hello from handler!



Как же в обработчике определить, завершился скрипт аварийно или же корректно? Существует всего лишь один способ сделать это, но он довольно «грязен». Необходимо разобрать регулярным выражением «хвост» текста, переданного в функцию, и грубо проверить, содержится ли в нем сообщение об ошибке «в eval()'d code». В случае необходимости именно это сообщение и нужно заменить на текст, содержащий «фальшивое» имя файла.

Последний раз редактировалось Igord; 20.03.2006 в 16:19.. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 30.03.2006, 16:16   #4
netwind
Гуру
 
Аватар для netwind
menvil, http://www.vbsupport.org/forum/showp...2&postcount=72
  Ответить с цитированием
Старый 23.11.2006, 12:23   #5
Sentry
Простоузер
Господа скиньте пожалуйста ктото этот код
http://www.vbulletin.org/forum/showp...postcount=1534
  Ответить с цитированием
Ответ

Закладки

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



 
 

Текущее время: 22:47 25.05.2012. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd. Перевод: zCarot