Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Буква е и ё при поиске для cp1251 для dle 9.x - 11.x

Тема в разделе "Хаки DLE", создана пользователем PunPun, 8 июн 2016.

08.06.16 в 13:40
03.11.16 в 15:07
3
1.232
4
  1. TopicStarter Overlay
    PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.300
    Лучших ответов:
    31
    Рейтинги:
    +3.894 / 96 / -0
    searchcplutf8_dle.jpg
    Сделаем правку для поиска для DLE которая имеет кодировку cp1251 что бы литеры е и ё считались равно друг другу.

    1. Открыть /engine/ajax/search.php найти :
    PHP:
    $query $db->safesqlhtmlspecialchars trim(  strip_tags (convert_unicode$_POST['query'], $config['charset'] ) ) ), ENT_QUOTES$config['charset']) );
    Заменить на :
    PHP:
    $query $db->safesqlhtmlspecialchars trim(  strip_tags $_POST['query']) ), ENT_QUOTES$config['charset']) );
    Далее найти :
    PHP:
    $db->query("SELECT id, short_story, title, date, alt_name, category FROM " PREFIX "_post WHERE " PREFIX "_post.approve=1".$this_date." AND (short_story LIKE '%{$query}%' OR full_story LIKE '%{$query}%' OR xfields LIKE '%{$query}%' OR title LIKE '%{$query}%') ORDER by date DESC LIMIT 5");
    Заменить на :
    PHP:
    $db->query("SELECT id, short_story, title, date, alt_name, category FROM " PREFIX "_post WHERE " PREFIX "_post.approve=1".$this_date." AND (short_story LIKE _utf8 '%{$query}%' COLLATE utf8_general_ci OR full_story LIKE _utf8 '%{$query}%' COLLATE utf8_general_ci OR xfields LIKE _utf8 '%{$query}%' COLLATE utf8_general_ci OR title LIKE _utf8 '%{$query}%' COLLATE utf8_general_ci) ORDER by date DESC LIMIT 5");
    2. Открыть /engine/modules/search.php найти :
    PHP:
    // Поиск по ключевым словам
    Ниже вставить :
    PHP:
    $story mb_convert_encoding($story'utf-8'"cp1251");
    Далее найти
    PHP:
    $titleonly_where = array ('0' => "MATCH(title,short_story,full_story,xfields) AGAINST ('{story}' IN BOOLEAN MODE)"// Искать только в статьях
    Заменить на :
    PHP:
    $titleonly_where = array ('0' => "MATCH(title,short_story,full_story,xfields) AGAINST (_utf8 '{story}' COLLATE utf8_general_ci IN BOOLEAN MODE)"// Искать только в статьях
    Далее найти (2 РАЗА):
    PHP:
    '3' => "title LIKE '%{story}%'" ); // Искать только в заголовках статей
    Заменить на (2 РАЗА):
    PHP:
    '3' => "title LIKE _utf8 '%{story}%' COLLATE utf8_general_ci" ); // Искать только в заголовках статей
    Далее найти :
    PHP:
    $titleonly_where = array ('0' => "short_story LIKE '%{story}%' OR full_story LIKE '%{story}%' OR xfields LIKE '%{story}%' OR title LIKE '%{story}%'"// Искать только в статьях
    Заменить на :
    PHP:
    $titleonly_where = array ('0' => "short_story LIKE _utf8 '%{story}%' COLLATE utf8_general_ci OR full_story LIKE _utf8 '%{story}%' COLLATE utf8_general_ci OR xfields LIKE _utf8 '%{story}%' COLLATE utf8_general_ci OR title LIKE _utf8 '%{story}%' COLLATE utf8_general_ci"// Искать только в статьях

    На чипсы:

    • R118095764291 - рубли
    • U218134219019 - гривны
    • Z228640084773 - доллары
    Автор : Gameer
     
    #1 PunPun, 8 июн 2016
    Последнее редактирование: 3 ноя 2016
    • Нравится Нравится x 4
  2. CyberPsy

    CyberPsy Бывалый

    Регистрация:
    29 июл 2015
    Сообщения:
    194
    Лучших ответов:
    0
    Рейтинги:
    +45 / 0 / -0
    Спасибо. Пригодилось!) как раз еще на cp1251 сижу
     
  3. TopicStarter Overlay
    PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.300
    Лучших ответов:
    31
    Рейтинги:
    +3.894 / 96 / -0
    Обновил хак, исправил вывод всего при полном поиске.
     
    • Нравится Нравится x 1
  4. aeneas

    Забанен

    Регистрация:
    12 мар 2016
    Сообщения:
    11.489
    Лучших ответов:
    10
    Рейтинги:
    +4.043 / 208 / -0
    работает :D
     
Похожие темы
  1. DLEPlugins
    Ответов:
    18
    Просмотров:
    3.464
Загрузка...
Яндекс.Метрика