Модуль для вывода запросов по алфавиту для старых версий движка.
Создаем в папке Core файл называем как хотите например bykva.php, содержимое снизу.
В файл index.php подключаем модуль
# Запускаем нужный контроллер из списка зарегистрированных
$cores = array('search', 'main', 'ajax', 'download', 'page', 'genre', 'radio', 'musicset', 'тут название модуля (bykva.php)');
Создаем в шаблоне файл (Название как и модуль bykva.tpl
Содержимое берем с main.tpl
И вставляет контант часть
Ну и само собой в папке core.php
Файл сеарч пхп найти и заменить на то что снизу.
Выполнить запрос к базе
Создаем в папке Core файл называем как хотите например bykva.php, содержимое снизу.
Код:
<?php
namespace liw\App;
if (!defined('MSE_INIT')) return;
// Кол-во запросов по букве
$count = 4000;
// Кеш
$cache = true; // true - включен || false - выключен
$queries = NULL;
$foul_query = isset($routes[2]) ? trim(strip_tags(urldecode($routes[2]))) : NULL;
if ($foul_query){
$explode_query = explode('?_', $foul_query);
$key = $MSE->clearQuery($explode_query[0]);
} else {
die('Неверный URL');
}
$serverHostName = (isset($_SERVER["HTTP_HOST"]) ? $_SERVER["HTTP_HOST"] : "");
$cacheKey = $serverHostName . "_" . md5($key . '_queries');
$cacheResults = false;
if ($cache){
$cacheResults = Cache::checkCache($cacheKey);
}
if( $cacheResults ){
$queries = json_decode($cacheResults, true);
} else {
$sql = $conn->query("SELECT `query` FROM `queries` WHERE `index_key` = '{$key}' LIMIT 0,{$count}");
for ($queries = array (); $row = $sql->fetch_assoc(); $queries[] = $row);
if ($cache) {
Cache::SetCache($cacheKey, $queries);
}
}
if (!$queries){
$ERROR = array(
"title" => "Ошибка!",
"message" => "К сожалению, у нас нет треков с таким индексом.!",
"type" => "error",
"header" => "HTTP/1.0 404 Not Found",
"template" => NULL
);
$data['ERROR'] = $ERROR;
$data['seo'] = array(
'title' => "Ошибка!",
'description' => "",
'keywords' => "",
);
$MSE -> loadTemplate($smarty, 'error', $data);
return;
}
$data['seo']['title'] = "Песни на букву «{$key}»";
$data['seo']['description'] = "Песни на букву «{$key}»";
$data['seo']['heading'] = "Песни на букву «{$key}»";
$data['queries'] = $queries;
# Загружаем шаблон
#-------------------------------
$MSE -> loadTemplate($smarty, $controller, $data);
# Запускаем нужный контроллер из списка зарегистрированных
$cores = array('search', 'main', 'ajax', 'download', 'page', 'genre', 'radio', 'musicset', 'тут название модуля (bykva.php)');
Создаем в шаблоне файл (Название как и модуль bykva.tpl
Содержимое берем с main.tpl
И вставляет контант часть
Код:
<ol class="abc__list">
{foreach $queries as $queryObject}
<li class="abc__item">
<a class="pajax-link abc__link" href="/{$config.key}/{track->urlEncode link=($queryObject.query)}">{$queryObject.query|strtoupper}</a>
</li>
{/foreach}
</ol>
Файл сеарч пхп найти и заменить на то что снизу.
Код:
# Сохранить запрос в БД
#--------------------------------------
if ($config['collect_queries'] && !preg_match($system_config['stopRegex'], $query))
{
# Перевод запроса в нижний регистр при добавлении в базу
$insert_query = ($config['to_lowercase']) ? mb_strtolower($query) : $query;
$time = time();
$indexKey = mb_substr($query, 0, 1);
$sql = $conn->query("INSERT INTO `queries` (`query`, `last_date`, `index_key`) VALUES ('$insert_query', '$time', '$indexKey') ON DUPLICATE KEY UPDATE count = count+1, last_date = $time");
}
Код:
query("ALTER TABLE `queries` ADD `last_date` INT(10) NULL COMMENT 'Дата последнего поиска' AFTER `count`;");