Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

phpBB < 2.0.18 [FIX] ModCP Panel - Forum select order fix

Здесь авторы постили бета-версии своих модификаций для phpBB 2.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
Meithar
phpBB 1.4.3
Сообщения: 85
Стаж: 19 лет 9 месяцев

phpBB < 2.0.18 [FIX] ModCP Panel - Forum select order fix

Сообщение Meithar »

Небольшая доработка функции make_forum_select в includes\functions_admin.php

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

//
// Simple version of jumpbox, just lists authed forums
//
function make_forum_select($box_name, $ignore_forum = false, $select_forum = '')
{
	global $db, $userdata;

	$is_auth_ary = auth(AUTH_READ, AUTH_LIST_ALL, $userdata);

	$sql = "SELECT f.forum_id, f.forum_name
		FROM " . FORUMS_TABLE . " f, " . CATEGORIES_TABLE . " c
		WHERE f.cat_id = c.cat_id
		ORDER BY c.cat_order, f.cat_id, f.forum_order";

	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Couldn not obtain forums information', '', __LINE__, __FILE__, $sql);
	}

	$forum_list = '';
	while( $row = $db->sql_fetchrow($result) )
	{
		if ( $is_auth_ary[$row['forum_id']]['auth_read'] && $ignore_forum != $row['forum_id'] )
		{
			$selected = ( $select_forum == $row['forum_id'] ) ? ' selected="selected"' : '';
			$forum_list .= '<option value="' . $row['forum_id'] . '"' . $selected .'>' . $row['forum_name'] . '</option>';
		}
	}

	$forum_list = ( $forum_list == '' ) ? '<option value="-1">-- ! No Forums ! --</option>' : '<select name="' . $box_name . '">' . $forum_list . '</select>';

	return $forum_list;
}
Вместо:

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

	$sql = "SELECT forum_id, forum_name
		FROM " . FORUMS_TABLE . "
		ORDER BY cat_id, forum_order";
Стало:

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

	$sql = "SELECT f.forum_id, f.forum_name
		FROM " . FORUMS_TABLE . " f, " . CATEGORIES_TABLE . " c
		WHERE f.cat_id = c.cat_id
		ORDER BY c.cat_order, f.cat_id, f.forum_order";
иначе форумы сортируются не так, как на главной, что не очень удобно.
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Meithar
А в чем выражается эта сортировка не так, вернее как проявляется, сейчас посмотрел здесь - вроде все отлично.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Meithar
phpBB 1.4.3
Сообщения: 85
Стаж: 19 лет 9 месяцев

Сообщение Meithar »

Я тоже на эту недоработку не обращал внимания пока не создал новый раздел и не сделал его первым на главной.

Попробуй поменяй местами разделы Моды и phpBB и посмотри на сортировку разделов в ModCP Panel

В принципе, можно этот фикс в виде мода оформить, если оно кому-то нужно.
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Стаж: 19 лет 5 месяцев
Поблагодарили: 1 раз

Сообщение VVVas »

Meithar
Большущее спасибо.
я люблю daft punk | новый sugoi.ru
Аватара пользователя
Coagulant
Former team member
Сообщения: 955
Стаж: 19 лет 3 месяца
Откуда: Москва

Сообщение Coagulant »

Багтрек ожил, может стоит запостить туда все фиксы, опубликованные в сообществе? А то глупость получается, ошибку нашли, исправили, а дистрибутив всё ещё с посылым глюком. :roll:
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Стаж: 19 лет 5 месяцев
Поблагодарили: 1 раз

Сообщение VVVas »

Coagulant
Пость, я английский не знаю.
я люблю daft punk | новый sugoi.ru

Вернуться в «Бета-версии модов для phpBB 2.0.x»