Отображение скрытых форумов в меню "Перейти"

Проблемы с установкой или работой phpBB 2.0.x? Ищите ответы здесь!
Аватара пользователя
p00h
phpBB 1.4.4
Сообщения: 119
Стаж: 20 лет 2 месяца
Откуда: Златоуст (Южный Урал)

Отображение скрытых форумов в меню "Перейти"

Сообщение p00h »

Столкнулся с проблемой.
Существуют два скрытых форума только для администраторов и модераторов.
Они не отображаются в меню "Перейти" внизу страницы на viewforum и viewtopic.
Как сделать, чтобы отображалось? Переменная JUMPBOX, которая отвечает за вывод этого поля в файле viewforum_body.tpl, в viewforum.php в явном виде отсутствует.
Подскажите, где же ее найти? Понятно, что она в viewforum.php, но где конркретно?
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Стаж: 20 лет 9 месяцев
Поблагодарили: 1 раз

Сообщение VVVas »

я люблю daft punk | новый sugoi.ru
m.maksim
phpBB 1.2.0
Сообщения: 17
Стаж: 19 лет 4 месяца

Сообщение m.maksim »

помогите плиз
у меня задача противоположная

задача следующая - не показывать в Jumpbox'е ссылки доступ к которым не разрешён пользователю

поставил мод Jumpbox view based on permissions 1.0.0
однако пользователю, которому нет доступа в одну из категорий всё равно видит в Jumpbox'е ссылки на топики из этой категории

вот кусок кода, отвечающий, как я понял, за формирование этого джампбокса
перерыл его уже 100 раз
в форуме не нашёл ни у кого подобной проблемы
в чём ошибка?

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

function make_jumpbox($action, $match_forum_id = 0)
{
	global $template, $userdata, $lang, $db, $nav_links, $phpEx, $SID, $userdata;

//	$is_auth = auth(AUTH_VIEW, AUTH_LIST_ALL, $userdata);

	$sql = "SELECT c.cat_id, c.cat_title, c.cat_order
		FROM " . CATEGORIES_TABLE . " c, " . FORUMS_TABLE . " f
		WHERE f.cat_id = c.cat_id
                ".(($userdata['user_level'] == ADMIN)? "" : " AND c.cat_id<>'".HIDDEN_CAT."'" )."
		GROUP BY c.cat_id, c.cat_title, c.cat_order
		ORDER BY c.cat_order";
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, "Couldn't obtain category list.", "", __LINE__, __FILE__, $sql);
	}
	
	$category_rows = array();
	while ( $row = $db->sql_fetchrow($result) )
	{
		$category_rows[] = $row;
	}

	if ( $total_categories = count($category_rows) )
	{
		$sql = "SELECT *
			FROM " . FORUMS_TABLE . "
			ORDER BY cat_id, forum_order";
		if ( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, 'Could not obtain forums information', '', __LINE__, __FILE__, $sql);
		}

		$boxstring = '<select name="' . POST_FORUM_URL . '" onchange="if(this.options[this.selectedIndex].value != -1){ forms[\'jumpbox\'].submit() }"><option value="-1">' . $lang['Select_forum'] . '</option>';

		$forum_rows = array();
		while ( $row = $db->sql_fetchrow($result) )
		{
			$forum_rows[] = $row;
		}

		$is_auth_ary = array();
		$is_auth_ary = auth(AUTH_VIEW, AUTH_LIST_ALL, $userdata, $forum_rows);


		if ( $total_forums = count($forum_rows) )
		{
			for($i = 0; $i < $total_categories; $i++)
			{
				$boxstring_forums = '';
				for($j = 0; $j < $total_forums; $j++)
				{
                                        if ( $forum_rows[$j]['cat_id'] == $category_rows[$i]['cat_id'] && $is_auth_ary[$forum_rows[$j]['forum_id']]['auth_view'] )
					{
						$selected = ( $forum_rows[$j]['forum_id'] == $match_forum_id ) ? 'selected="selected"' : '';
						$boxstring_forums .=  '<option value="' . $forum_rows[$j]['forum_id'] . '"' . $selected . '>' . $forum_rows[$j]['forum_name'] . '</option>';

						//
						// Add an array to $nav_links for the Mozilla navigation bar.
						// 'chapter' and 'forum' can create multiple items, therefore we are using a nested array.
						//
						$nav_links['chapter forum'][$forum_rows[$j]['forum_id']] = array (
							'url' => append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=" . $forum_rows[$j]['forum_id']),
							'title' => $forum_rows[$j]['forum_name']
						);
								
					}
				}

				if ( $boxstring_forums != '' )
				{
                                        $boxstring .= '<optgroup label="' . $category_rows[$i]['cat_title'] . '">'; 
                                        $boxstring .= $boxstring_forums . '</optgroup>'; 
				}
			}
		}

		$boxstring .= '</select>';
	}
	else
	{
		$boxstring .= '<select name="' . POST_FORUM_URL . '" onchange="if(this.options[this.selectedIndex].value != -1){ forms[\'jumpbox\'].submit() }"></select>';
	}

	// Let the jumpbox work again in sites having additional session id checks.
