コード例 #1
0
 /**
  * Renders the search form with results
  *
  * @permissions view
  * @return string
  * @autoTestable
  */
 protected function actionSearch()
 {
     $strReturn = "";
     $objSearch = new class_module_search_search($this->getParam("systemid"));
     $objForm = $this->getSearchAdminForm($objSearch);
     $objForm->updateSourceObject();
     if ($this->getParam("filtermodules") != "") {
         $objSearch->setStrInternalFilterModules($this->getParam("filtermodules"));
     }
     if ($this->getParam("search_filter_all") != "") {
         $objSearch->setStrInternalFilterModules("-1");
     }
     // Search Form
     $objForm = $this->getSearchAdminForm($objSearch);
     $strReturn .= $objForm->renderForm(class_link::getLinkAdminHref($this->getArrModule("modul"), "search"), class_admin_formgenerator::BIT_BUTTON_SUBMIT);
     // Execute Search
     $objSearchCommons = new class_module_search_commons();
     $arrResult = $objSearchCommons->doAdminSearch($objSearch);
     $objArraySectionIterator = new class_array_section_iterator($objSearchCommons->getIndexedSearchCount($objSearch));
     $objArraySectionIterator->setPageNumber((int) ($this->getParam("pv") != "" ? $this->getParam("pv") : 1));
     $objArraySectionIterator->setArraySection($objSearchCommons->doIndexedSearch($objSearch, $objArraySectionIterator->calculateStartPos(), $objArraySectionIterator->calculateEndPos()));
     //convert entries to real objects
     $arrObjects = array();
     /** @var $objSearchResult class_search_result */
     foreach ($arrResult as $objSearchResult) {
         $arrObjects[] = $objSearchResult->getObjObject();
     }
     $objArraySectionIterator->setArrElements($arrObjects);
     $objArraySectionIterator->setArraySection($objArraySectionIterator->getElementsOnPage(1));
     $strQueryAppend = "&filtermodules=" . $objSearch->getStrInternalFilterModules();
     if ($objSearch->getObjChangeStartdate() != null) {
         $strQueryAppend .= "&search_changestartdate=" . $objSearch->getObjChangeStartdate()->getLongTimestamp();
     }
     if ($objSearch->getObjChangeEnddate() != null) {
         $strQueryAppend .= "&search_changeenddate=" . $objSearch->getObjChangeEnddate()->getLongTimestamp();
     }
     $strReturn .= $this->renderList($objArraySectionIterator, false, "searchResultList", false, "&search_query=" . $objSearch->getStrQuery() . $strQueryAppend);
     return $strReturn;
 }