49 lines
1.5 KiB
PHP
49 lines
1.5 KiB
PHP
<?php defined('BLUDIT') or die('Bludit CMS.');
|
|
header('Content-Type: application/json');
|
|
|
|
/*
|
|
| Search for pages that have in the title the string $query and returns the array of pages
|
|
|
|
|
| @_GET['published'] boolean True to search in published database
|
|
| @_GET['static'] boolean True to search in static database
|
|
| @_GET['sticky'] boolean True to search in sticky database
|
|
| @_GET['scheduled'] boolean True to search in scheduled database
|
|
| @_GET['draft'] boolean True to search in draft database
|
|
| @_GET['query'] string Text to search in the title
|
|
|
|
|
| @return array
|
|
*/
|
|
|
|
// $_GET
|
|
// ----------------------------------------------------------------------------
|
|
$published = empty($_GET['published']) ? false:true;
|
|
$static = empty($_GET['static']) ? false:true;
|
|
$sticky = empty($_GET['sticky']) ? false:true;
|
|
$scheduled = empty($_GET['scheduled']) ? false:true;
|
|
$draft = empty($_GET['draft']) ? false:true;
|
|
$query = isset($_GET['query']) ? Text::lowercase($_GET['query']) : false;
|
|
// ----------------------------------------------------------------------------
|
|
|
|
if ($query===false) {
|
|
ajaxResponse(1, 'Invalid query.');
|
|
}
|
|
|
|
$pageNumber = 1;
|
|
$numberOfItems = -1;
|
|
$pagesKey = $pages->getList($pageNumber, $numberOfItems, $published, $static, $sticky, $draft, $scheduled);
|
|
$tmp = array();
|
|
foreach ($pagesKey as $pageKey) {
|
|
try {
|
|
$page = new Page($pageKey);
|
|
$lowerTitle = Text::lowercase($page->title());
|
|
if (Text::stringContains($lowerTitle, $query)) {
|
|
$tmp[$page->key()] = $page->json(true);
|
|
}
|
|
} catch (Exception $e) {
|
|
// continue
|
|
}
|
|
}
|
|
|
|
exit (json_encode($tmp));
|
|
|
|
?>
|