Esempio n. 1
0
 /**
  * Search module objects by Id
  *
  * @param string $keyword : the search keywords
  * @param CMS_profile_user $user : the user which make the search
  * @param booolean : public search (default : false)
  * @param array : the results score returned by reference
  * @return array : results elements Ids
  * @access public
  */
 function search($keyword, &$user, $public = false, &$score = array())
 {
     $search = new CMS_search();
     $pageResults = $search->getSearch($keyword, $user, $public, true);
     $score = $pageResults['score'];
     return $pageResults['results'];
 }
Esempio n. 2
0
require_once dirname(__FILE__) . '/../../cms_rc_admin.php';
//load interface instance
$view = CMS_view::getInstance();
//set default display mode for this page
$view->setDisplayMode(CMS_view::SHOW_JSON);
//This file is an admin file. Interface must be secure
$view->setSecure();
$query = sensitiveIO::request('query', '', '');
$start = sensitiveIO::request('start', 'sensitiveIO::isPositiveInteger', 0);
$limit = sensitiveIO::request('limit', 'sensitiveIO::isPositiveInteger', 10);
if (!$query || io::strlen($query) < 3) {
    CMS_grandFather::raiseError('Missing query or query is too short : ' . $query);
    $view->show();
}
//lauch search
$results = CMS_search::getSearch($query, $cms_user, false, false);
//pr($results);
$pages = array();
$count = 0;
if (isset($results['results']) && is_array($results['results'])) {
    foreach ($results['results'] as $result) {
        if ($count >= $start && sizeof($pages) < $limit) {
            $page = CMS_tree::getPageById($result);
            if ($page && !$page->hasError()) {
                $pages[] = array('pageId' => $page->getID(), 'title' => $page->getTitle() . ' (' . $page->getID() . ')', 'status' => $page->getStatus()->getHTML(true, $cms_user, MOD_STANDARD_CODENAME, $page->getID()), 'lineage' => CMS_tree::getLineage(APPLICATION_ROOT_PAGE_ID, $page->getID(), false));
            } else {
                $results['nbresult']--;
            }
        }
        $count++;
    }