LinkScriptFromAppRoot("js/forms-json-utils.js"); $oP->LinkScriptFromAppRoot("js/wizardhelper.js"); $oP->LinkScriptFromAppRoot("js/extkeywidget.js"); $oP->LinkScriptFromAppRoot("js/jquery.blockUI.js"); // From now on the context is limited to the the selected organization ?? // Now render the content of the page $sBaseClass = utils::ReadParam('baseClass', 'Organization', false, 'class'); $sClass = utils::ReadParam('class', $sBaseClass, false, 'class'); $sOQLClause = utils::ReadParam('oql_clause', '', false, 'raw_data'); $sFilter = utils::ReadParam('filter', '', false, 'raw_data'); $sOperation = utils::ReadParam('operation', ''); $oP->SetBreadCrumbEntry('ui-tool-universalsearch', Dict::S('Menu:UniversalSearchMenu'), Dict::S('Menu:UniversalSearchMenu+'), '', 'fas fa-search', iTopWebPage::ENUM_BREADCRUMB_ENTRY_ICON_TYPE_CSS_CLASSES); //$sSearchHeaderForceDropdown $sSearchHeaderForceDropdown = '\n"; //end of $sSearchHeaderForceDropdown try { if ($sOperation == 'search_form') { $sOQL = "SELECT $sClass $sOQLClause"; $oFilter = DBObjectSearch::FromOQL($sOQL); } else { // Second part: advanced search form: if (!empty($sFilter)) { $oFilter = DBSearch::unserialize($sFilter); } elseif (!empty($sClass)) { $oFilter = new DBObjectSearch($sClass); } } } catch (CoreException $e) { $oFilter = new DBObjectSearch($sClass); $oP->P("".Dict::Format('UI:UniversalSearch:Error', $e->getHtmlDesc()).""); } if ($oFilter != null) { $oSet = new CMDBObjectSet($oFilter); $oBlock = new DisplayBlock($oFilter, 'search', false); $aExtraParams = $oAppContext->GetAsHash(); $aExtraParams['open'] = true; $aExtraParams['baseClass'] = $sBaseClass; $aExtraParams['action'] = utils::GetAbsoluteUrlAppRoot().'pages/UniversalSearch.php'; $aExtraParams['table_id'] = '1'; $aExtraParams['search_header_force_dropdown'] = $sSearchHeaderForceDropdown; $aExtraParams['submit_on_load'] = false; $oBlock->Display($oP, 0, $aExtraParams); // Search results $oResultBlock = new DisplayBlock($oFilter, 'list', false); $oResultBlock->Display($oP, 1); // Breadcrumb //$iCount = $oBlock->GetDisplayedCount(); $sPageId = "ui-search-".$oFilter->GetClass(); $sLabel = MetaModel::GetName($oFilter->GetClass()); $oP->SetBreadCrumbEntry($sPageId, $sLabel, '', '', 'fas fa-search', iTopWebPage::ENUM_BREADCRUMB_ENTRY_ICON_TYPE_CSS_CLASSES); // Menu node $sFilter = $oFilter->ToOQL(); $oP->add("\n\n"); } $oP->add("\n"); $oP->output();