Differences Between: [Versions 310 and 403] [Versions 311 and 403] [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 $data = [ 68 'action' => new moodle_url('/search/index.php'), 69 'inputname' => 'q', 70 'searchstring' => get_string('search'), 71 ]; 72 73 if ($this->page->context && $this->page->context->contextlevel !== CONTEXT_SYSTEM) { 74 $data['hiddenfields'] = (object) ['name' => 'context', 'value' => $this->page->context->id]; 75 } 76 77 $this->content->text = $OUTPUT->render_from_template('core/search_input', $data); 78 79 return $this->content; 80 } 81 82 /** 83 * This block shouldn't be added to a page if the global search advanced feature is disabled. 84 * 85 * @param moodle_page $page 86 * @return bool 87 */ 88 public function can_block_be_added(moodle_page $page): bool { 89 global $CFG; 90 91 return $CFG->enableglobalsearch; 92 } 93 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body