Пример #1
0
 /**
  * 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'));
 }
Пример #2
0
 /**
  * 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'));
 }
Пример #3
0
 /**
  * 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();
 }
Пример #4
0
 /**
  * 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();
 }
Пример #5
0
 /**
  * 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);
 }
Пример #6
0
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);
                }