/** * Searches for a passed string * * @return string * @permissions view */ protected function actionDoSearch() { $strReturn = ""; $objSearch = new class_module_search_search(); $objSearch->setStrPortalLangFilter($this->getStrPortalLanguage()); if ($this->getParam("searchterm") != "") { $objSearch->setStrQuery(htmlToString(urldecode($this->getParam("searchterm")), true)); } $arrResult = array(); $objSearchCommons = new class_module_search_commons(); if ($objSearch->getStrQuery() != "") { $arrResult = $objSearchCommons->doPortalSearch($objSearch); } $strReturn .= $this->createSearchXML($objSearch->getStrQuery(), $arrResult); return $strReturn; }
/** * Counts the number of hits * * @param class_module_search_search $objSearch * * @return int */ public function getIndexedSearchCount($objSearch) { $objParser = new class_module_search_query_parser(); $objSearchQuery = $objParser->parseText($objSearch->getStrQuery()); if ($objSearchQuery == null) { return 0; } $objSearchQuery->setMetadataFilter($this->getMetadataFilterFromSearch($objSearch)); $strQuery = ""; $arrParameters = array(); $objSearchQuery->getCountQuery($strQuery, $arrParameters); $arrSearchResult = $this->objDB->getPRow($strQuery, $arrParameters); return $arrSearchResult["COUNT(*)"]; }