проблемы с bbcode.php

Проблемы с установкой или работой phpBB 2.0.x? Ищите ответы здесь!
добрый фей
phpBB 1.4.1
Сообщения: 43
Стаж: 20 лет 8 месяцев

проблемы с bbcode.php

Сообщение добрый фей »

При попытки создании нового сообщения вылезает такая ошибка.

Fatal error: Cannot redeclare load_bbcode_template() (previously declared in /home/gaz66ru9/public_html/forum/includes/bbcode.php:45) in /home/gaz66ru9/public_html/forum/includes/bbcode.php on line 43

При попытке поиска сообщений без ответа или т.п. вылазит

Fatal error: Cannot redeclare load_bbcode_template() (previously declared in /home/gaz66ru9/public_html/forum/includes/bbcode.php:45) in /home/gaz66ru9/public_html/forum/includes/bbcode.php on line 43

Версия форума 2.0.17. Сверху стоит МК-portal. Дополнительных модов не установлено. Рухнуло внезапно.

Строка 45 в bbcode.php
global $template;

Адрес портала www.gaz66.ru/forum

Добавлено спустя 3 часа 49 минут 21 секунду:

Эта же ошибка выдается и при попытке зарегистрироваться, посомтреть сообщение и т.п.

Что делать не знаю. Помогите плз.
Последний раз редактировалось добрый фей 16.09.2005 23:24, всего редактировалось 1 раз.
добрый фей
phpBB 1.4.1
Сообщения: 43
Стаж: 20 лет 8 месяцев

Сообщение добрый фей »

Ну и что делать? Заново форум ставить?
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5467
Стаж: 20 лет 7 месяцев
Откуда: Питер
Благодарил (а): 181 раз
Поблагодарили: 757 раз

Сообщение Siava »

добрый фей
Наверно ошибки искать в bbcode.php, сравнивая его с оригинальным файлом версии 2.0.17, а если модов нет, можно попробовать заменить этот файл на оригинальный из архива phpbb2.0.17.
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
добрый фей
phpBB 1.4.1
Сообщения: 43
Стаж: 20 лет 8 месяцев

Сообщение добрый фей »

Заменил. Реакция ноль. Те же ошибки.

Добавлено спустя 2 минуты 20 секунд:

Залез в админ панель запретил bbcode в настройках. все равно не работает.

Восстановил базу из предидущего бекапа, пофиг....

одна и та же ошибка.
добрый фей
phpBB 1.4.1
Сообщения: 43
Стаж: 20 лет 8 месяцев

Сообщение добрый фей »

Пошел длинным путем. Все поставил чистое. Начинаю модифицировать МК-portal для связи с форумом. Выполняю след модификации
open forum file: login.php

Find the string:
redirect(append_sid($url, true));

Attention, this string occurs 3 times in login.php! You must substitute this string in all 3 occurrences. Remove them and insert instead:

Код: Выделить всё

if ($url == "portalhome") {
Header("Location: ../");
exit;
} else {
redirect(append_sid($url, true));
}
Все в норме все работает.

Далее
open forum file includes/page_header.php

Find the string (around 460):

Код: Выделить всё

$template->assign_block_vars('switch_enable_pm_popup', array());
Replace with:

Код: Выделить всё

//$template->assign_block_vars('switch_enable_pm_popup', array());

Работает.
open forum file includes/page_tail.php

Код: Выделить всё

Find the string (around 48):
$db->sql_close();

Add below:
//added from mkportal
	global $Checkmkout, $ForumOut;
	define ( 'IN_MKP', 1 );
	$MK_PATH = "../";
	require $MK_PATH."mkportal/conf_mk.php";
	if($FORUM_VIEW == 1 && !$Checkmkout) {
		require_once $MK_PATH."mkportal/include/boardmod/php_out.php";
		mkportal_board_out();
	}
	if($FORUM_VIEW == 1 && $Checkmkout) {
		echo $ForumOut;
	}
//end added
Все работает.
open forum file includes/template.php

Код: Выделить всё

Find the string (around 127):
eval($this->compiled_code[$handle]);


Replace with:
// modificato da mkportal
global $ForumOut, $Checkmkout;

if ($handle == "smiliesbody" || $handle == "reviewbody") {
$Checkmkout = 1;
}
$MK_PATH = "./";
if (defined('IN_ADMIN')) {
$MK_PATH = "../";
}
require $MK_PATH."../mkportal/conf_mk.php";


