ea8b7820edcade2938be989888d5c497d507939a
[moodle.git] / blocks / search / block_search.php
1 <?php
3 /** This is the global search shortcut block - a single query can be entered, and
4  * the user will be redirected to the query page where they can enter more
5  *  advanced queries, and view the results of their search. When searching from
6  *  this block, the broadest possible selection of documents is searched.
7  *
8  * @package search
9  * @subpackage search block
10  * @author: Michael Champanis (mchampan), reengineered by Valery Fremaux
11  * @date: 2006 06 25
12  */
14 class block_search extends block_base {
16     function init() {
17       $this->title = get_string('pluginname', 'block_search');
18     } //init
20     // only one instance of this block is required
21     function instance_allow_multiple() {
22       return false;
23     } //instance_allow_multiple
25     // label and button values can be set in admin
26     function has_config() {
27       return true;
28     } //has_config
30     function get_content() {
31       global $CFG;
33       if (empty($CFG->enableglobalsearch)) {
34         return '';
35       }
37       //cache block contents
38       if ($this->content !== NULL) {
39         return $this->content;
40       } //if
42       $this->content = new stdClass;
44       //lazy check for the moment
45       //fetch values if defined in admin, otherwise use defaults
46       $label  = (!empty($CFG->block_search_text)) ? $CFG->block_search_text : get_string('searchmoodle', 'block_search');
47       $button = (!empty($CFG->block_search_button)) ? $CFG->block_search_button : get_string('go', 'block_search');
49       //basic search form
50       $this->content->text =
51             '<form id="searchquery" method="get" action="'. $CFG->wwwroot .'/search/query.php"><div>'
52           . '<label for="block_search_q">'. $label .'</label>'
53           . '<input id="block_search_q" type="text" name="query_string" />'
54           . '<input type="submit" value="'.$button.'" />'
55           . '</div></form>';
57       //no footer, thanks
58       $this->content->footer = '';
60       return $this->content;
61     } //get_content
63     function specialisation() {
64       //empty!
65     } //specialisation
67     /**
68      * wraps up to search engine cron
69      */
70     function cron(){
71         global $CFG;
73         include($CFG->dirroot.'/search/cron.php');
74     }
76   } //block_search