Что нового

Поиск новостей по значению доп-поля в админке dle (1 Viewer)

  • Автор темы shalex290485
  • Дата начала
S

shalex290485

Участник
Регистрация
3 Окт 2021
Сообщения
99
Реакции
204
XFSearchAdmin
Поиск новостей по значению доп-поля в админ-панели DLE

ECDD3AB8 BAEC 4E11 AC5F 289AAD2C4680

Данный хак реализовывает возможность поиска по значению дополнительного поля в админ-панели сайта DLE. Хак производит поиск фразы в значении доп-поля. К примеру, если вы задали в значении слово «moscow», а значение доп-поля в новости будет «the moscow calling», то это будет считаться совпадением. Если выбрать доп-поле, но значение оставить пустым, то будет идти поиск новостей, где данное доп-поле не заполнено.

Код:
В файле engine/inc/editnews.php

Найти:

if( count( $where ) ) {

Выше вставить:

$xf_search_name = $db->safesql( trim( strip_tags( stripslashes( $_REQUEST['xf_search_name'] ) ) ) );
$xf_search_value = $db->safesql( trim( strip_tags( stripslashes( $_REQUEST['xf_search_value'] ) ) ) );

$xf_search_list = "";
foreach ( xfieldsload() as $xfield ) $xf_search_list .= '<option value="' . $xfield[0] . '" ' . ( $_REQUEST['xf_search_name'] == $xfield[0] ? "selected" : "" ) . '>' . $xfield[1] . '</option>';

if ( $xf_search_name ) {
    if ( $xf_search_value ) $where[] = "IF( POSITION('" . addslashes( $xf_search_name ) . "|' IN `xfields`) > 0, SUBSTRING_INDEX( SUBSTRING_INDEX( xfields, '" . addslashes( $xf_search_name ) . "|', -1 ), '||', 1 ), 0 ) LIKE '%" . addslashes( $xf_search_value ) . "%'";
        else $where[] = "NOT xfields LIKE '%" . addslashes( $xf_search_name ) . "|%'";
}

Найти:

<button onclick="search_submit(0); return(false);" class="btn

Выше вставить:

<div class="pb-10">Поиск по значению дополнительного поля:</div>
<div class="form-group">
    <div class="row">
        <div class="col-sm-6">
            <label>Дополнительное поле</label>
            <select class="uniform" data-width="100%" name="xf_search_name" id="xf_search_name">
                <option value="0">--- не выбрано ---</option>
                {$xf_search_list}
            </select>
        </div>

        <div class="col-sm-6">
            <label>Поиск по значению</label>
            <input name="xf_search_value" value="{$xf_search_value}" type="text" class="form-control">
        </div>
    </div>
</div>

P.S: Для DLE 13 и выше прикрепил файл плагина для установки в разделе «Управление плагинами»
 

Пользователи, просматривающие данную тему

Верх