/** * 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; }
public function testIndexEvent() { if (class_module_system_module::getModuleByName("tags") == null || class_module_system_module::getModuleByName("system") == null) { return; } $strSearchKey1 = generateSystemid(); $objAspect = new class_module_system_aspect(); $objAspect->setStrName($strSearchKey1); $objAspect->updateObjectToDb(); $objSearchCommons = new class_module_search_commons(); $objSearchParams = new class_module_search_search(); $objSearchParams->setStrQuery($strSearchKey1); $arrResult = $objSearchCommons->doIndexedSearch($objSearchParams, null); $this->assertEquals(count($arrResult), 1); $this->assertEquals($arrResult[0]->getObjObject()->getStrSystemid(), $objAspect->getStrSystemid()); $strSearchKey2 = generateSystemid(); $objTag = new class_module_tags_tag(); $objTag->setStrName($strSearchKey2); $objTag->updateObjectToDb(); $objSearchParams = new class_module_search_search(); $objSearchParams->setStrQuery($strSearchKey2); $arrResult = $objSearchCommons->doIndexedSearch($objSearchParams, null); $this->assertEquals(count($arrResult), 1); $this->assertEquals($arrResult[0]->getObjObject()->getStrSystemid(), $objTag->getStrSystemid()); $objTag->assignToSystemrecord($objAspect->getStrSystemid()); $arrResult = $objSearchCommons->doIndexedSearch($objSearchParams, null); $this->assertEquals(count($arrResult), 2); $objSearchParams->setStrInternalFilterModules(_system_modul_id_); $arrResult = $objSearchCommons->doIndexedSearch($objSearchParams, null); $this->assertEquals(count($arrResult), 1); $this->assertEquals($arrResult[0]->getObjObject()->getStrSystemid(), $objAspect->getStrSystemid()); $objTag->removeFromSystemrecord($objAspect->getStrSystemid()); //the aspect itself should not be found any more $objSearchParams = new class_module_search_search(); $objSearchParams->setStrQuery($strSearchKey2); $arrResult = $objSearchCommons->doIndexedSearch($objSearchParams, null); $this->assertEquals(count($arrResult), 1); $this->assertEquals($arrResult[0]->getObjObject()->getStrSystemid(), $objTag->getStrSystemid()); $objAspect->deleteObjectFromDatabase(); $objTag->deleteObjectFromDatabase(); }
/** * @param class_module_search_search $objSearch * * @return class_admin_formgenerator */ public function getSearchAdminForm($objSearch) { $objForm = new class_admin_formgenerator("search", $objSearch); $objForm->generateFieldsFromObject(); // Load filterable modules $arrFilterModules = $objSearch->getPossibleModulesForFilter(); $objForm->getField("formfiltermodules")->setArrKeyValues($arrFilterModules); $objForm->addField(new class_formentry_checkbox("search", "filter_all"))->setStrLabel($this->getLang("select_all"))->setStrValue($objSearch->getStrInternalFilterModules() == "-1" || $objSearch->getStrInternalFilterModules() == ""); $objForm->setFieldToPosition("search_filter_all", 3); $bitVisible = $objSearch->getStrInternalFilterModules() != "-1" && $objSearch->getStrInternalFilterModules() != "" || $objSearch->getObjChangeEnddate() != null || $objSearch->getObjChangeStartdate() != null; $objForm->setStrHiddenGroupTitle($this->getLang("form_additionalheader")); $objForm->addFieldToHiddenGroup($objForm->getField("formfiltermodules")); $objForm->addFieldToHiddenGroup($objForm->getField("formfilteruser")); $objForm->addFieldToHiddenGroup($objForm->getField("search_filter_all")); $objForm->addFieldToHiddenGroup($objForm->getField("changestartdate")); $objForm->addFieldToHiddenGroup($objForm->getField("changeenddate")); $objForm->setBitHiddenElementsVisible($bitVisible); //add js-code for enabling and disabling multiselect box for modules $strCore = class_resourceloader::getInstance()->getCorePathForModule("module_search"); $strJS = <<<JS KAJONA.admin.loader.loadFile('{$strCore}/module_search/admin/scripts/search.js', function() { KAJONA.admin.search.switchFilterAllModules(); \$('#search_filter_all').click(function() {KAJONA.admin.search.switchFilterAllModules()}); }); JS; $strPlain = "<script type='text/javascript'>" . $strJS . "</script>"; $objForm->addField(new class_formentry_plaintext())->setStrValue($strPlain); return $objForm; }
/** * Removes the elements / modules handled by the current installer. * Use the reference param to add a human readable logging. * * @param string &$strReturn * * @return bool */ public function remove(&$strReturn) { //delete the page-element if (class_module_system_module::getModuleByName("pages") !== null && class_module_pages_element::getElement("search") != null) { $objElement = class_module_pages_element::getElement("search"); if ($objElement != null) { $strReturn .= "Deleting page-element 'search'...\n"; $objElement->deleteObjectFromDatabase(); } else { $strReturn .= "Error finding page-element 'search', aborting.\n"; return false; } } /** @var class_module_search_search $objOneObject */ foreach (class_module_search_search::getObjectList() as $objOneObject) { $strReturn .= "Deleting object '" . $objOneObject->getStrDisplayName() . "' ...\n"; if (!$objOneObject->deleteObjectFromDatabase()) { $strReturn .= "Error deleting object, aborting.\n"; return false; } } //delete the module-node $strReturn .= "Deleting the module-registration...\n"; $objModule = class_module_system_module::getModuleByName($this->objMetadata->getStrTitle(), true); if (!$objModule->deleteObjectFromDatabase()) { $strReturn .= "Error deleting module, aborting.\n"; return false; } //delete the tables foreach (array("search_search", "search_log", "element_search", "search_ix_document", "search_ix_content") as $strOneTable) { $strReturn .= "Dropping table " . $strOneTable . "...\n"; if (!$this->objDB->_pQuery("DROP TABLE " . $this->objDB->encloseTableName(_dbprefix_ . $strOneTable) . "", array())) { $strReturn .= "Error deleting table, aborting.\n"; return false; } } return true; }
/** * @param class_module_search_search $objSearch * * @return class_module_search_metadata_filter */ private function getMetadataFilterFromSearch($objSearch) { $objMetadataFilter = new class_module_search_metadata_filter(); $objMetadataFilter->setFilterModules($objSearch->getFilterModules()); $objMetadataFilter->setFilterUser($objSearch->getFilterUser()); $objMetadataFilter->setFilterChangeStartDate($objSearch->getObjChangeStartdate()); $objMetadataFilter->setFilterChangeEndDate($objSearch->getObjChangeEnddate()); $objMetadataFilter->setBitPortalSearch($objSearch->getBitPortalObjectFilter()); $objMetadataFilter->setStrPortalLang($objSearch->getStrPortalLangFilter()); return $objMetadataFilter; }
public function getAdminForm() { $objForm = parent::getAdminForm(); $arrRawQueries = class_module_search_search::getObjectList(); $arrQueries = array(); foreach ($arrRawQueries as $objOneQuery) { $arrQueries[$objOneQuery->getSystemid()] = $objOneQuery->getStrDisplayName(); } $objForm->getField("query")->setArrKeyValues($arrQueries); return $objForm; }