root/dev/common/admin/option_generic.php @ 191

Revision 191, 6.1 KB (checked in by exi, 15 years ago)

Fixed a bug which prevented some options from beeing saved properly.
Added code to the http request class to support cookies.
Added a small summary option for the killsummarytables.
System location will now get classified in the battleparser too.

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('Appearance', 'Generic', 'Look and feel');
8options::fadd('Banner', 'style_banner', 'select', array('admin_generic', 'createSelectBanner'));
9options::fadd('Style', 'style_name', 'select', array('admin_generic', 'createSelectStyle'));
10
11options::cat('Appearance', 'Generic', 'Global Options');
12options::fadd('Display killpoints', 'kill_points', 'checkbox');
13options::fadd('Display losspoints', 'loss_points', 'checkbox');
14options::fadd('Display totalpoints', 'total_points', 'checkbox');
15options::fadd('Enable Comments', 'comments', 'checkbox');
16options::fadd('Require password for Comments', 'comments_pw', 'checkbox');
17options::fadd('Display Comment Count on Killlists', 'comments_count', 'checkbox');
18options::fadd('Display Standings', 'show_standings', 'checkbox');
19options::fadd('Enable Lost Item Values', 'item_values', 'checkbox');
20options::fadd('Use custom shipvalues', 'ship_values', 'checkbox');
21options::fadd('Display a link instead of POD on Battlesummary', 'bs_podlink', 'checkbox');
22options::fadd('Split up fitted items on Killmails', 'kill_splitfit', 'checkbox');
23options::fadd('Use gmdate instead of date', 'date_gmtime', 'checkbox');
24options::fadd('Classify kills for hours:', 'kill_classified', 'edit:size:4', '', '', '0 to disable, 1-24hrs');
25options::fadd('Display a summary line below a killsummarytable', 'summarytable_summary', 'checkbox');
26
27options::cat('Appearance', 'Generic', 'Posting');
28options::fadd('Post password', 'post_password', 'edit');
29options::fadd('Killmail CC', 'post_mailto', 'edit');
30options::fadd('Mailhost', 'post_mailhost', 'edit');
31options::fadd('Mailserver', 'post_mailserver', 'edit', '', '', 'This is the server where php connects to send the mail.');
32options::fadd('Disallow any killmails before', 'filter_date', 'custom', array('admin_generic', 'dateSelector'), array('admin_generic', 'postDateSelector'));
33options::fadd('Forbid posting', 'post_forbid', 'checkbox');
34options::fadd('Enable auto-addition of unknown Items', 'adapt_items', 'checkbox');
35options::fadd('ReAdd known killmails', 'readd_dupes', 'checkbox');
36
37class admin_generic
38{
39    function createSelectBanner()
40    {
41        $options = array();
42        $dir = "img/logo/";
43        if (is_dir($dir))
44        {
45            if ($dh = opendir($dir))
46            {
47                while (($file = readdir($dh)) !== false)
48                {
49                    $file = substr($file, 0, strpos($file, "."));
50                    if (!is_dir($dir.$file))
51                    {
52                        if (config::get('style_banner') == $file)
53                        {
54                            $state = 1;
55                        }
56                        else
57                        {
58                            $state = 0;
59                        }
60
61                        $options[] = array('value' => $file, 'descr' => $file, 'state' => $state);
62                    }
63                }
64                closedir($dh);
65            }
66        }
67        return $options;
68    }
69
70    function createSelectStyle()
71    {
72        $dir = "style/";
73        if (is_dir($dir))
74        {
75            if ($dh = opendir($dir))
76            {
77                while (($file = readdir($dh)) !== false)
78                {
79                    if (is_dir($dir.$file))
80                    {
81                        if ($file == "." || $file == ".." || $file == ".svn")
82                        {
83                            continue;
84                        }
85                        if (config::get('style_name') == $file)
86                        {
87                            $state = 1;
88                        }
89                        else
90                        {
91                            $state = 0;
92                        }
93
94                        $options[] = array('value' => $file, 'descr' => $file, 'state' => $state);
95                    }
96                }
97                closedir($dh);
98            }
99        }
100        return $options;
101    }
102
103    function dateSelector()
104    {
105        $apply = config::get('filter_apply');
106        $date = config::get('filter_date');
107
108        if ($date > 0)
109        {
110                $date = getdate($date);
111        }
112        else
113        {
114                $date = getdate();
115        }
116        $html = "<input type=\"text\" name=\"option[filter_day]\" id=\"option[filter_day]\" style=\"width:20px\" value=\"{$date['mday']}\"/>&nbsp;";
117        $html .= "<select name=\"option[filter_month]\" id=\"option[filter_month]\">";
118        for ($i = 1; $i <= 12; $i++)
119        {
120                $t = mktime(0, 0, 0, $i, 1, 1980);
121                $month = gmdate("M", $t);
122                if($date['mon'] == $i)
123            {
124                $selected = " selected=\"selected\"";
125            }
126            else
127            {
128                $selected = "";
129            }
130
131                $html .= "<option value=\"$i\"$selected>$month</option>";
132        }
133        $html .= "</select>&nbsp;";
134
135        $html .= "<select name=\"option[filter_year]\" id=\"option[filter_year]\">";
136        for ($i = gmdate("Y")-7; $i <= gmdate("Y"); $i++)
137        {
138                if ($date['year'] == $i)
139            {
140                $selected = " selected=\"selected\"";
141            }
142            else
143            {
144                $selected = "";
145            }
146                $html .= "<option value=\"$i\"$selected>$i</option>";
147        }
148        $html .= "</select>&nbsp;";
149        $html .= "<input type=\"checkbox\" name=\"option[filter_apply]\" id=\"option[filter_apply]\"";
150        if ($apply)
151        {
152            $html .= " checked=\"checked\"";
153        }
154        $html .= "/>Apply&nbsp;";
155        return $html;
156    }
157
158    function postDateSelector()
159    {
160        if ($_POST['option']['filter_apply'] == 'on')
161        {
162            config::set('filter_apply', '1');
163            config::set('filter_date', mktime(0, 0, 0, $_POST['option']['filter_month'], ($_POST['option']['filter_day'] > 31 ? 31 : $_POST['option']['filter_day']), $_POST['option']['filter_year']));
164        }
165        else
166        {
167                config::set('filter_apply', '0');
168                config::set('filter_date', 0);
169        }
170
171    }
172}
173?>
Note: See TracBrowser for help on using the browser.