Initial commit
[moodle.git] / search / stats.php
1 <?php
2   require_once('../config.php');  
3   require_once("$CFG->dirroot/search/lib.php");  
5   //check for php5, but don't die yet
6   if ($check = search_check_php5()) {          
7     //filesystem stats
8     $index_path = "$CFG->dataroot/search";
9     $index_size = display_size(get_directory_size($index_path));
10     $index_dir  = get_directory_list($index_path, '', false, false);
11     $index_filecount = count($index_dir);
12     
13     //indexed documents stats
14     $tables = $db->MetaTables();
15     
16     if (array_search('search_documents', $tables)) {
17       $types = search_get_document_types();
18       sort($types);
19     
20       //total documents
21       $type_counts['Total'] = count_records($CFG->prefix.'search_documents');
23       foreach($types as $type) {
24         $c = count_records($CFG->prefix.'search_documents', 'type', $type);
25         $type_counts[$type] = (int)$c;
26       } //foreach
27     } else {
28       $type_counts['Total'] = 0;
29     } //else      
30   } //if  
31   
32   if (!$site = get_site()) {
33     redirect("index.php");
34   } //if
35   
36   $strsearch = "Search"; //get_string();
37   $strquery  = "Search statistics"; //get_string();
39   print_header("$site->shortname: $strsearch: $strquery", "$site->fullname", 
40                "<a href=\"index.php\">$strsearch</a> -> $strquery");
41   
42   //keep things pretty, even if php5 isn't available
43   if (!$check) {
44     print_heading(search_check_php5(true));
45     print_footer();
46     exit(0);
47   } //if
48     
49   print_simple_box_start('center', '100%', '', 20);
50   print_heading($strquery);
51   
52   print_simple_box_start('center', '', '', 20);
53   
54   $table->tablealign = "center";
55   $table->align = array ("right", "left");
56   $table->wrap = array ("nowrap", "nowrap");
57   $table->cellpadding = 5;
58   $table->cellspacing = 0;
59   $table->width = '500';
61   $table->data[] = array('<strong>Data directory</strong>', '<em><strong>'.$index_path.'</strong></em>');
62   $table->data[] = array('Files in index directory', $index_filecount);
63   $table->data[] = array('Total size', $index_size);
64   
65   if ($index_filecount == 0) {
66     $table->data[] = array('Click to create index', "<a href='indexersplash.php'>Indexer</a>");
67   } //if
68   
69   $return_of_table->tablealign = "center";
70   $return_of_table->align = array ("right", "left");
71   $return_of_table->wrap = array ("nowrap", "nowrap");
72   $return_of_table->cellpadding = 5;
73   $return_of_table->cellspacing = 0;
74   $return_of_table->width = '500';
75   
76   $return_of_table->data[] = array('<strong>Database</strong>', '<em><strong>search_documents<strong></em>');  
77   foreach($type_counts as $key => $value) {
78     $return_of_table->data[] = array($key, $value);
79   } //foreach    
81   if (isadmin()) {
82     print_table($table);
83     print_spacer(20);
84   } //if
85   
86   print_table($return_of_table);
87    
88   print_simple_box_end();
89   print_simple_box_end();
90   print_footer();
91 ?>