ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
интеграция движка с vbulletin |

13.06.2009, 16:31
|
|
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме: 2209675
Репутация:
537
|
|
интеграция движка с vbulletin
кто-нибудь писал скрипты, которые используют классы буллетина?
у меня не работает ни один пример
перехожу в директорию форума, затем
PHP код:
require_once('global.php');
и тут же масса ошибок:
Warning: array_keys() [function.array-keys]: The first argument should be an array in [path]\includes\functions.php on line 4088
Warning: Invalid argument supplied for foreach() in [path]\includes\functions.php on line 4088
Fatal error: Call to a member function query_read_slave() on a non-object in C:\www\**\cms\forum\includes\functions.php on line 3093
с чего начать?
|
|
|

13.06.2009, 16:49
|
|
Познающий
Регистрация: 04.04.2009
Сообщений: 58
Провел на форуме: 687854
Репутация:
19
|
|
А что не ясно?
Ошибки? Там же все написано
|
|
|

13.06.2009, 17:15
|
|
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме: 2209675
Репутация:
537
|
|
если положить в папку с форумом test.php, заинклудить в него global.php и распечатать $vbulletin - то всё нормально
но если заинклудить global.php в скрипте, который лежит во внешней директории (../)
относительно форума - то лезут эти ошибки
ошибки появляются потому что в functions.php
PHP код:
foreach (array_keys($vbulletin->forumcache) AS $forumid)
$vbulletin->forumcache - почему-то не определён!
|
|
|

13.06.2009, 17:26
|
|
Познающий
Регистрация: 03.03.2009
Сообщений: 86
Провел на форуме: 994199
Репутация:
258
|
|
Ну понятное дело, что у вас ничего работать не будет, про интеграцию скриптом в булке написано здесь
|
|
|
Интеграция PHP в скрипт vBulletin |

13.06.2009, 17:33
|
|
Познающий
Регистрация: 03.03.2009
Сообщений: 86
Провел на форуме: 994199
Репутация:
258
|
|
Интеграция PHP в скрипт vBulletin
Сайт в дауне
Пишу здесь
Ну-с, начем. Для этого нам понадобится:
1. Модуль product-letphplive.xml (Он же продукт, который позволяет парсить PHP)
2. Маленькое пособие по созданию страниц в vBulletin (опционально)
Первый шаг - создаем страницу.
Созаем новый файл типа test.php. Открываем test.php и добавьте следущее (Примечание: Замените TEST в соответствии новосозданного шаблона. Т.е. шаблон создали RULEZ, этой же фразой заменяем все места указанные TEST):
PHP код:
< ?php
// ####################### Установка среды PHP ###########################
error_reporting(E_ALL & ~E_NOTICE);
// #################### Определение важных констант #######################
define('NO_REGISTER_GLOBALS', 1);
define('THIS_SCRIPT', 'test'); // измените это в зависимости от названия файла
// ################### Кеширование шаблонов и данных ######################
// get special phrase groups
$phrasegroups = array(
);
// получение специальных шаблонов с данными с базы
$specialtemplates = array(
);
// кеширование шаблонов, исрользуемых всеми действиями
$globaltemplates = array(
'TEST',
);
// кеширование шаблонов, исрользуемых специфическими действиями
$actiontemplates = array(
);
// ######################### Получение системы ############################
require_once('./global.php');
// ################################################## #####################
// ######################## НАЧАЛО ОСНОВНОГО СКРИПТА ############################
// ################################################## #####################
$navbits = array();
$navbits[$parent] = 'Test Page';
$navbits = construct_navbits($navbits);
eval('$navbar = "' . fetch_template('navbar') . '";');
eval('print_output("' . fetch_template('TEST') . '");');
?>
Далее создаем шаблон TEST с “начинкой” такого рода:
PHP код:
$stylevar[htmldoctype] <html dir="$stylevar[textdirection]" lang="$stylevar[languagecode]"> <head> <title>$vboptions[bbtitle]</title> $headinclude
</head> <body> $header $navbar <table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0"
width="100%" align="center"> <tr> <td class="tcat">Title</td> </tr> <tr>
<td class="alt1">Test</td>
</tr> </table> $footer </body> </html>
Этим кодом является оформление нашей странцы, что включает в семя как переменный скрипта так и HTML.
Не тяжело догадаться, что будущий наш PHP код мы будем “пихать” вместо фразы “Text“.
Должно получиться что-то типа такого:
PHP код:
$stylevar[htmldoctype] $headinclude
$header $navbar
<table class="tborder" border="0" cellspacing="$stylevar[cellspacing]" cellpadding="$stylevar[cellpadding]">width="100%" align="center">
<tbody>
<tr>
<td class="tcat">Title</td>
</tr>
<tr>
<td class="alt1">
< ?php
if($flag){
echo "Hello world!";
}
?>
</td>
</tr>
</tbody></table>
$footer
В конечном итоге - устанавливаем и активируем Модуль product-letphplive.xml
Модуль можешь скачать отсюда
(С)devilart.ru
Последний раз редактировалось erihtoney; 13.06.2009 в 17:35..
|
|
|

13.06.2009, 17:53
|
|
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме: 2209675
Репутация:
537
|
|
спасибо за помощь, но несложно заметить что тестовый скрипт в этом примере лежит в корневой папке форума
когда я кладу test.php в корневую папку - он тоже замечательно работает
а когда я кладу его в
www/test.php
и делаю инклуд
www/forum/global.php
некоторые функции движка, типа fetch_template
перестаю видеть
global $vbulletin!
если его распечатать в теле функции - он NULL
а если передать в качестве параметра - то нормальный объект
одну функцию я "пофиксил", сделав $vbulletin необязательным параметром, но fetch_template вызывается в global.php десяток раз и каждый раз через eval.
значит надо искать причину возникновения этой проблемы и решать как-то иначе
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|