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

Revision 340, 2.0 KB (checked in by beans, 14 years ago)

* Possibility to cache killmails (Admin->Cache)
* Changed installer step2 sitecheck

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', 'Killmail Cache');
14options::fadd('Killmail Caching enabled','km_cache_enabled','checkbox');
15options::fadd('Killmail Cache directory', 'km_cache_dir', 'edit:size:40');
16options::fadd('Cached Killmails', 'none', 'custom', array('admin_acache', 'getKillmails'));
17
18options::cat('Advanced', 'Cache', 'Reinforced');
19options::fadd('Enable Reinforced Management', 'auto_reinforced', 'checkbox');
20options::fadd('Current Load', 'none', 'custom', array('admin_acache', 'showLoad'));
21options::fadd('Reinforcement threshold', 'reinforced_threshold', 'edit:size:4');
22options::fadd('Disabling threshold', 'reinforced_disable_threshold', 'edit:size:4');
23options::fadd('Reinforcement chance', 'reinforced_prob', 'edit:size:4');
24options::fadd('Reinforcement end chance', 'reinforced_rf_prob', 'edit:size:4');
25
26class admin_acache
27{
28    function showLoad()
29    {
30        $load = @file_get_contents('/proc/loadavg');
31        if (false === $load)
32        {
33            return "Your web host does not allow access to the load metric. Reinforced mode will not work.";
34        }
35        else
36        {
37            $array = explode(' ', $load);
38            return (float)$array[0];
39        }
40    }
41
42    function getKillmails()
43    {
44        if (config::get('km_cache_dir'))
45        {
46                $dir   = config::get('km_cache_dir');
47                $count = 0;
48                if(is_dir($dir)) 
49                { 
50                        if($handle = opendir($dir)) 
51                        { 
52                        while(($file = readdir($handle)) !== false) 
53                        {
54                                $count++; 
55                        }
56                        closedir($handle);
57                        }
58                }
59                return $count - 2;
60        }
61        else
62        {
63                return 0;
64        }
65    }
66}
67?>
Note: See TracBrowser for help on using the browser.