if ( !defined('IN_ADMIN') && $FORUM_VIEW == 1) {
ob_start();
eval($this->compiled_code[$handle]);
$ForumOut .= ob_get_contents();
      ob_end_clean();
} else  {
    eval($this->compiled_code[$handle]);

}

// fine modificato
Если я
eval($this->compiled_code[$handle]);
заменяю на кусок кода, то форум вообще не появляется, если кусок кода добавляю после не работает вход в тему.....

На версии 2.0.16 все отлично работало, на 2.0.17 по первой то же все работало, а потом перестало.... хотя ничего не трогал.....

Проверил все остальный файлы все как в оригинальной поставке.

Добавлено спустя 1 час 45 минут 44 секунды:

Если не комментировать строку

Код: Выделить всё

eval($this->compiled_code[$handle]);
то получаем такой вариант событий
http://www.gaz66.ru/forum/viewtopic.php?t=73
Обратите что внизу вылазит сообшение об ошибке.

Добавлено спустя 9 минут 48 секунд:

залез в log.

последнии ошибки

Код: Выделить всё

[15-Sep-2005 12:27:56] PHP Parse error:  parse error in /home/gaz66ru9/public_html/mkportal/include/boardmod/php_out.php(69) : eval()'d code on line 1
[15-Sep-2005 12:27:56] PHP Fatal error:  Cannot redeclare load_bbcode_template() (previously declared in /home/gaz66ru9/public_html/forum/includes/bbcode.php:45) in /home/gaz66ru9/public_html/forum/includes/bbcode.php on line 43 


Это файл php_out.php

Код: Выделить всё

<?php



function mkportal_board_out() {
                global $userdata, $Checkmkout, $mkportals, $DB, $Skin, $MK_PATH, $MK_TEMPLATE, $mklib, $ForumOut, $mklib_board, $MK_TIMEDIFF;
                define ( 'IN_MKP', 1 );
                $MK_PATH = "../";
                require $MK_PATH."mkportal/conf_mk.php";
                $mkportals->base_url = $MK_PATH.$FORUM_PATH."/index.php";
                $mkportals->forum_url = $MK_PATH.$FORUM_PATH;

                require_once $MK_PATH."mkportal/include/mk_mySQL.php";
                require "config.php";
                $DB = new db_driver;

                $DB->obj['dbname'] = $dbname;
                $DB->obj['dbuser'] = $dbuser;
                $DB->obj['dbpasswd'] = $dbpasswd;
                $DB->obj['dbhost'] = $dbhost;

                $DB->connect();
                // assign member information
                $mkportals->member['id'] = $userdata['user_id'];
                $mkportals->member['name'] = $userdata['username'];

                if($userdata['user_id'] == -1) {
                        $mkportals->member['id'] = "";
                }
                $mkportals->member['last_visit'] = $userdata['user_lastvisit'];
                $mkportals->member['session_id'] = $userdata['session_id'];

                $mkportals->member['user_new_privmsg'] = $userdata['user_unread_privmsg']."/".$userdata['user_new_privmsg'];
                if ($userdata['user_last_privmsg'] > $userdata['user_lastvisit'] && $userdata['user_new_privmsg'] > 0) {
                        $mkportals->member['show_popup'] = 1;
                }

                $mkportals->member['timezone'] = $userdata['user_timezone'];
                //$mkportals->member['dateformat'] = $userdata['user_dateformat'];

                //assign member group -> attention don't change this !!
                $mkportals->member['mgroup'] = 3;

                // assign to forum admin access to MKportal CPA
                if($userdata['user_level'] == 1) {
                        $mkportals->member['g_access_cp'] = 1;
                        $mkportals->member['mgroup'] = 1;
                }
                if($userdata['user_id'] == -1) {
                        $mkportals->member['mgroup'] = 9;
                }
                if($userdata['user_level'] == 2) {
                        $mkportals->member['mgroup'] = 2;
                }
                $mkportals->member['theme'] = $userdata['user_style'];
                if (empty($userdata['user_style'])) {
                        $mkportals->member['theme'] = $board_config['default_style'];
                }
                require_once $MK_PATH."mkportal/include/functions.php";
                require_once $MK_PATH."mkportal/include/php_board_functions.php";
                require_once "$mklib->template/tpl_main.php";
                if($MK_OFFLINE && !$mkportals->member['g_access_cp'] && !$mklib->member['g_access_cpa']) {
                                $message = $mklib->lang['offline'];
                                $mklib->off_line_page($message);
                                exit;
                }

                ob_start();
            [b]eval($ForumOut);[/b]  // [i][b]Это 69-я строка[/b][/i]
            $contentspage = ob_get_contents();
             ob_end_clean();

                $mklib->printpage("$mklib->forumcs", "$mklib->forumcd", "Forum", $ForumOut);
                $DB->close_db();

}


