root/dev/common/admin.php @ 30

Revision 30, 6.7 KB (checked in by exi, 15 years ago)

Added base killmail importer, it takes killmails from a specified directory, 1 mail per file.
Changed session interface to php, that reduces siteload by one mysql query and offers room for page variables.
Removed the need to enter a password to post comments if you're logged in as admin.

Line 
1<?php
2require_once("db.php");
3require_once("class.killboard.php");
4require_once("class.page.php");
5require_once("class.tabbedform.php");
6require_once("admin_menu.php");
7
8$killboard = new Killboard(KB_SITE);
9$page = new Page("Administration - Generic");
10$page->setAdmin();
11
12if ($_POST['submit'])
13{
14    $config->setStyleBanner($_POST['style_banner']);
15    $config->setStyleName($_POST['style_name']);
16    if ($_POST['kill_points'] == "on")
17    {
18        $killpoints = 1;
19    }
20    else
21    {
22        $killpoints = 0;
23    }
24    if ($_POST['least_active'] == "on")
25    {
26        $leastactive = 1;
27    }
28    else
29    {
30        $leastactive = 0;
31    }
32    $config->setKillPoints($killpoints);
33    $config->setLeastActive($leastactive);
34    if ($_POST['comments'] == "on")
35    {
36        require_once('autoupgrade.php');
37        check_commenttable();
38        $config->setConfig('comments', '1');
39    }
40    else
41    {
42        $config->setConfig('comments', '0');
43    }
44    if ($_POST['comments_pw'] == "on")
45    {
46        $config->setConfig('comments_pw', '1');
47    }
48    else
49    {
50        $config->setConfig('comments_pw', '0');
51    }
52    $config->setPostPassword($_POST['post_password']);
53    $config->setPostMailto($_POST['post_mailto']);
54
55    if ($_POST['filter_apply'] == "on")
56    {
57        $config->setConfig('filter_apply', '1');
58        $config->setConfig('filter_date', mktime(0, 0, 0, $_POST['filter_month'], ($_POST['filter_day'] > 31 ? 31 : $_POST['filter_day']), $_POST['filter_year']));
59    }
60    else
61    {
62        $config->setConfig('filter_apply', '0');
63        $config->setConfig('filter_date', 0);
64    }
65
66    $html .= "Changes saved.";
67}
68
69$html .= "<form id=options name=options method=post action=?a=admin>";
70$html .= "<div class=block-header2>Look and feel</div>";
71$html .= "<table class=kb-subtable>";
72$html .= "<tr><td width=120><b>Banner:</b></td><td><select id=style_banner name=style_banner>";
73
74$dir = "img/banners/";
75if (is_dir($dir))
76{
77    if ($dh = opendir($dir))
78    {
79        while (($file = readdir($dh)) !== false)
80        {
81            $file = substr($file, 0, strpos($file, "."));
82            if (!is_dir($dir . $file))
83            {
84                $html .= "<option value=\"" . $file . "\"";
85                if ($file == $config->getStyleBanner())
86                {
87                    $html .= " selected=\"selected\"";
88                }
89                $html .= ">" . $file . "</option>";
90            }
91        }
92        closedir($dh);
93    }
94}
95$html .= "<option value=\"custom\"";
96if ($config->getStyleBanner() == "custom")
97{
98    $html .= " selected=\"selected\"";
99}
100$html .= ">custom</option></select></td></tr>";
101$html .= "<tr><td width=120><b>Style:</b></td><td><select id=style_name name=style_name>";
102
103$dir = "style/";
104if (is_dir($dir))
105{
106    if ($dh = opendir($dir))
107    {
108        while (($file = readdir($dh)) !== false)
109        {
110            if (is_dir($dir . $file))
111            {
112                if ($file == "." || $file == ".." || $file == ".svn")
113                {
114                    continue;
115                }
116                $html .= "<option value=\"" . $file . "\"";
117                if ($file == $config->getStyleName())
118                {
119                    $html .= " selected=\"selected\"";
120                }
121                $html .= ">" . $file . "</option>";
122            }
123        }
124        closedir($dh);
125    }
126}
127$html .= "</select></td></tr>";
128$html .= "<tr><td></td></tr></table>";
129
130$html .= "<div class=block-header2>Global options</div>";
131$html .= "<table class=kb-subtable>";
132$html .= "<tr><td width=120><b>Display killpoints:</b></td><td><input type=checkbox name=kill_points id=kill_points";
133if ($config->getConfig('kill_points'))
134{
135    $html .= " checked=\"checked\"";
136}
137$html .= "></td></tr>";
138$html .= "<tr><td width=120><b>Enable Comments:</b></td><td><input type=checkbox name=comments id=comments";
139if ($config->getConfig('comments'))
140{
141    $html .= " checked=\"checked\"";
142}
143$html .= "></td></tr>";
144$html .= "<tr><td width=120><b>Require password for Comments:</b></td><td><input type=checkbox name=comments_pw id=comments_pw";
145if ($config->getConfig('comments_pw'))
146{
147        $html .= " checked=\"checked\"";
148}
149$html .= "></td></tr>";
150
151// $html .= "<tr><td width=120><b>Display least active:</b></td><td><input type=checkbox name=least_active id=least_active";
152// if ( $config->getLeastActive() )
153// $html .= " checked=\"checked\"";
154// $html .= "></td></tr>";
155$html .= "<tr><td></td></tr></table>";
156
157$html .= "<div class=block-header2>Posting</div>";
158$html .= "<table class=kb-subtable>";
159
160$html .= "<tr><td width=120><b>Post password:</b></td><td><input type=text name=post_password id=post_password size=20 maxlength=20 value=\"" . $config->getPostPassword() . "\"></td></tr>";
161$html .= "<tr><td width=120><b>Killmail CC:</b></td><td><input type=text name=post_mailto id=post_mailto size=20 maxlength=80 value=\"" . $config->getPostMailto() . "\"> (e-mail address)</td></tr>";
162$html .= "<tr><td width=120><b>Disallow any killmails before:</b></td><td>" . dateSelector($config->getConfig('filter_apply'), $config->getConfig('filter_date')) . "</td></tr>";
163$html .= "</table>";
164
165$html .= "<div class=block-header2>Save changes</div>";
166$html .= "<table class=kb-subtable>";
167
168$html .= "<tr><td width=120></td><td><input type=submit name=submit value=\"Save\"></td></tr>";
169$html .= "</table>";
170
171$html .= "</form>";
172
173$page->setContent($html);
174$page->addContext($menubox->generate());
175$page->generate();
176
177function dateSelector($apply, $date)
178{
179        if ($date > 0)
180    {
181                $date = getdate($date);
182        }
183    else
184    {
185                $date = getdate();
186        }
187        $html = "<input type=\"text\" name=\"filter_day\" id=\"filter_day\" style=\"width:20px\" value=\"{$date['mday']}\"/>&nbsp;";
188        $html .= "<select name=\"filter_month\" id=\"filter_month\">";
189        for ($i = 1; $i <= 12; $i++)
190    {
191                $t = mktime(0, 0, 0, $i, 1, 1980);
192                $month = date("M", $t);
193                if($date['mon'] == $i)
194        {
195            $selected = " selected=\"selected\"";
196        }
197        else
198        {
199            $selected = "";
200        }
201
202                $html .= "<option value=\"$i\"$selected>$month</option>";
203        }
204        $html .= "</select>&nbsp;";
205
206        $html .= "<select name=\"filter_year\" id=\"filter_year\">";
207        for ($i = date("Y")-7; $i <= date("Y"); $i++)
208    {
209                if ($date['year'] == $i)
210        {
211            $selected = " selected=\"selected\"";
212        }
213        else
214        {
215            $selected = "";
216        }
217                $html .= "<option value=\"$i\"$selected>$i</option>";
218        }
219        $html .= "</select>&nbsp;";
220        $html .= "<input type=checkbox name=filter_apply id=filter_apply";
221        if ($apply)
222    {
223        $html .= " checked=\"checked\"";
224    }
225        $html .= "/>Apply&nbsp;";
226        return $html;
227}
228?>
Note: See TracBrowser for help on using the browser.