//	if ( !empty($SID) )
//	{
		$boxstring .= '<input type="hidden" name="sid" value="' . $userdata['session_id'] . '" />';
//	}

	$template->set_filenames(array(
		'jumpbox' => 'jumpbox.tpl')
	);
	$template->assign_vars(array(
		'L_GO' => $lang['Go'],
		'L_JUMP_TO' => $lang['Jump_to'],
		'L_SELECT_FORUM' => $lang['Select_forum'],

		'S_JUMPBOX_SELECT' => $boxstring,
		'S_JUMPBOX_ACTION' => append_sid($action))
	);
	$template->assign_var_from_handle('JUMPBOX', 'jumpbox');

	return;
}
Аватара пользователя
Якорь
phpBB 1.4.2
Сообщения: 57
Стаж: 19 лет 8 месяцев
Откуда: Питер

Сообщение Якорь »

m.maksim писал(а):задача следующая - не показывать в Jumpbox'е ссылки доступ к которым не разрешён пользователю
а у вас какая версия форума :roll:
Аватара пользователя
crash
Former team member
Сообщения: 6517
Стаж: 21 год 2 месяца
Откуда: Бердск

Сообщение crash »

m.maksim так может есть смысл выйти из под админа?
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса
m.maksim
phpBB 1.2.0
Сообщения: 17
Стаж: 19 лет 4 месяца

Сообщение m.maksim »

Якорь

2,0,20

crash

естественно тестилось это всё не под админом

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

всё
вопрос исчерпан
проблему решил
Аватара пользователя
Nemo1987
phpBB 2.0.7
Сообщения: 560
Стаж: 19 лет 6 месяцев

Сообщение Nemo1987 »

m.maksim писал(а):всё вопрос исчерпан проблему решил
Как?
m.maksim
phpBB 1.2.0
Сообщения: 17
Стаж: 19 лет 4 месяца

Сообщение m.maksim »

приватный форум jumpbox будет показывать, хотя у пользователя и нет прав его смотреть

приватный (скрытый) - не будет показывать

конечно хотелось бы чтобы jumpbox не отображал и просто приватный форум если у пользователя нет прав на него
ну да чёрт с ним пусть так

я не на столько хорошо разбираюсь в php чтобы так сильно ковырять чужой код
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Стаж: 20 лет 9 месяцев
Поблагодарили: 1 раз

Сообщение VVVas »

m.maksim писал(а):приватный форум jumpbox будет показывать, хотя у пользователя и нет прав его смотреть
Но видеть то этот форум у него есть права, так что все верно.
я люблю daft punk | новый sugoi.ru

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