/** * This method returns an html page that can be used as a search form. * * @param string $name * @param array $criteria * * @return string The html search page. */ public function smartSearchPage($name = '', $criteria = array()) { $node = $this->m_node; $page = $this->getPage(); $ui = $this->getUi(); $sm = SessionManager::getInstance(); $page->register_script(Config::getGlobal('assets_url') . 'javascript/tools.js'); $page->register_script(Config::getGlobal('assets_url') . 'javascript/class.atksmartsearchhandler.js'); Tools::useattrib('atkdateattribute'); DateAttribute::registerScriptsAndStyles(); $params = []; $params['formstart'] = '<form name="entryform" action="' . Config::getGlobal('dispatcher') . '" method="post" class="form">' . $sm->formState(SessionManager::SESSION_REPLACE) . '<input type="hidden" name="atkaction" value="smartsearch">' . '<input type="hidden" name="atknodeuri" value="' . $node->atkNodeUri() . '">'; $params['content'] = $this->invoke('smartSearchForm', $name, $criteria); $params['buttons'][] = '<input type="submit" class="btn btn-default btn_search" name="atkdosearch" value="' . Tools::atktext('search', 'atk') . '">'; $params['formend'] = '</form>'; $action = $ui->renderAction('smartsearch', $params); $box = $ui->renderBox(array('title' => $node->actionTitle('smartsearch'), 'content' => $action)); return $box; }