root/dev/common/admin/option_acache.php @ 382

Revision 382, 3.1 KB (checked in by kovell, 13 years ago)

Admin setting clarifications, autoupgrade uses existing kill settings.

Line 
1<?php
2/*
3* This file contains the generic admin options in the new format
4* look here for some examples.
5*/
6
7options::cat('Advanced', 'Cache', 'Cache Control');
8options::fadd('Caching enabled', 'cache_enabled', 'checkbox');
9options::fadd('Cache directory', 'cache_dir', 'edit:size:40');
10options::fadd('Ignore pages', 'cache_ignore', 'edit:size:60');
11options::fadd('Cache times', 'cache_times', 'edit:size:60');
12
13options::cat('Advanced', 'Cache', 'Query Cache');
14options::fadd('Enable SQL-Query MemCache', 'cfg_memcache', 'checkbox');
15options::fadd('Memcached server', 'cfg_memcache_server', 'edit:size:50');
16options::fadd('Memcached port', 'cfg_memcache_port', 'edit:size:8');
17options::fadd('Halt on SQLError', 'cfg_sqlhalt', 'checkbox');
18options::fadd('Enable SQL-Query File Cache', 'cfg_qcache', 'checkbox', '', array('admin_acache', 'clearQCache'));
19
20options::cat('Advanced', 'Cache', 'Killmail Cache');
21options::fadd('Killmail Caching enabled','km_cache_enabled','checkbox');
22options::fadd('Killmail Cache directory', 'km_cache_dir', 'edit:size:40');
23options::fadd('Cached Killmails', 'none', 'custom', array('admin_acache', 'getKillmails'));
24
25options::cat('Advanced', 'Cache', 'Reinforce Control');
26options::fadd('Enable Reinforced Management', 'auto_reinforced', 'checkbox', '', array('admin_acache', 'setNotReinforced'));
27options::fadd('Current Load', 'none', 'custom', array('admin_acache', 'showLoad'));
28options::fadd('Reinforcement threshold', 'reinforced_threshold', 'edit:size:4');
29options::fadd('Disabling threshold', 'reinforced_disable_threshold', 'edit:size:4');
30options::fadd('Reinforcement chance (1/x)', 'reinforced_prob', 'edit:size:4');
31options::fadd('Reinforcement end chance (1/x)', 'reinforced_rf_prob', 'edit:size:4');
32
33class admin_acache
34{
35    function showLoad()
36    {
37        $load = @file_get_contents('/proc/loadavg');
38        if (false === $load)
39        {
40            return "Your web host does not allow access to the load metric. Reinforced mode will not work.";
41        }
42        else
43        {
44            $array = explode(' ', $load);
45            return (float)$array[0];
46        }
47    }
48
49    function getKillmails()
50    {
51        $count = 0;
52        if (config::get('km_cache_dir'))
53        {
54                $dir   = config::get('km_cache_dir');
55                if(is_dir($dir)) 
56                { 
57                        if($handle = opendir($dir)) 
58                        { 
59                                while(($file = readdir($handle)) !== false) 
60                                {
61                                        if (!is_dir($file)) $count++; 
62                                }
63                                closedir($handle);
64                        }
65                }
66        }
67        return $count;
68    }
69    function clearQCache()
70    {
71                    $dir = opendir(KB_CACHEDIR);
72                    while ($line = readdir($dir))
73                    {
74                        if (strstr($line, 'qcache_qry') !== false)
75                        {
76                            @unlink(KB_CACHEDIR.'/'.$line);
77                        }
78                        elseif (strstr($line, 'qcache_tbl') !== false)
79                        {
80                            @unlink(KB_CACHEDIR.'/'.$line);
81                        }
82                    }
83    }
84    function setNotReinforced()
85    {
86            config::set('is_reinforced', '0');
87    }
88}
89?>
Note: See TracBrowser for help on using the browser.