Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Как запретить вывод результатов "быстрого поиска" из опреденной категории?

Как запретить вывод результатов "быстрого поиска" из опреденной категории?


     20.01.2017    Все вопросы » Общие вопросы по PHP    441

вопрос
В быстром поиске "на лету" выводятся заголовки новостей которые недоступны определенным группам пользователей, как это запретить?
в обычном расширенном поиске при этом, поиск не выдает результатов из закрытого раздела, а быстрый поиск с дырочкой оказался, помогите решить задачу.

Ответил: Sander


Открыть файл engine/ajax/search.php
Найти строку:
if( $config['no_date'] AND !$config['news_future'] ) $this_date = " AND " . PREFIX . "_post.date < '" . $this_date . "'"; else $this_date = "";

После нее вставить:
$allow_list = explode ( ',', $user_group[$member_id['user_group']]['allow_cats'] );
if ($allow_list[0] != "all") {
	if ($config['allow_multi_category']) $this_date .= " AND category regexp '[[:<:]](" . implode ( '|', $allow_list ) . ")[[:>:]]' AND ";
	else $this_date .= " AND category IN ('" . implode ( "','", $allow_list ) . "') AND ";
}

6 комментариев

ПафНутиЙ
Админ

ПафНутиЙ - 21 января 2017 13:11 -

Вы написали в техподдержку DLE об этой ошибке?

Каков вопрос - таков и ответ. Просто помните об этом.

Dusty
Юзер

Dusty - 23 января 2017 07:35 -

Нет, мы используем нулл версию, не лецнзию движка, а форум поддержки DLE отвечает как вам известно, только тем кто купил лицензию.

ПафНутиЙ
Админ

ПафНутиЙ - 23 января 2017 08:47 -

Ну тогда вы должны знать, что на этом сайте не приветствуется использование null.

Каков вопрос - таков и ответ. Просто помните об этом.

Dusty
Юзер

Dusty - 26 января 2017 00:08 -

SANDER, выдает такую ошибку быстрый поиск тем группам пользователей, которым не доступен скрытый раздел скрин а модераторам и админу нормально как положенно выводит результат

vitnet
Эксперт

vitnet - 26 января 2017 01:28 -

$allow_list = explode ( ',', $user_group[$member_id['user_group']]['allow_cats'] );

if( $allow_list[0] != "all" ) {
	if( $config['allow_multi_category'] ) $this_date .= " AND category regexp '[[:<:]](" . implode( '|', $allow_list ) . ")[[:>:]]'";
	else $this_date .= " AND category IN ('" . implode( "','", $allow_list ) . "')";
}

Dusty
Юзер

Dusty - 31 января 2017 00:27 -

vitnet спасибо! твой вариант сработал.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх