See Release Notes
Long Term Support Release
Differences Between: [Versions 39 and 310] [Versions 39 and 311] [Versions 39 and 400] [Versions 39 and 401] [Versions 39 and 402] [Versions 39 and 403]
1 <?php 2 // This file is part of Moodle - http://moodle.org/ 3 // 4 // Moodle is free software: you can redistribute it and/or modify 5 // it under the terms of the GNU General Public License as published by 6 // the Free Software Foundation, either version 3 of the License, or 7 // (at your option) any later version. 8 // 9 // Moodle is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU General Public License for more details. 13 // 14 // You should have received a copy of the GNU General Public License 15 // along with Moodle. If not, see <http://www.gnu.org/licenses/>. 16 17 /** 18 * Global search block. 19 * 20 * @package block_globalsearch 21 * @copyright Prateek Sachan {@link http://prateeksachan.com} 22 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 23 */ 24 25 defined('MOODLE_INTERNAL') || die(); 26 27 /** 28 * Global search block. 29 * 30 * @package block_globalsearch 31 * @copyright Prateek Sachan {@link http://prateeksachan.com} 32 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 33 */ 34 class block_globalsearch extends block_base { 35 36 /** 37 * Initialises the block. 38 * 39 * @return void 40 */ 41 public function init() { 42 $this->title = get_string('pluginname', 'block_globalsearch'); 43 } 44 45 /** 46 * Gets the block contents. 47 * 48 * If we can avoid it better not check the server status here as connecting 49 * to the server will slow down the whole page load. 50 * 51 * @return string The block HTML. 52 */ 53 public function get_content() { 54 global $OUTPUT; 55 if ($this->content !== null) { 56 return $this->content; 57 } 58 59 $this->content = new stdClass(); 60 $this->content->footer = ''; 61 62 if (\core_search\manager::is_global_search_enabled() === false) { 63 $this->content->text = get_string('globalsearchdisabled', 'search'); 64 return $this->content; 65 } 66 67 $url = new moodle_url('/search/index.php'); 68 $this->content->footer .= html_writer::link($url, get_string('advancedsearch', 'search')); 69 70 $this->content->text = html_writer::start_tag('div', array('class' => 'searchform')); 71 $this->content->text .= html_writer::start_tag('form', array('action' => $url->out())); 72 $this->content->text .= html_writer::start_tag('fieldset', array('action' => 'invisiblefieldset')); 73 74 // Input. 75 $this->content->text .= html_writer::tag('label', get_string('search', 'search'), 76 array('for' => 'searchform_search', 'class' => 'accesshide')); 77 $inputoptions = array('id' => 'searchform_search', 'name' => 'q', 'class' => 'form-control', 78 'type' => 'text', 'size' => '15'); 79 $this->content->text .= html_writer::empty_tag('input', $inputoptions); 80 81 // Context id. 82 if ($this->page->context && $this->page->context->contextlevel !== CONTEXT_SYSTEM) { 83 $this->content->text .= html_writer::empty_tag('input', ['type' => 'hidden', 84 'name' => 'context', 'value' => $this->page->context->id]); 85 } 86 87 // Search button. 88 $this->content->text .= html_writer::tag('button', get_string('search', 'search'), 89 array('id' => 'searchform_button', 'type' => 'submit', 'title' => 'globalsearch', 'class' => 'btn btn-secondary')); 90 $this->content->text .= html_writer::end_tag('fieldset'); 91 $this->content->text .= html_writer::end_tag('form'); 92 $this->content->text .= html_writer::end_tag('div'); 93 94 return $this->content; 95 } 96 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body