Îðëà
Îáëàñòè
Êîìïàíèé
Ïîëüçîâàòåëè
Ãàëåðåÿ
Ôèêñèðîâàííûå íîâîñòè
Îðëà
Îòçûâû î ôèðìàõ
Òàðèôû
Ïîëüçîâàòåëè
Îáëàñòè
Áàíêîìàòû
Òîðãîâûå òî÷êè
Äîñêà îáúÿâëåíèé
Êóðñû âàëþò
Ñêèäêè
îðãàíèçàöèè Îðëà
îðãàíèçàöèè îáëàñòè
òîâàðû
ñàéòû
ñàéòû Îðåë
Äàííûå
Ðàçäåëû
Ïîèñê
Ïîèñê çàïðîñû
Ñòàòèñòèêà
Ïîêàçû êàòàëîãà îðãàíèçàöèé
Ñòàòèñòèêà êëèåíòû
Ïîëüçîâàòåëè
Ñàéòû
Óïðàâëåíèå ñàéòîì
Àíêåòà
Àïòåêè
Àôèøà
Àôèøà íîâàÿ
Áàííåðû
Áèçíåñ >
Âèêòîðèíà
Ãîëîñîâàíèå
Ãîñòü íà ñàéòå
Èñòîðèè
Êàëåíäàðü ñîáûòèé
Êàòàëîãè >
Êîíêóðñ êðàñîòû
Êîíêóðñ àóäèî
Êîíñóëüòàöèè
Ìåíþ
Íîâîå íà ñàéòå
Íîâîñòè >
Îðãàíèçàöèè >
Ïðîãðàììà ÒÂ
Ïóáëèêàöèè
Ðàçäåëû ñàéòà
Ðàññûëêà
Ðåñòîðàíû
Ñåêðåò ôèðìû >
Ñåðâèñû >
Ññûëêè
Òåñòû
Ôàéëîâûé ìåíåäæåð
Ôîðóì
Ôîòîãàëåðåÿ
Îáðàòíàÿ ñâÿçü
Íåäâèæèìîñòü
Íîâûé ãîä
Òåêñòû
Ïîëüçîâàòåëè
Þðèäè÷åñêèé ðåéòèíã
Îòçûâû íà òîâàðû
Áàí ïîëüçîâàòåëåé
Æàëîáû
Íîâûå òåñòû
Êîðîíàâèðóñ
Ôàéëîâûé ìåíåäæåð
Èìÿ ôàéëà
search.php
Ñîäåðæèìîå
<?php if (isset($_GET['text']) == false || mb_strlen($_GET['text'], 'UTF-8') < 2) { echo json_encode([ 'success' => false, 'text' => 'Ð�ичего не найдено' ]); exit; } $base_url = "../../"; require_once(__DIR__ . '/../../autoloader.php'); require(__DIR__ . '/../../func.php'); use app\core\views\ViewJson; use app\core\helpers\StringHelper; use app\core\helpers\DbHelper; use app\core\helpers\ArrayHelper; use app\organizations\OrganizationRepository; use app\organizations\OrganizationCategoryRepository; use app\organizations\helpers\OrganizationUrl; $text = DbHelper::normalize($_GET['text']); // Ðтот блок отвечает за поиÑ�к организаций из SPHIX $stop_words = array('а', 'без', 'бы', 'в', 'за', 'и', 'из', 'или', 'на', 'но', 'по', 'Ñ�'); $words = array_diff(StringHelper::words(strtolower($text)), $stop_words); $match_all_text = implode(' ', $words); $match_any_text = implode('|', $words); db_connect_sph(); // @TODO отрефакторить Ñ�тот момент. Когда-нибудь. $ids = []; $result_match_all = fetchAll(" select *, @weight from {$sph_idx['company']} where match('{$match_all_text}') order by user_weight desc, @weight desc limit 500 option field_weights=(name=600, name_ur=250, info=100, keywords=200) "); $result_match_any = fetchAll(" select *, @weight from {$sph_idx['company']} where match('{$match_any_text}') order by user_weight desc, @weight desc limit 500 option field_weights=(name=600, name_ur=250, info=100, keywords=200) "); if (is_array($result_match_all)) { foreach ($result_match_all as $row) { $idx = $row['id'] % 100; $id = ($row['id'] - $idx) / 100; $ids[$row['id']]['db_id'] = $id; $ids[$row['id']]['strong'] = 1; $ids[$row['id']]['idx'] = $idx; } } if (is_array($result_match_any)) { foreach ($result_match_any as $row) { $idx = $row['id'] % 100; $id = ($row['id'] - $idx) / 100; if (!array_key_exists($row['id'], $ids)) { $ids[$row['id']]['db_id'] = $id; $ids[$row['id']]['strong'] = 0; $ids[$row['id']]['idx'] = $idx; } } } $ids = ArrayHelper::arrayColumn(array_slice($ids, 0, 36), 'db_id'); $repository = new OrganizationRepository(); $items = array_map(function($item) { return [ 'name' => str_replace('"', '', $item['name']), 'url' => OrganizationUrl::generate($item) ]; }, $repository->findAllRaw($ids)); // Ищем категории $repository = new OrganizationCategoryRepository(); $categories = $repository->findAllByText($text, 12); $categories = array_map(function($item) { /** @var \app\organizations\entity\category\OrganizationCategory $item */ return [ 'name' => $item->getName(), 'url' => $item->createUrl() ]; }, $categories); (new ViewJson()) ->render([ 'success' => true, 'data' => [ 'categories' => $categories, 'organizations' => $items ] ]);
/ajax/organizations/
Èìÿ
Äàòà
Ðàçìåð
..
2018-07-13
add_organization_comment.php
2019-04-03
688 áàéò
add_organization_form.php
2017-02-27
388 áàéò
balloon_content.php
2019-02-13
476 áàéò
delete_comment.php
2017-08-16
640 áàéò
edit_contact.php
2017-04-04
769 áàéò
edit_news.php
2017-03-15
615 áàéò
emails.php
2017-03-09
655 áàéò
get_otrasl.php
2017-02-27
2 êá.
multiple_delete.php
2017-08-15
519 áàéò
phones.php
2017-03-09
1 êá.
placemark.php
2019-02-14
1 êá.
placemarks.php
2019-02-14
1 êá.
rubriks.php
2017-04-04
687 áàéò
search.php
2019-02-15
3 êá.
sites.php
2017-03-09
1009 áàéò
vote.php
2017-01-26
2 êá.
/ajax/organizations
Çàãðóçèòü ôàéëû
Ôàéë 1
Ôàéë 2
Ôàéë 3