Тема на модерации, ОТВЕТИТЬ - вызывает ошибку

Проблемы с установкой или работой phpBB 3.0.x? Получите помощь здесь!
С 1 января 2017 года phpBB Group прекращает поддержку phpBB версии 3.0.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.0 до 1 июля 2017 года.
Подробнее: Окончание поддержки phpBB 3.0.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Alecto
phpBB 3.0.12
Сообщения: 2857
Стаж: 16 лет 9 месяцев
Откуда: Украина! Харьков
Благодарил (а): 80 раз
Поблагодарили: 292 раза

Тема на модерации, ОТВЕТИТЬ - вызывает ошибку

Сообщение Alecto »

Сегодня заметил такую ошибку. Если тема находится на модерации, то при попытке ответить в ней (нажимаю кнопку ОТВЕТИТЬ) - получаю ошибку ниже:

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

Warning: strtr() [function.strtr]: The second argument is not an array in /home/motobra1/public_html/includes/session.php on line 2247
Warning: strtr() [function.strtr]: The second argument is not an array in /home/motobra1/public_html/includes/session.php on line 2247
Fatal error: template->_tpl_load_file(): File /message_body.html does not exist or is empty in /home/motobra1/public_html/includes/functions_template.php on line 63
форум версии 3.0.10

понимаю, что может и не стоит писать в темах в очереди на модерации, но и такое сообщение об ошибке - так же слишком радикальное.
с этой ошибкой столкнулся впервые, поэтому нет предположений, из-за чего она могла произойти
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Тема на модерации, ОТВЕТИТЬ - вызывает ошибку

Сообщение Sheer »

Недавно на одном форуме исправлял подобную ошибку, чё делал - не помню, Кажется причина была то-ли из-за кривой установки какого-то мода, то ли из-за конфликта с каким-то модом. Каким - не понял.
Посему стандартный ответ. Заполняй Шаблон запроса. Плюс includes/session.php строка 2477 +/- 10 строк (или целиком).
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
Alecto
phpBB 3.0.12
Сообщения: 2857
Стаж: 16 лет 9 месяцев
Откуда: Украина! Харьков
Благодарил (а): 80 раз
Поблагодарили: 292 раза

Re: Тема на модерации, ОТВЕТИТЬ - вызывает ошибку

Сообщение Alecto »

Описание проблемы: Если тема находится на модерации, то при попытке ответить в ней (нажимаю кнопку ОТВЕТИТЬ) - получаю ошибку
Произведенные изменения, после которых начались неполадки: Ошибка замечена впервые, поэтому указать причину не могу. Последняя модификация - обновления форума до версии 3.0.10
Версия phpBB: 3.0.10
Используемые стили: Prosilver
Используемые моды: Activity stats mod, Advertisement Management.1.0.10, Ajax chat.0.8.3, Board rules 1.0.1, Contact Admin 306, Convert simple local url to link name.1.0.8, Custom bbcode only mod, Custom Profile Fields Search.0.5.0, Direct Link, Dropdown Login Box, Duplicate User IPs.1.0.0, FAQ Manager 1.2.6, Google search.1.0.1, Ip in topic.2.0.0., Karmamod.1.2.3, Log connections.1.0.6, Moderator Needed.1.0.5, Non-latin Symbols in Url.1.0.0, NV advanced last topic titles.1.3.2, NV Recent Topics.1.0.6, phpBB Mobile Version, Post Expired.1.0.3, Posts Merging.1.0.11.1, Prime Links, Prime quick style.1.2.5, Prime Trash Bin.1.1.4, Prime User Topics, Quick Reply 306.1.0.2b, Search Topic JQAutocomplete, Similar Topics.1.0.2, Sitemap fx.1.0.8, Thanks for posts.1.3.3, User Blog Mod 1.0.15, User Reminder.1.0.5, User Warnings Ban Info In Viewtopic.1.0.2, Vewpost.0.1.0, Запрет редактирования если сообщение не последнее в теме.
Версия PHP: Версия PHP 5.2.17
Используемая СУБД и её версия: Версия MySQL 5.0.92-community-log
Ссылка на конференцию: http://мотобратва.com/index.php
Есть ли у вас тестовый аккаунт: test/testtest
Использовался ли поиск для решения проблемы: да
Если да, то какие запросы вы использовали: искал по части строки ошибки в гугле



