Хак буква е и ё в поиске для DLE

Рубрика: Хаки для DLE » Хак DLE 11.2, 11.1, 11.0, 10.6, 10.5, 10.4, 10.3, 10.2, 10.1, 10.0, 9.8, 9.7, 9.6, 9.5, 9.4, 9.3, 9.2, 9.0
Хак буква е и ё в поиске для DLE
Представляем хак буква е и ё в поиске для DLE в версиях 9.x - 11.x, это правка поиска в DLE, чтобы литеры е и ё были одинаковыми буквами. Хак буква е и ё при поиске для DLE 9.x - 11.x кодировки CP1251, это правка, чтобы при поиске в DLE с кодировкой cp1251 литеры е и ё система datalife engine считала равно друг другу.

Установка хака буква е и ё при поиске для DLE 9.x - 11.x

1. Открыть /engine/ajax/search.php найти :

$query = $db->safesql( htmlspecialchars ( trim(  strip_tags (convert_unicode( $_POST['query'], $config['charset'] ) ) ), ENT_QUOTES, $config['charset']) );


Заменить на :

$query = $db->safesql( htmlspecialchars ( trim(  strip_tags ( $_POST['query']) ), ENT_QUOTES, $config['charset']) );


Далее найти :

$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");


Заменить на :

$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 найти :

// Поиск по ключевым словам


Ниже вставить :

$story = iconv("utf-8", "cp1251", $story);


Далее найти

$titleonly_where = array ('0' => "MATCH(title,short_story,full_story,xfields) AGAINST ('{story}' IN BOOLEAN MODE)", // Искать только в статьях


Заменить на :

$titleonly_where = array ('0' => "MATCH(title,short_story,full_story,xfields) AGAINST (_utf8 '{story}' COLLATE utf8_general_ci IN BOOLEAN MODE)", // Искать только в статьях


Далее найти (2 РАЗА):

'3' => "title LIKE '%{story}%'" ); // Искать только в заголовках статей


Заменить на (2 РАЗА):

'3' => "title LIKE _utf8 '%{story}%' COLLATE utf8_general_ci" ); // Искать только в заголовках статей


Далее найти :

$titleonly_where = array ('0' => "short_story LIKE '%{story}%' OR full_story LIKE '%{story}%' OR xfields LIKE '%{story}%' OR title LIKE '%{story}%'", // Искать только в статьях


Заменить на :

$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", // Искать только в статьях

<a href="http://www.dle9.com/">дле</a>

Поддерживает версии datalife engine 9.x - 11.x, в том числе дле 11.0
Автор - (gameer name)
Скачать хаки dle, к примеру хак Буква е и ё при поиске для CP1251 для DLE 9.x - 11.x по следующей ссылке
  • 60
Рубрика: DLE хаки » Хак для DLE
Ранее » Хак Оптимизация запросов в бд для мультикатегорий« Далее DLE AJAX переключение вида краткой новости
Добавление комментарияОставить комментарий