root/dev/common/admin/option_db.php @ 231

Revision 231, 2.3 KB (checked in by ralle030583, 15 years ago)

Feed Syndication v1.5 Fixes:
-  http://www.eve-dev.net/e107_plugins/forum/forum_viewtopic.php?5366

Admin - DB Maintaince
- make the cache size a bit nice (KB/MB/GB)

Line 
1<?php
2options::cat('Maintenance', 'Database', 'Table checks');
3options::fadd('This checks automatically your database', 'none', 'custom', array('admin_db', 'checkDatabase'), array('admin_db', 'none'));
4options::fadd('Current SQL cache size', 'none', 'custom', array('admin_db', 'checkCache'), array('admin_db', 'killCache'));
5
6class admin_db
7{
8    function checkDatabase()
9    {
10        require_once('common/includes/autoupgrade.php');
11
12        // todo: write functions to take care of this
13        // based on a database description file
14        check_pilots();
15        check_invdetail();
16        check_contracts();
17        check_index();
18        check_tblstrct1();
19        check_tblstrct2();
20        check_tblstrct3();
21        check_tblstrct4();
22        check_tblstrct5();
23        chk_kb3_items();
24        chk_kb3_items2();
25        check_tblstrct6();
26                check_navigationtable();
27        return 'Maintenance complete.<br/>';
28    }
29
30    function none()
31    {
32        // do nothing on submit
33    }
34
35    function checkCache()
36    {
37        $size = 0;
38        $dir = opendir(KB_CACHEDIR);
39        while ($line = readdir($dir))
40        {
41            if (strstr($line, 'qcache_qry') !== false)
42            {
43                $size += filesize(KB_CACHEDIR.'/'.$line);
44            }
45        }
46               
47        // GB
48        if (($size / 1073741824) > 1){
49                return round($size/1073741824, 4).' GB <input type="checkbox" name="option[sql_clearcache]">Clear cache ?';
50        // MB   
51        }elseif (($size / 1048576) > 1){
52                return round($size/1048576, 4).' MB <input type="checkbox" name="option[sql_clearcache]">Clear cache ?';
53                // KB
54        }else{ 
55                return round($size/1024, 2).' KB <input type="checkbox" name="option[sql_clearcache]">Clear cache ?';
56        }
57    }
58
59    function killCache()
60    {
61        if ($_POST['option']['sql_clearcache'] != 'on')
62        {
63            return;
64        }
65
66        $dir = opendir(KB_CACHEDIR);
67        while ($line = readdir($dir))
68        {
69            if (strstr($line, 'qcache_qry') !== false)
70            {
71                @unlink(KB_CACHEDIR.'/'.$line);
72            }
73            elseif (strstr($line, 'qcache_tbl') !== false)
74            {
75                @unlink(KB_CACHEDIR.'/'.$line);
76            }
77        }
78    }
79}
80?>
Note: See TracBrowser for help on using the browser.