Пример #1
0
    $name = htmlentities($c['name'], ENT_QUOTES, 'UTF-8');
    $perms = Perms::get('category', $c['categId']);
    $add = $perms->add_object ? '<span class="control categ-add"></span>' : '';
    $remove = $perms->remove_object ? '<span class="control categ-remove"></span>' : '';
    $body = <<<BODY
{$add}
{$remove}
<span class="object-count">{$c['objects']}</span>
<a class="catname" href="{$url}" data-categ="{$c['categId']}">{$name}</a>
BODY;
    $tree_nodes[] = array('id' => $c['categId'], 'parent' => $c['parentId'], 'data' => $body);
}
$tree_nodes[] = array('id' => 'orphan', 'parent' => '0', 'data' => '<span class="object-count">' . $orphans['cant'] . '</span><a class="catname" href="tiki-edit_categories.php?filter~categories=orphan"><em>' . tr('Orphans') . '</em></a>');
$tm = new BrowseTreeMaker('categ');
$res = $tm->make_tree(0, $tree_nodes);
$smarty->assign('tree', $res);
// }}}
$filter = isset($_REQUEST['filter']) ? $_REQUEST['filter'] : array();
$smarty->assign('filter', $filter);
if (count($filter)) {
    $unifiedsearchlib = TikiLib::lib('unifiedsearch');
    $query = $unifiedsearchlib->buildQuery($filter);
    if (isset($_REQUEST['sort_mode']) && ($order = Search_Query_Order::parse($_REQUEST['sort_mode']))) {
        $query->setOrder($order);
    }
    $result = $query->search($unifiedsearchlib->getIndex());
    $smarty->assign('result', $result);
}
// }}}
$smarty->assign('mid', 'tiki-edit_categories.tpl');
$smarty->display('tiki.tpl');
Пример #2
0
 /**
  * @dataProvider sortMatches
  */
 function testParse($mode, $field, $order, $type)
 {
     $obtained = Search_Query_Order::parse($mode);
     $this->assertEquals(new Search_Query_Order($field, $type, $order), $obtained);
 }
Пример #3
0
 function setOrder($order)
 {
     if (is_string($order)) {
         $this->sortOrder = Search_Query_Order::parse($order);
     } else {
         $this->sortOrder = $order;
     }
 }
Пример #4
0
/**
 * @param $filter
 * @param $offset
 * @param $maxRecords
 * @return mixed
 */
function tiki_searchindex_get_results($filter, $postfilter, $offset, $maxRecords)
{
    global $prefs;
    $unifiedsearchlib = TikiLib::lib('unifiedsearch');
    $query = new Search_Query();
    $unifiedsearchlib->initQueryBase($query);
    $query = $unifiedsearchlib->buildQuery($filter, $query);
    $query->filterContent('y', 'searchable');
    if (count($postfilter)) {
        $unifiedsearchlib->buildQuery($postfilter, $query->getPostFilter());
    }
    if (isset($_REQUEST['sort_mode']) && ($order = Search_Query_Order::parse($_REQUEST['sort_mode']))) {
        $query->setOrder($order);
    }
    if ($prefs['storedsearch_enabled'] == 'y' && !empty($_POST['storeAs'])) {
        $storedsearch = TikiLib::lib('storedsearch');
        $storedsearch->storeUserQuery($_POST['storeAs'], $query);
        TikiLib::lib('smarty')->assign('display_msg', tr('Your query was stored.'));
    }
    $unifiedsearchlib->initQueryPermissions($query);
    $query->setRange($offset, $maxRecords);
    if ($prefs['feature_search_stats'] == 'y') {
        $stats = TikiLib::lib('searchstats');
        foreach ($query->getTerms() as $term) {
            $stats->register_term_hit($term);
        }
    }
    if ($prefs['search_use_facets'] == 'y') {
        $provider = $unifiedsearchlib->getFacetProvider();
        foreach ($provider->getFacets() as $facet) {
            $query->requestFacet($facet);
        }
    }
    if ($prefs['unified_highlight_results'] === 'y') {
        $query->applyTransform(new \Search\ResultSet\UrlHighlightTermsTransform($query->getTerms()));
    }
    try {
        if ($prefs['federated_enabled'] == 'y' && !empty($filter['content'])) {
            $fed = TikiLib::lib('federatedsearch');
            $fed->augmentSimpleQuery($query, $filter['content']);
        }
        $resultset = $query->search($unifiedsearchlib->getIndex());
        return $resultset;
    } catch (Search_Elastic_TransportException $e) {
        TikiLib::lib('errorreport')->report('Search functionality currently unavailable.');
    } catch (Exception $e) {
        TikiLib::lib('errorreport')->report($e->getMessage());
    }
    return new Search_ResultSet(array(), 0, 0, -1);
}
Пример #5
0
/**
 * @param $filter
 * @param $offset
 * @param $maxRecords
 * @return mixed
 */