?>
Последний раз редактировалось добрый фей 16.09.2005 23:27, всего редактировалось 1 раз.
Аватара пользователя
crash
Former team member
Сообщения: 6517
Стаж: 21 год 2 месяца
Откуда: Бердск

Сообщение crash »

не знаю, это фигня но может убрать пробелы в первой строке после пхп, а сразу перевод строки, или может у вас вообще пустая строка первая
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса
добрый фей
phpBB 1.4.1
Сообщения: 43
Стаж: 20 лет 8 месяцев

Сообщение добрый фей »

Не помогло.

В сообщениях нашел такой код

Код: Выделить всё

Куплю [b:2720f630ce]ОТКРЫВАЮЩИЕСЯ[/b:2720f630ce] 

Код: Выделить всё

[quote:934b251dbf="Andrew"]........мосты)[/quote:934b251dbf] 

[size=9:3e7ca6f1df]Внедорожник может проехать через лес, если диаметр деревьев в сантиметрах не превышает вес внедорожника в тоннах. 
[/size:3e7ca6f1df]

Что за хрень ???

Добавлено спустя 4 часа 33 минуты 29 секунд:

Люди помогите плз. я же в PHP ничего не понимаю. А форум висит, люди жалуются....

Добавлено спустя 1 час 5 минут 59 секунд:

Блин выбрал все пробелы в файле

Получил след ошибку:

Код: Выделить всё

Fatal error: Cannot redeclare load_bbcode_template() (previously declared in /home/gaz66ru9/public_html/forum/includes/bbcode.php:8) in /home/gaz66ru9/public_html/forum/includes/bbcode.php on line 6
Код файла bbcode.phph

Код: Выделить всё


<?php
if ( !defined('IN_PHPBB') )
{   die("Hacking attempt");   }
define("BBCODE_UID_LEN", 10);
$bbcode_tpl = null;
function load_bbcode_template()
{
        global $template;
        $tpl_filename = $template->make_filename('bbcode.tpl');
        $tpl = fread(fopen($tpl_filename, 'r'), filesize($tpl_filename));   // replace \ with \\ and then ' with \'.
        $tpl = str_replace('\\', '\\\\', $tpl);
        $tpl  = str_replace('\'', '\\\'', $tpl);    // strip newlines.
        $tpl  = str_replace("\n", '', $tpl);  // Turn template blocks into PHP assignment statements for the values of $bbcode_tpls..

т.е. global $template; не может выполниться, т.к. он объявлен здесь function load_bbcode_template(). но это же бред!!! и почему он раньше работал.
добрый фей
phpBB 1.4.1
Сообщения: 43
Стаж: 20 лет 8 месяцев

Сообщение добрый фей »

Кто нибудь помогите плз. Xpert, Siava - где вы ?
Аватара пользователя
[R: R@m$e$ :U]
phpBB Maniac
Сообщения: 1464
Стаж: 20 лет 7 месяцев
Откуда: Novosibirsk,RU

Сообщение [R: R@m$e$ :U] »

добрый фей
я же склоняюсь к тому, что у тебя просто дважды объявляется функция load_bbcode_template... о чем кстати и пишет ошибка.. либо дважды инклюднут bbcode.php либо в самом bbcode.php дважды упомянута эта функция...
Руководство пользователя | FAQ | Правила | Как устанавливать MOD'ы
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)

Оставь благодарность, подтверди работоспособность совета.

ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y
добрый фей
phpBB 1.4.1
Сообщения: 43
Стаж: 20 лет 8 месяцев

Сообщение добрый фей »

Спасибо всем за помощь. Нашел где была ошибка. В MK-portal неправильно создан один блок. При попыткем вывести последнии сообщения форума на главную страницу происходит двойное обявление функции. К phpbb претензий нет.

Вернуться в «Поддержка phpBB 2.0.x»