Добавлено спустя 1 минуту 10 секунд:
Sheer писал(а):includes/session.php строка 2477
наверно там, где ошибка возникла? это строка 2247

includes/session.php, код со строки 2224 до 2275. строка 2247 подписана

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

if ($date_cache[$format]['is_short'] !== false && !$forcedate && !($gmepoch < $midnight - 86400 || $gmepoch > $midnight + 172800))
		{
			$day = false;

			if ($gmepoch > $midnight + 86400)
			{
				$day = 'TOMORROW';
			}
			else if ($gmepoch > $midnight)
			{
				$day = 'TODAY';
			}
			else if ($gmepoch > $midnight - 86400)
			{
				$day = 'YESTERDAY';
			}

			if ($day !== false)
			{
				return str_replace('||', $this->lang['datetime'][$day], strtr(@gmdate($date_cache[$format]['format_short'], $gmepoch + $zone_offset), $date_cache[$format]['lang']));
			}
		}

!!! 2247		return strtr(@gmdate($date_cache[$format]['format_long'], $gmepoch + $zone_offset), $date_cache[$format]['lang']);
	}

	/**
	* Get language id currently used by the user
	*/
	function get_iso_lang_id()
	{
		global $config, $db;

		if (!empty($this->lang_id))
		{
			return $this->lang_id;
		}

		if (!$this->lang_name)
		{
			$this->lang_name = $config['default_lang'];
		}

		$sql = 'SELECT lang_id
			FROM ' . LANG_TABLE . "
			WHERE lang_iso = '" . $db->sql_escape($this->lang_name) . "'";
		$result = $db->sql_query($sql);
		$this->lang_id = (int) $db->sql_fetchfield('lang_id');
		$db->sql_freeresult($result);

		return $this->lang_id;
	}
Добавлено спустя 2 часа 40 минут 14 секунд:
Последним был установлен этот мод: New topics need approval-1.0.2
Ставил его на тестовом сайте, ссылку на который и давал. На рабочем сайте без этого мода создал тему от нового пользователя, через премодерацию - при создании ответа выдается:
Данная тема не была одобрена, как и должно быть.

Теперь остается проверить, не вызывает ли ошибку именно этот мод.
Ночью забакаплюсь, поставлю его и проверю на основном сайте. О результатах отпишусь.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Тема на модерации, ОТВЕТИТЬ - вызывает ошибку

Сообщение Sheer »

FomenkoAndrey писал(а): строка 2247
Это последняя строка функции format_date() возвращает дату и время в пользовательском формате. При этом аргумент $date_cache[$format]['lang'] - не является массивом, а должен им быть.
Вероятно неправильное обращение$user->format_date() (не определен класс $user ???) где-то в файле includes/functions_posting.php
FomenkoAndrey писал(а):Последним был установлен этот мод: New topics need approval-1.0.2
Логично было бы его снести и проверить.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
Alecto
phpBB 3.0.12
Сообщения: 2857
Стаж: 16 лет 9 месяцев
Откуда: Украина! Харьков
Благодарил (а): 80 раз
Поблагодарили: 292 раза

Re: Тема на модерации, ОТВЕТИТЬ - вызывает ошибку

Сообщение Alecto »

Этот мод добавляет пару строк в 2 файла: posting.php и functions_posting.php
восстановил их - бестолку, ошибка осталась. отменить изменения в базе возможности нет, поскольку в инсталляторе нет такого режима.
после полуночи буду пробовать на "живом" форуме после бакапа.

Добавлено спустя 2 часа 45 минут 2 секунды:
поставил мод на "живом" сайте - ошибка не возникла.
даже не могу представить, в чем проблема, поскольку сайт клонировался и хостинг используется один и тот же.
разве что я позабыл что ставил на "клоне" или что-то некорректно на тестовом сайте деинсталлировал.
в-общем, пока вопрос снимается.

благодарю всех участвовавших в обсуждении.

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