root/dev/common/admin.php @ 71

Revision 71, 7.1 KB (checked in by exi, 14 years ago)

Rearranged some code in the parser.
Added autoupgrade code to adress the -10.0 security issue.
Changed KillSummaryTable? to support an additional mode for lightning fast speed (3.3s -> 0.12s page generation for me), now using that mode in corp+alliance_detail.php.

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