Ejemplo n.º 1
0
<?php

use PhoneBook\Component\View, PhoneBook\DataSource\PhoneBook as PhoneBookDataSource;
$search_block = View::getRender(['template' => $_SERVER['DOCUMENT_ROOT'] . '/private/template/part/search-block.php', 'data' => ['query' => $_GET['search']]]);
$_GET['search'] = trim(preg_replace('#[^a-zA-ZА-Яа-я0-9 ]+#ui', '', $_GET['search']));
$searchTerms = explode(' ', mb_substr($_GET['search'], 0, 100, 'UTF-8'));
$searchPattern = implode('|', $searchTerms);
while (strpos($searchPattern, '||') !== false) {
    $searchPattern = str_replace('||', '|', $searchPattern);
}
$searchPattern = trim($searchPattern, '|');
$phoneBook = '';
if (!empty($_GET['search']) && !empty($phoneBook = PhoneBookDataSource::getRecordsBySearchQuery($searchTerms))) {
    $phoneBook = View::getRender(['template' => $_SERVER['DOCUMENT_ROOT'] . '/private/template/part/phone-book.php', 'data' => ['phoneBook' => PhoneBookDataSource::getRecordsBySearchQuery($searchTerms), 'searchPattern' => $searchPattern]]);
}
$phoneBook = empty($phoneBook) ? 'Ничего не найдено.' : $phoneBook;
View::render(['template' => $_SERVER['DOCUMENT_ROOT'] . '/private/template/layout.php', 'data' => ['content' => $search_block . $phoneBook]]);