Search functions moved from mod/name/lib.php to search/documents/mod_document.php.
[moodle.git] / search / lib.php
1 <?php
3   //Move this stuff to lib/searchlib.php?
4   // Author: Michael Champanis
6   //document types that can be searched
7   define('SEARCH_NO_TYPE', 'none');
8   define('SEARCH_WIKI_TYPE', 'wiki');
9   define('SEARCH_FORUM_TYPE', 'forum');
10   
11   //returns all the document type constants
12   function search_get_document_types() {
13     $r = Array(SEARCH_WIKI_TYPE, SEARCH_NO_TYPE, SEARCH_FORUM_TYPE);
14     return $r;
15   } //search_get_document_types
16   
17   //shortens a url so it can fit on the results page
18   function search_shorten_url($url, $length=30) {    
19     return substr($url, 0, $length)."...";
20   } //search_shorten_url
21   
22   function search_escape_string($str) {
23     global $CFG;
24      
25     switch ($CFG->dbtype) {
26       case 'mysql':
27         $s = mysql_real_escape_string($str);
28         break;
29       case 'postgres7':
30         $s = pg_escape_string($str);
31         break;
32       default:
33         $s = addslashes($str);
34     } //switch
35     
36     return $s;
37   } //search_escape_string
39   //get a real php 5 version number, using 5.0.0 arbitrarily  
40   function search_check_php5($feedback=false) {
41     if (!check_php_version("5.0.0")) {
42       if ($feedback) {
43         $phpversion = phpversion();
44         print_heading("Sorry, global search requires PHP 5.0.0 or later (currently using version $phpversion)");
45       } //if
46       
47       return false;
48     } else {
49       return true;
50     } //else
51   } //search_check_php5
52   
53   //simple timer function, outputs result on 2nd call
54   function search_stopwatch($cli = false) {
55     if (!empty($GLOBALS['search_script_start_time'])) {
56       if (!$cli) print '<em>';
57       print round(microtime(true) - $GLOBALS['search_script_start_time'], 6).' seconds';
58       if (!$cli) print '</em>';
59       
60       unset($GLOBALS['search_script_start_time']);
61     } else {
62       $GLOBALS['search_script_start_time'] = microtime(true);
63     } //else
64   } //search_stopwatch
65   
66   //print and exit (for debugging)
67   function search_pexit($str = "") {
68     if (is_array($str) or is_object($str)) {
69       print_r($str);
70     } else if ($str) {
71       print $str."<br>";
72     } //if
73     
74     exit(0);
75   } //search_pexit
77 ?>