Страница 1 из 1

Все анонсированные модификации для phpBB 3.0

Добавлено: 25 ноя 2020, 22:01
DeaDRoMeO
Всем доброго времени суток и это самый простой костыль, что я мог придумать. Как известно, недавно форум был конвертирован с 3.0, а это значило потерю очень многих оригинальных модов, среди которых и был файловый архив. Посему выкладываю в этой теме архив со всеми анонсированными модификациями на нашем форуме, а вы, если потребуется, ищите в нем нужные моды...Порядка 90 штук...
all_mods.zip
(15.01 МБ) 22 скачивания
all_mods2.zip
(5.86 МБ) 20 скачиваний

Все анонсированные модификации для phpBB 3.0

Добавлено: 25 дек 2021, 22:13
SAK
Почему-то не могу создать новую тему

Проблема с модом Topic in Who is online, по крайней мере я так думаю.
Мод работает нормально, но не всегда.
Дело в том, что когда на форуме больше, скажем, 10 гостей, но их расположение посмотреть невозможно, потому что

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

[phpBB Debug] PHP Notice: in file [ROOT]/viewonline.php on line 250: Undefined offset: 1
Полный код ошибки

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

SQL ERROR [ mysqli ]

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 [1064]

SQL

SELECT topic_title FROM phpbb_topics WHERE topic_id =

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/includes/db/dbal.php
LINE: 757
CALL: trigger_error()

FILE: [ROOT]/includes/db/mysqli.php
LINE: 189
CALL: dbal->sql_error()

FILE: [ROOT]/viewonline.php
LINE: 251
CALL: dbal_mysqli->sql_query()
Вот кусок кода из указанного дэбагге файла

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

				case 'viewtopic':
						preg_match('#t=([0-9]+)#', $row['session_page'], $on_page);
						$sql = 'SELECT topic_title FROM ' . TOPICS_TABLE . " WHERE topic_id = {$on_page[1]}";
						$topic_result = $db->sql_query($sql);
						$topic_data = $db->sql_fetchrow($topic_result);					
						$location = sprintf($user->lang['READING_TOPIC'], $forum_data[$forum_id]['forum_name'], $topic_data['topic_title']);
                        $location_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $forum_id . '&t=' . $on_page[1]);					
					break;

					case 'viewforum':
						$location = sprintf($user->lang['READING_FORUM'], $forum_data[$forum_id]['forum_name']);
					break;
А вот так написано в инструкции
Open: viewonline.php


Find

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

$location = sprintf($user->lang['READING_TOPIC'], $forum_data[$forum_id]['forum_name']);
In-line Find

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

$forum_data[$forum_id]['forum_name']
In-line Add after

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

, $topic_data['topic_title']
Add before

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

						preg_match('#t=([0-9]+)#', $row['session_page'], $on_page);
						$sql = 'SELECT topic_title FROM ' . TOPICS_TABLE . " WHERE topic_id = {$on_page[1]}";
						$topic_result = $db->sql_query($sql);
						$topic_data = $db->sql_fetchrow($topic_result);
Add after

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

$location_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $forum_id . '&t=' . $on_page[1]);
Самое странное, что просмотр онлайна работает не всегда... Но когда работает, то показывает тему в разделе, как и заявлено модом.
Где я накосячил и как конечный код должен выглядеть в окончательном работающем виде?

На всякий случай прикрепил архив мода.
Помогите, пожалуйста.