function tiki_searchindex_get_results($filter, $offset, $maxRecords)
{
    global $prefs;
    $unifiedsearchlib = TikiLib::lib('unifiedsearch');
    $query = $unifiedsearchlib->buildQuery($filter);
    $query->setRange($offset, $maxRecords);
    $query->filterContent('y', 'searchable');
    if (isset($_REQUEST['sort_mode']) && ($order = Search_Query_Order::parse($_REQUEST['sort_mode']))) {
        $query->setOrder($order);
    }
    if ($prefs['feature_search_stats'] == 'y') {
        $stats = TikiLib::lib('searchstats');
        foreach ($query->getTerms() as $term) {
            $stats->register_term_hit($term);
        }
    }
    if ($prefs['search_use_facets'] == 'y') {
        $provider = $unifiedsearchlib->getFacetProvider();
        foreach ($provider->getFacets() as $facet) {
            $query->requestFacet($facet);
        }
    }
    try {
        return $query->search($unifiedsearchlib->getIndex());
    } catch (Search_Elastic_TransportException $e) {
        TikiLib::lib('errorreport')->report('Search functionality currently unavailable.');
    } catch (Exception $e) {
        TikiLib::lib('errorreport')->report($e->getMessage());
    }
    return new Search_ResultSet(array(), 0, 0, -1);
}
Пример #6
0
/**
 * @param $filter
 * @param $offset
 * @param $maxRecords
 * @return mixed
 */
function tiki_searchindex_get_results($filter, $offset, $maxRecords)
{
    global $prefs;
    $unifiedsearchlib = TikiLib::lib('unifiedsearch');
    $query = $unifiedsearchlib->buildQuery($filter);
    $query->setRange($offset, $maxRecords);
    if (isset($_REQUEST['sort_mode']) && ($order = Search_Query_Order::parse($_REQUEST['sort_mode']))) {
        $query->setOrder($order);
    }
    if ($prefs['feature_search_stats'] == 'y') {
        $stats = TikiLib::lib('searchstats');
        foreach ($query->getTerms() as $term) {
            $stats->register_term_hit($term);
        }
    }
    if ($prefs['search_use_facets'] == 'y') {
        $provider = $unifiedsearchlib->getFacetProvider();
        foreach ($provider->getFacets() as $facet) {
            $query->requestFacet($facet);
        }
    }
    return $query->search($unifiedsearchlib->getIndex());
}
Пример #7
0
function tiki_searchindex_get_results($filter, $offset, $maxRecords)
{
	global $unifiedsearchlib;
	$query = $unifiedsearchlib->buildQuery($filter);
	$query->setRange($offset, $maxRecords);

	if (isset($_REQUEST['sort_mode']) && $order = Search_Query_Order::parse($_REQUEST['sort_mode'])) {
		$query->setOrder($order);
	}

	return $query->search($unifiedsearchlib->getIndex());
}