/** * Form definition. * * @return void */ function definition() { global $CFG; $mform =& $this->_form; $mform->disable_form_change_checker(); $mform->addElement('header', 'search', get_string('search', 'search')); // Help info depends on the selected search engine. $mform->addElement('text', 'q', get_string('enteryoursearchquery', 'search')); $mform->addHelpButton('q', 'searchinfo', $this->_customdata['searchengine']); $mform->setType('q', PARAM_TEXT); $mform->addRule('q', get_string('required'), 'required', null, 'client'); $mform->addElement('header', 'filtersection', get_string('filterheader', 'search')); $mform->setExpanded('filtersection', false); $mform->addElement('text', 'title', get_string('title', 'search')); $mform->setType('title', PARAM_TEXT); $search = \core_search\manager::instance(); $searchareas = \core_search\manager::get_search_areas_list(true); $areanames = array(); foreach ($searchareas as $areaid => $searcharea) { $areanames[$areaid] = $searcharea->get_visible_name(); } // Sort the array by the text. \core_collator::asort($areanames); $options = array('multiple' => true, 'noselectionstring' => get_string('allareas', 'search')); $mform->addElement('autocomplete', 'areaids', get_string('searcharea', 'search'), $areanames, $options); $options = array('multiple' => true, 'limittoenrolled' => !is_siteadmin(), 'noselectionstring' => get_string('allcourses', 'search')); $mform->addElement('course', 'courseids', get_string('courses', 'core'), $options); $mform->setType('courseids', PARAM_INT); $mform->addElement('date_time_selector', 'timestart', get_string('fromtime', 'search'), array('optional' => true)); $mform->setDefault('timestart', 0); $mform->addElement('date_time_selector', 'timeend', get_string('totime', 'search'), array('optional' => true)); $mform->setDefault('timeend', 0); $this->add_action_buttons(false, get_string('search', 'search')); }
/** * Form definition. * * @return void */ function definition() { global $CFG; $mform =& $this->_form; $mform->addElement('header', 'search', get_string('search', 'search')); // Help info depends on the selected search engine. $mform->addElement('text', 'q', get_string('enteryoursearchquery', 'search')); $mform->addHelpButton('q', 'searchinfo', $this->_customdata['searchengine']); $mform->setType('q', PARAM_TEXT); $mform->addRule('q', get_string('required'), 'required', null, 'client'); $mform->addElement('header', 'filtersection', get_string('filterheader', 'search')); $mform->setExpanded('filtersection', false); $mform->addElement('text', 'title', get_string('title', 'search')); $mform->setType('title', PARAM_TEXT); $search = \core_search\manager::instance(); $searchareas = \core_search\manager::get_search_areas_list(true); $areanames = array('' => get_string('allareas', 'search')); foreach ($searchareas as $areaid => $searcharea) { $areanames[$areaid] = $searcharea->get_visible_name(); } $mform->addElement('select', 'areaid', get_string('searcharea', 'search'), $areanames); $mform->addElement('date_time_selector', 'timestart', get_string('fromtime', 'search'), array('optional' => true)); $mform->setDefault('timestart', 0); $mform->addElement('date_time_selector', 'timeend', get_string('totime', 'search'), array('optional' => true)); $mform->setDefault('timeend', 0); $this->add_action_buttons(false, get_string('search', 'search')); }
/** * Do the job. * Throw exceptions on errors (the job will be retried). */ public function execute() { if (!\core_search\manager::is_global_search_enabled()) { return; } $globalsearch = \core_search\manager::instance(); // Optimize index at last. $globalsearch->optimize_index(); }
/** * Do the job. * Throw exceptions on errors (the job will be retried). */ public function execute() { if (!\core_search\manager::is_global_search_enabled()) { return; } $globalsearch = \core_search\manager::instance(); // Indexing database records for modules + rich documents of forum. $globalsearch->index(); }
/** * Returns the appropiate document object as it depends on the engine. * * @param int $itemid Document itemid * @param string $componentname Document component name * @param string $areaname Document area name * @param \core_search\engine $engine Falls back to the search engine in use. * @return \core_search\document Base document or the engine implementation. */ public static function instance($itemid, $componentname, $areaname, $engine = false) { if ($engine === false) { $search = \core_search\manager::instance(); $engine = $search->get_engine(); } $pluginname = $engine->get_plugin_name(); if (!empty(self::$docclassnames[$pluginname])) { return new self::$docclassnames[$pluginname]($itemid, $componentname, $areaname); } self::$docclassnames[$pluginname] = $engine->get_document_classname(); return new self::$docclassnames[$pluginname]($itemid, $componentname, $areaname); }
require_once __DIR__ . '/../../config.php'; require_once $CFG->libdir . '/adminlib.php'; admin_externalpage_setup('reportsearch'); $pagetitle = get_string('pluginname', 'report_search'); $PAGE->set_title($pagetitle); $PAGE->set_heading($pagetitle); echo $OUTPUT->header(); echo $OUTPUT->heading($pagetitle); if (\core_search\manager::is_global_search_enabled() === false) { $renderer = $PAGE->get_renderer('core_search'); echo $renderer->render_search_disabled(); echo $OUTPUT->footer(); exit; } $renderer = $PAGE->get_renderer('report_search'); $search = \core_search\manager::instance(); // All enabled components. $searchareas = $search->get_search_areas_list(true); $mform = new \report_search\output\form(null, array('searchareas' => $searchareas)); if ($data = $mform->get_data()) { if (!empty($data->delete)) { if (!empty($data->all)) { $search->delete_index(); } else { $anydelete = false; // We check that the component exist and is enabled. foreach ($searchareas as $areaid => $searcharea) { if (!empty($data->{$areaid})) { $anydelete = true; $search->delete_index($areaid); }