Файл: upload/pages/admin/users/search-users.php
Строк: 57
<?php
require_once ($_SERVER['DOCUMENT_ROOT'] . '/core/core.php');
if ($users_perms['edit_users'] != 1) {
RedirectToPage('/');
exit();
}
// Получаем строку поиска
$search = trim($_GET['search'] ?? '');
echo '<div class="home_us tematic">';
$breadcrumbs = generateBreadcrumbs([
['/', 'Главная'],
['/admin', 'Админ панель'],
['/admin/users', 'Пользователи'],
['#', 'Поиск пользователей']
]);
echo $breadcrumbs['html'];
echo '<script type="application/ld+json">' . $breadcrumbs['json_ld'] . '</script>';
echo '
<div class="head_box section-header">
<div class="box_title">Пользователи</div>
</div>';
echo '<div class="side_in_count">';
include ($_SERVER['DOCUMENT_ROOT'] . '/core/elements/sidebars/panel.php');
echo '
<div class="info_box arb">
<div class="search-line_box adm">
<form action="' . homeLink() . '/admin/users/search-users" method="GET" id="search-form-adm">
<input type="text" name="search" id="searchpol" placeholder="Логин или ID пользователя" value="' . chars($search) . '" />
<button type="submit" id="search-but-set">Поиск</button>
</form>
</div>
';
// -------------------------
// ЛОГИКА ПОИСКА
// -------------------------
$all_raw = null;
if ($search === '') {
$all_raw = dbquery("SELECT * FROM `users` ORDER BY `id` DESC");
} else {
// Экранируем строку
$search_sql = $search;
// Если строка состоит из цифр — проверяем, есть ли такой ID
if (ctype_digit($search)) {
$id = intval($search);
$check = dbquery("SELECT `id` FROM `users` WHERE `id` = '$id' LIMIT 1");
if (DataNumRows($check) > 0) {
// ID существует — ищем по ID
$all_raw = dbquery("SELECT * FROM `users` WHERE `id` = '$id' ORDER BY `id` DESC");
} else {
// ID нет — ищем как логин (цифровой логин)
$all_raw = dbquery("SELECT * FROM `users` WHERE LOWER(`login`) LIKE LOWER('%$search_sql%') ORDER BY `id` DESC");
}
} else {
// Обычный поиск по логину
$all_raw = dbquery("SELECT * FROM `users` WHERE LOWER(`login`) LIKE LOWER('%$search_sql%') ORDER BY `id` DESC");
}
}
// -------------------------
// СБОР РЕЗУЛЬТАТОВ
// -------------------------
$all_filtered = [];
while ($row = FetchAssoc($all_raw)) {
$all_filtered[] = $row;
}
$max = 30;
$k_post = count($all_filtered);
$k_page = k_page($k_post, $max);
$page = page($k_page);
$start = $max * $page - $max;
$users_filtered = array_slice($all_filtered, $start, $max);
// -------------------------
// ВЫВОД РЕЗУЛЬТАТОВ
// -------------------------
if (!empty($users_filtered)) {
foreach ($users_filtered as $us) {
echo '<div class="user_info-work-box box-admin">
<div class="user_in_ava box-adm">
<div class="flex_adm-users">
<div class="user_ava_work box"><img src="' . GetAvatar($us['avatar']) . '"></div>
<div class="user_name_work box">' . nick($us['id']) . '<div class="rating_flex box"><span class="only-star"><i class="fas fa-star"></i></span><span>' . rating_num_work($us['id']) . '</span><div class="star_rating box">' . rating_star_work($us['id']) . '</div></div></div>
</div>
<div class="edit_link-box"><a class="edit_link-us" href="' . homeLink() . '/admin/users/edit-user' . $us['id'] . '">Редактировать</a></div>
</div>
</div>';
}
} else {
echo '
<div class="info_box-user searching">
<div class="error">Ничего не найдено.</div>
</div>';
}
// -------------------------
// ПАГИНАЦИЯ
// -------------------------
if ($k_page > 1) {
echo str(homeLink() . '/admin/users/search-users?search=' . urlencode($search) . '&', $k_page, $page);
}
echo '</div>'; // info_box
echo '</div>'; // side_in_count
echo '</div>'; // home_us
$page_html = ob_get_clean();
require_once ($_SERVER['DOCUMENT_ROOT'] . '/layout.php');
?>