Быстрый поиск 1.0.0

Добавляет возможность быстрого поиска на AJAX.

  1. Exile
    Совместимость:
    не проверялся на совместимость
    Изменения в БД:
    требуются
    Автор:
    frost444
    Общественное достояние:
    да
    Описание: добавляет возможность быстрого поиска на AJAX.

    Возможности:
    • Быстрый поиск по форуму или трекеру
    • Подсвечивает найденные совпадения
    • Текст ищется при введении его в поиске, с таймаутом, после определенного количества символов (интервал задается в конфиге)
    • Навигация по найденным результатам
    • Поиск пользователей
    • Возможность переключения между поиском по темам и подсказкой популярных запросов
    Инструкция по установке:
    PHP:
    Автор модаfrost444
    ####[ВЫПОЛНИТЬ]-----SQL

    CREATE TABLE IF NOT EXISTS `bb_queries` (
      `
    queryvarchar(250NOT NULL,
      `
    hitint(11NOT NULL,
      
    UNIQUE KEY `hint` (`query`)
    ENGINE=MyISAM DEFAULT CHARSET=utf8;

    ####[КОНЕЦ]-----SQL

    ####[ОТКРЫТЬ]----- config.php
    -----[в конец]-----
    $bb_cfg['search_type'] = 'Topic'//Поле может принимать 2 значения Topic или Queries для отключения напишите что либо другое))

    ####[СОХРАНИТЬ_ФАЙЛ]####

    ####[ОТКРЫТЬ]----- init_bb.php
    -----[найти]-----

    define('BB_PRIVMSGS_TEXT',        'bb_privmsgs_text');

    -----[
    добавить ниже]-----

    //AJAX SEARCH MODE
    define('BB_QUERIES',              'bb_queries');
    //AJAX SEARCH MODE

    ####[СОХРАНИТЬ_ФАЙЛ]####

    ####[ОТКРЫТЬ]----- init_bb.php
    -----[найти]-----

    define('BB_PRIVMSGS_TEXT',        'bb_privmsgs_text');

    -----[
    добавить ниже]-----

    //AJAX SEARCH MODE
    define('BB_QUERIES',              'bb_queries');
    //AJAX SEARCH MODE

    ####[СОХРАНИТЬ_ФАЙЛ]####

    ####[ОТКРЫТЬ]----- ajax.php
    -----[найти]-----

            
    'index_data'        => array('guest'),

    -----[
    добавить ниже]-----

            
    'QuickSearch'        => array('user'),
           
    -----[
    найти последнюю скобку и перед ней добавить]-----

        function 
    QuickSearch()
        {
            require(
    AJAX_DIR .'QuickSearch.php');
        }

    ####[СОХРАНИТЬ_ФАЙЛ]####

    ####[ОТКРЫТЬ]----- functions.php
    -----[в конец]-----

    function 
    limit_words ($string$word_limit)
    {
        
    $words explode(" ",$string);
        return 
    implode(" ",array_splice($words,0,$word_limit));
    }

    ####[СОХРАНИТЬ_ФАЙЛ]####

    ####[ОТКРЫТЬ]----- tracker.php
    -----[найти]-----

    $template->assign_vars(array(

    -----[
    добавить выше]-----

    if (!empty(
    $_REQUEST['nm']) && !empty($results))
    {
        
    DB()->sql_query("INSERT INTO ".BB_QUERIES." (query, hit) VALUES ('".DB()->escape($_REQUEST['nm'])."', 1) ON DUPLICATE KEY UPDATE hit = hit + 1");
    }

    ####[СОХРАНИТЬ_ФАЙЛ]####

    ####[ОТКРЫТЬ]----- lang_main.php
    -----[в конец]-----

    //AJAX SEARCH MODE
    $lang['AJAX_SEARCH_NO_USER'] = 'Вы не ввели имя пользователя';
    $lang['AJAX_SEARCH_NULL_RESULT'] = 'Поиск не дал результатов';
    $lang['AJAX_SEARCH_NO_NAME'] = 'Вы не ввели текст для поиска';
    $lang['AJAX_SEARCH_RESULT'] = 'Результат поиска';
    //AJAX SEARCH MODE

    ####[СОХРАНИТЬ_ФАЙЛ]####

    ####[ОТКРЫТЬ]----- page_header.php
    -----[найти]-----

    $template->assign_vars(array(

    -----[
    добавить ниже]-----

        
    'SEARCH_TYPE'                  => $bb_cfg['search_type'],

    ####[СОХРАНИТЬ_ФАЙЛ]####

    ####[ОТКРЫТЬ]----- page_header.tpl
    -----[найти]-----

    <
    script type="text/javascript" src="{SITE_URL}misc/js/main.js?v={$bb_cfg['js_ver']}"></script>

    -----[
    добавить ниже]-----

    <
    script type="text/javascript" src="{SITE_URL}misc/js/opt.js?v={$bb_cfg['js_ver']}"></script>
    <
    script type="text/javascript" src="{SITE_URL}misc/js/jquery-ui.min.js"></script>
    <
    script type="text/javascript" src="{SITE_URL}misc/js/tag-it.js"></script>
    <
    link rel="stylesheet" href="{TPL_DIR}/jquery-ui.min.css?v={$bb_cfg['css_ver']}type="text/css">
    <
    link rel="stylesheet" href="{TPL_DIR}/tag-it.css?v={$bb_cfg['css_ver']}type="text/css">

    -----[
    найти]-----

                <
    form id="quick-search" action="" method="post" onsubmit="$(this).attr('action', $('#search-action').val());">
                    <
    input type="hidden" name="max" value="1" />
                    <
    input type="hidden" name="to" value="1" />
                    <
    input id="search-text" type="text" name="nm" class="hint" placeholder="{L_SEARCH_S}" required />
                    <
    select id="search-action">
                        <
    option value="tracker.php#results" selected="selected"> {L_TRACKER_S} </option>
                        <
    option value="search.php"> {L_FORUM_S} </option>
                    </
    select>
                    <
    input type="submit" class="med" value="{L_SEARCH}" style="width: 55px;" />
                </
    form>

    -----[
    заменить]-----

                <
    form id="quick-search" action="" method="post" onsubmit="$(this).attr('action', $('#search-action').val());">
                    <
    input type="hidden" name="max" value="1" />
                    <
    input type="hidden" name="to" value="1" />
                    <
    table><tr>
                    <
    td style="width: 350px;"><input class="QuickSearch" type="text" name="nm" data-type="{SEARCH_TYPE}" placeholder="{L_SEARCH_S}" required /></td>
                    <
    td><select id="search-action">
                        <
    option value="tracker.php#results" selected="selected"> {L_TRACKER_S} </option>
                        <
    option value="search.php"> {L_FORUM_S} </option>
                    </
    select>
                    <
    input type="submit" class="med" value="{L_SEARCH}" style="width: 55px;" /></td>
                    </
    tr></table>
                </
    form>
                <
    table class="searchQuick"><tr id="QuickSearchResult{SEARCH_TYPE}" style="display: none;"><td></td></tr></table>
               
    ####[СОХРАНИТЬ_ФАЙЛ]####

    Изображения

    1. 1.JPG
    2. 2.JPG
    3. search.JPG