Вход Регистрация
Файл: modules/community/includes/search.php
Строк: 42
<?php

/**
 * This file is part of JohnCMS Content Management System.
 *
 * @copyright JohnCMS Community
 * @license   https://opensource.org/licenses/GPL-3.0 GPL-3.0
 * @link      https://johncms.com JohnCMS Project
 */

declare(strict_types=1);

use 
IlluminatePaginationLengthAwarePaginator;
use 
JohncmsUsersUser;

/** @var JohncmsSystemLegacyTools $tools */
$tools di(JohncmsSystemLegacyTools::class);

// Принимаем данные, выводим форму поиска
$search = isset($_GET['search']) ? rawurldecode(trim($_GET['search'])) : '';

$data = [];
$title __('User Search');

$nav_chain->add($title);

$data['search_query'] = $tools->checkout($search);

// Проверям на ошибки
$error = [];
if (! empty(
$search) && (mb_strlen($search) < || mb_strlen($search) > 20)) {
    
$error[] = __('Nickname') . ': ' __('Invalid length');
}

if (
preg_match("/[^1-9a-z-@*()?!~_=[]]+/"$tools->rusLat($search))) {
    
$error[] = __('Nickname') . ': ' __('Invalid characters');
}

if (
$search && ! $error) {
    
/** @var PDO $db */
    
$db di(PDO::class);

    
// Выводим результаты поиска
    
$search_db $tools->rusLat($search);
    
$search_db '%' $search_db '%';
    
/** @var LengthAwarePaginator $users */
    
$users = (new User())
        ->
approved()
        ->
where('name_lat''LIKE'$search_db)
        ->
orderBy('name')
        ->
paginate($user->config->kmess);

    
$total $users->total();
    
$data['list'] = $users->items();
    
$data['pagination'] = $users->render();
}

$data['errors'] = $error;
$data['total'] = $total ?? 0;

echo 
$view->render(
    
'users::search',
    [
        
'title'      => $title,
        
'page_title' => $title,
        
'data'       => $data,
    ]
);
Онлайн: 1
Реклама