subversion://[vpntest]/release/2.0/WWW/admin/index.php Log in
ViewVC logotype

Annotate of /release/2.0/WWW/admin/index.php

Parent Directory Parent Directory | Revision Log Revision Log

Revision 4 - (show annotations) (download) (as text)
Sun Feb 17 15:02:50 2008 MSK (12 years, 11 months ago) by vitalif
Original Path: head/WWW/admin/index.php
File MIME type: text/plain; charset=windows-1251
File size: 21313 byte(s)
Commit release 1.0

1 <!-- Заголовок страницы -->
2 <html>
3 <head>
4 <title>Администрирование</title>
5 <meta name="GENERATOR" content="VMX">
6 <meta name="description" content="Главная страница системы администрирования тестов">
7 <meta http-equiv=Content-Type content="text/html; charset=windows-1251">
8 <link rel="stylesheet" href="../styles.css">
9 <!-- Скрипт -->
10
11 <?php
12
13 // Интерфейс администрирования
14 // Copyright (c) 2006, Виталий Филиппов [VMX]
15
16 include_once '../lib/config.php';
17 include_once 'init.php';
18 include_once 'load.php';
19
20 import_request_variables ("gp", "req_");
21 mysql_start ();
22 // Выполняем команду
23 if (isset ($req_cmd))
24 {
25 if ($req_cmd == 'init')
26 {
27 $initres = init_database();
28 mysql_finish ();
29 if ($initres)
30 echo '<meta http-equiv=\'refresh\' content=\'0; url="/admin/?cok=0"\'>';
31 else echo '<meta http-equiv=\'refresh\' content=\'0; url="/admin/?cfail=0"\'>';
32 }
33 else if ($req_cmd == 'load')
34 {
35 $ldres = false;
36 if (isset ($_FILES['loadfilename']['tmp_name']) && $_FILES['loadfilename']['size'])
37 {
38 $quest = load_questions ($_FILES['loadfilename']['tmp_name']);
39 if ($quest)
40 {
41 if (isset ($req_loadoverwrite) && $req_loadoverwrite == 'on')
42 amysql_query ("TRUNCATE TABLE `$QuestionsTable`");
43 if (load_into_database ($QuestionsTable, $quest))
44 $ldres = true;
45 }
46 if (is_uploaded_file ($_FILES['loadfilename']['tmp_name']))
47 unlink ($_FILES['loadfilename']['tmp_name']);
48 }
49 mysql_finish ();
50 if ($ldres)
51 echo '<meta http-equiv=\'refresh\' content=\'0; url="/admin/?cok=1"\'>';
52 else echo '<meta http-equiv=\'refresh\' content=\'0; url="/admin/?cfail=1"\'>';
53 }
54 else if ($cmd == 'plustest' || $cmd == 'minustest' || $cmd == 'cleartest')
55 {
56 if ($cmd == 'plustest')
57 {
58 if (isset ($req_searchdate) && strlen ($req_searchdate) > 0)
59 {
60 $req_searchdate = mysql_escape_string ($req_searchdate);
61 $result = amysql_query ("UPDATE `$UsersTable` SET `testlimit`=`testlimit`+1 WHERE `date` >= '$req_searchdate'");
62 }
63 else
64 {
65 $subl = mysql_escape_string($req_searchlogin);
66 $result = amysql_query ("UPDATE `$UsersTable` SET `testlimit`=`testlimit`+1 WHERE !(INSTR(`login`,'$subl')=0)");
67 }
68 }
69 else if ($cmd == 'minustest')
70 {
71 if (isset ($req_searchdate) && strlen ($req_searchdate) > 0)
72 {
73 $req_searchdate = mysql_escape_string ($req_searchdate);
74 $result = amysql_query ("UPDATE `$UsersTable` SET `testlimit`=`testlimit`-1 WHERE `date` >= '$req_searchdate' AND `testlimit`>0");
75 }
76 else
77 {
78 $subl = mysql_escape_string($req_searchlogin);
79 $result = amysql_query ("UPDATE `$UsersTable` SET `testlimit`=`testlimit`-1 WHERE !(INSTR(`login`,'$subl')=0) AND `testlimit`>0");
80 }
81 }
82 else
83 {
84 if (isset ($req_searchdate) && strlen ($req_searchdate) > 0)
85 {
86 $req_searchdate = mysql_escape_string ($req_searchdate);
87 $result = amysql_query ("UPDATE `$UsersTable` SET `testlimit`=0 WHERE `date` >= '$req_searchdate'");
88 }
89 else
90 {
91 $subl = mysql_escape_string($req_searchlogin);
92 $result = amysql_query ("UPDATE `$UsersTable` SET `testlimit`=0 WHERE !(INSTR(`login`,'$subl')=0)");
93 }
94 }
95 mysql_finish ();
96 if ($result)
97 echo '<meta http-equiv=\'refresh\' content=\'0; url="/admin/?cok=2"\'>';
98 else echo '<meta http-equiv=\'refresh\' content=\'0; url="/admin/?cfail=2"\'>';
99 }
100 }
101
102 ?>
103
104 <!-- Продолжение статического содержимого -->
105 </head>
106 <body link="#000000" vlink="#000000" alink="#000000" bgcolor="#FFFFFF" text="#000000">
107 <table class="frmLoginText" style="border-color: black; border-width: 1; border-style: solid" width="700" bgcolor="#E0E0FF" align="center" cellspacing="0">
108 <tr><td align="center" bgcolor="#FFF0E0"><b><a href="/admin/"><font size="+1" color="#000000">Система администрирования тестирования слушателей</font></a></b><br>&nbsp;</td></tr>
109 </table><br>
110 <!-- Продолжение скрипта -->
111
112 <?php
113
114 // Если надо, выводим информацию о пользователях
115 if (isset ($req_cmd))
116 {
117 if ($req_cmd == 'users' || $req_cmd == 'prnusers')
118 {
119 if (isset ($req_searchdate) && strlen ($req_searchdate) > 0)
120 {
121 $req_searchdate = mysql_escape_string ($req_searchdate);
122 $result = amysql_query ("SELECT * FROM `$UsersTable` WHERE `date` >= '$req_searchdate' ORDER BY `lastname`, `firstname`, `thirdname`");
123 }
124 else
125 {
126 $subl = mysql_escape_string($req_searchlogin);
127 $result = amysql_query ("SELECT * FROM `$UsersTable` WHERE !(INSTR(`login`,'$subl')=0) ORDER BY `lastname`, `firstname`, `thirdname`");
128 }
129 if ($result && ($row = mysql_fetch_assoc ($result)))
130 {
131 echo '<table style="border-color: black; border-width: 1 1 0 1; border-style: solid" width="100%" align="center" cellspacing="0" class="frmLoginText">
132 <tr bgcolor="#FFE0FF">
133 <td style="border-width: 0 0 1 0; border-style: solid" align="center">№</td>
134 <td style="border-width: 0 0 1 1; border-style: solid" align="center">Логин</td>
135 <td style="border-width: 0 0 1 1; border-style: solid" align="center">+Тестов</td>
136 <td style="border-width: 0 0 1 1; border-style: solid" align="center">ФИО</td>
137 <td style="border-width: 0 0 1 1; border-style: solid" align="center">Город</td>
138 <td style="border-width: 0 0 1 1; border-style: solid" align="center">Организация</td>
139 <td style="border-width: 0 0 1 1; border-style: solid" align="center">Должность</td>
140 <td style="border-width: 0 0 1 1; border-style: solid" align="center">E-mail</td>
141 <td style="border-width: 0 0 1 1; border-style: solid" align="center">Телефон</td>
142 <td style="border-width: 0 0 1 1; border-style: solid" align="center" width="10%">Опыт работы с ViPNet</td>
143 <td style="border-width: 0 0 1 1; border-style: solid" align="center">Зарегистрирован</td>
144 <td style="border-width: 0 0 1 1; border-style: solid" align="center">Результат</td>
145 </tr>';
146 $usi = 1;
147 do
148 {
149 $result2 = amysql_query ("SELECT `result`, CHAR_LENGTH(`answers`) FROM `$ResultsTable` WHERE `uid`=${row['id']} ORDER BY -`date`,-`time` LIMIT 1");
150 $row2 = false; if ($result2) $row2 = mysql_fetch_row ($result2);
151 echo "<tr>
152 <td style=\"border-width: 0 0 1 0; border-style: solid\" align=\"center\">$usi</td>
153 <td style=\"border-width: 0 0 1 1; border-style: solid\" align=\"center\">" . ($req_cmd != 'prnusers' ? "<a href=\"javascript:void escape(searchusers.searchlogin.value='${row['login']}');\">" : '') . "${row['login']}" . ($req_cmd != 'prnusers' ? "</a>" : '') . "</td>
154 <td style=\"border-width: 0 0 1 1; border-style: solid\" align=\"center\">${row['testlimit']}</td>
155 <td style=\"border-width: 0 0 1 1; border-style: solid\" align=\"center\">${row['lastname']} ${row['firstname']} ${row['thirdname']}</td>
156 <td style=\"border-width: 0 0 1 1; border-style: solid\" align=\"center\">${row['town']}</td>
157 <td style=\"border-width: 0 0 1 1; border-style: solid\" align=\"center\">${row['firm']}</td>
158 <td style=\"border-width: 0 0 1 1; border-style: solid\" align=\"center\">${row['position']}</td>
159 <td style=\"border-width: 0 0 1 1; border-style: solid\" align=\"center\">${row['email']}</td>
160 <td style=\"border-width: 0 0 1 1; border-style: solid\" align=\"center\">${row['phone']}</td>
161 <td style=\"border-width: 0 0 1 1; border-style: solid\" align=\"center\">${row['vipnet']}</td>
162 <td style=\"border-width: 0 0 1 1; border-style: solid\" align=\"center\">${row['date']}<br>${row['time']}</td>
163 <td style=\"border-width: 0 0 1 1; border-style: solid\" align=\"center\">" . ($row2 !== false ? floor(100*$row2[0]/$row2[1]) . '%<br>(' . $row2[0] . '/' . $row2[1] . ')' : '') . ($req_cmd != 'prnusers' ? " <a href=\"/admin/?cmd=results&uid=${row['id']}\">...</a>" : '') . "&nbsp;</td>
164 </tr>";
165 $usi++;
166 } while ($row = mysql_fetch_assoc ($result));
167 echo '</table>';
168 $cmdtail = (isset($req_searchdate) && strlen ($req_searchdate) > 0 ? 'searchdate=' . urlencode($req_searchdate) : 'searchlogin=' . urlencode($req_searchlogin));
169 if ($req_cmd != 'prnusers')
170 echo '<table class="frmLoginText" style="border-color: black; border-width: 0 1 1 1; border-style: solid" bgcolor="#E0E0FF" align="center" cellspacing="0">' .
171 '<tr><td><input type="button" class="frmLoginButton" value="Дать +1 тест" onClick="navigate(\'/admin/?cmd=plustest&' . $cmdtail . '\');"></td><td></td>' .
172 '<td><input type="button" class="frmLoginButton" value="Отнять 1 тест" onClick="navigate(\'/admin/?cmd=minustest&' . $cmdtail . '\');"></td><td></td>' .
173 '<td><input type="button" class="frmLoginButton" value="Убрать тесты" onClick="if (confirm(\'Действительно отнять у выбранных пользователей возможность проходить тесты (до разрешения)?\')) navigate(\'/admin/?cmd=cleartest&' . $cmdtail . '\');"></td><td></td>' .
174 '<td><input type="button" class="frmLoginButton" value="Версия для печати" onClick="navigate(\'/admin/?cmd=prnusers&' . $cmdtail . '\');"></td><td></td>' .
175 '<td><input type="button" class="frmLoginButton" value="Тесты подробно" onClick="navigate(\'/admin/?cmd=prntests&' . $cmdtail . '\');"></td><td></td></tr>' .
176 '</table><br>';
177 else
178 {
179 echo '<p class="frmLoginText" align="center"><a href="/admin/?cmd=users&' . $cmdtail . '">Назад</a></p></body></html>';
180 exit;
181 }
182 }
183 else if (!$result)
184 $req_cfail = 10;
185 else $req_cfail = 11;
186 }
187 else if (($req_cmd == 'results' || $req_cmd == 'prnresults') && isset ($req_uid))
188 {
189 // Выдаём таблицу результатов ...
190 $result = amysql_query ("SELECT * FROM `$UsersTable` WHERE `id`=$req_uid LIMIT 1");
191 $row = mysql_fetch_assoc ($result);
192 echo "<table width=\"700\" bgcolor=\"#E0E0FF\" cellspacing=\"0\" style=\"border-color: black; border-width: 1 1 0 1; border-style: solid\" align=\"center\" class=\"frmLoginText\">"
193 . "<tr><td bgcolor=\"#F0F0FF\" style=\"border-width: 0 0 0 0; border-style: solid\"><p style=\"margin: 2 2 0 2\">ФИО</p></td><td bgcolor=\"#F0F0FF\"><p style=\"margin: 2 2 0 2\">${row['lastname']} ${row['firstname']} ${row['thirdname']}</p></td></tr>"
194 . "<tr><td bgcolor=\"#E0E0FF\" style=\"border-width: 0 0 0 0; border-style: solid\"><p style=\"margin: 2 2 0 2\">Город</p></td><td><p style=\"margin: 2 2 0 2\">${row['town']}</p></td></tr>"
195 . "<tr><td bgcolor=\"#F0F0FF\" style=\"border-width: 0 0 0 0; border-style: solid\"><p style=\"margin: 2 2 0 2\">Организация</p></td><td bgcolor=\"#F0F0FF\"><p style=\"margin: 2 2 0 2\">${row['firm']}</p></td></tr>"
196 . "<tr><td bgcolor=\"#E0E0FF\" style=\"border-width: 0 0 0 0; border-style: solid\"><p style=\"margin: 2 2 0 2\">Должность</p></td><td><p style=\"margin: 2 2 0 2\">${row['position']}</p></td></tr>"
197 . "<tr><td bgcolor=\"#F0F0FF\" style=\"border-width: 0 0 0 0; border-style: solid\"><p style=\"margin: 2 2 0 2\">E-mail</p></td><td bgcolor=\"#F0F0FF\"><p style=\"margin: 2 2 0 2\">${row['email']}</p></td></tr>"
198 . "<tr><td bgcolor=\"#E0E0FF\" style=\"border-width: 0 0 0 0; border-style: solid\"><p style=\"margin: 2 2 0 2\">Телефон</p></td><td><p style=\"margin: 2 2 0 2\">${row['phone']}</p></td></tr>"
199 . "<tr><td bgcolor=\"#F0F0FF\" style=\"border-width: 0 0 0 0; border-style: solid\"><p style=\"margin: 2 2 0 2\">Опыт работы с ViPNet</p></td><td bgcolor=\"#F0F0FF\"><p style=\"margin: 2 2 0 2\">${row['vipnet']}</p></td></tr>"
200 . "<tr><td bgcolor=\"#E0E0FF\" style=\"border-width: 0 0 0 0; border-style: solid\"><p style=\"margin: 2 2 0 2\">Зарегистрирован</p></td><td><p style=\"margin: 2 2 0 2\">${row['date']} ${row['time']}</p></td></tr>"
201 . "<tr><td bgcolor=\"#F0F0FF\" style=\"border-width: 0 0 0 0; border-style: solid\"><p style=\"margin: 2 2 0 2\">Логин</p></td><td bgcolor=\"#F0F0FF\"><p style=\"margin: 2 2 0 2\">${row['login']}</p></td></tr>";
202 $result = amysql_query ("SELECT CHAR_LENGTH(`answers`), `date`, `time`, `result`, `answers`, `varid` FROM `$ResultsTable` WHERE `uid`=$req_uid ORDER BY -`date`, -`time`");
203 $row2 = mysql_fetch_assoc ($result);
204 $lastrow_d = 0;
205 if ($result || !$row2)
206 $lastrow_d = 1;
207 echo "<tr><td bgcolor=\"#E0E0FF\" style=\"border-width: 0 0 $lastrow_d 0; border-style: solid\"><p style=\"margin: 2 2 2 2\">Осталось тестов</p></td><td style=\"border-width: 0 0 $lastrow_d 0; border-style: solid\"><p style=\"margin: 2 2 2 2\">${row['testlimit']}</p></td></tr></table><br>";
208 $row = $row2;
209 if ($result && $row)
210 {
211 $crcnt = 1 + $row['CHAR_LENGTH(`answers`)'] - 1;
212 echo '<table class="frmLoginText" cellspacing="0" style="border-color: black; border-width: 1; border-style: solid" align="center" width="700" bgcolor="#F0F0FF">';
213 echo '<tr><td bgcolor="#E0E0FF" width="25%" style="border-width: 0 1 1 0; border-style: solid" align="center">Вариант теста</td><td width="25%" bgcolor="#E0E0FF" style="border-width: 0 1 1 0; border-style: solid" align="center">Время</td><td width="25%" bgcolor="#E0E0FF" style="border-width: 0 1 1 0; border-style: solid" align="center">Дата</td><td width="25%" bgcolor="#E0E0FF" style="border-width: 0 0 1 0; border-style: solid" align="center">Результат</td></tr>';
214 do
215 {
216 $crres = 1 + $row['result'] - 1;
217 $crper = 100 * $crres / $crcnt;
218 echo "<tr><td align=\"center\">${row['varid']}</td><td align=\"center\">${row['time']}</td><td align=\"center\">${row['date']}</td><td align=\"center\">$crper% ($crres / $crcnt)</td></tr>";
219 } while ($row = mysql_fetch_assoc ($result));
220 echo '</table>';
221 }
222 if ($cmd != 'prnresults')
223 echo '<p class="frmLoginText" align="center"><a href="/admin/?cmd=prnresults&uid=' . $req_uid . '">Версия для печати</a>&nbsp; &nbsp; <a href="javascript:history.back();">Назад</a></p></body></html>';
224 else
225 {
226 echo '<p class="frmLoginText" align="center"><a href="javascript:history.back();">Назад</a></p></body></html>';
227 exit;
228 }
229 }
230 else if ($cmd == 'prntests')
231 {
232 if (isset ($req_searchdate) && strlen ($req_searchdate) > 0)
233 {
234 $req_searchdate = mysql_escape_string ($req_searchdate);
235 $result = amysql_query ("SELECT t1.lastname, t1.firstname, t1.thirdname, t2.* FROM `$UsersTable` AS t1, `$ResultsTable` AS t2 WHERE t1.date >= '$req_searchdate' AND t2.uid=t1.id ORDER BY t1.lastname, t1.firstname, t1.thirdname, -t2.date, -t2.time");
236 }
237 else
238 {
239 $subl = mysql_escape_string($req_searchlogin);
240 $result = amysql_query ("SELECT t1.lastname, t1.firstname, t1.thirdname, t2.* FROM `$UsersTable` AS t1, `$ResultsTable` AS t2 WHERE !(INSTR(t1.login,'$subl')=0) AND t2.uid=t1.id ORDER BY t1.lastname, t1.firstname, t1.thirdname, -t2.date, -t2.time");
241 }
242 $cmdtail = (isset($req_searchdate) && strlen ($req_searchdate) > 0 ? 'searchdate=' . urlencode($req_searchdate) : 'searchlogin=' . urlencode($req_searchlogin));
243 if ($row = mysql_fetch_assoc ($result))
244 {
245 echo '<table width="700" bgcolor="#FFF0E0" cellspacing="0" style="border-color: black; border-width: 1 1 1 1; border-style: solid" align="center" class="frmLoginText">';
246 $msg = 'Показаны неверные ответы выбранных пользователей';
247 if (!isset ($req_nohide))
248 $msg .= ' <a href="?cmd=prntests&' . $cmdtail . '&nohide">(+ неотвеченные...)</a>';
249 else $msg = 'Показаны неверные и неотвеченные ответы выбранных пользователей <a href="?cmd=prntests&' . $cmdtail . '">(-)</a>';
250 if (!isset ($req_showall))
251 $msg .= ' <a href="?cmd=prntests&' . $cmdtail . '&nohide&showall">(все...)</a>';
252 else
253 {
254 if (isset ($req_nohide))
255 $msg = 'Показаны <i>все</i> ответы выбранных пользователей <a href="?cmd=prntests&' . $cmdtail . '&nohide">(- правильные)</a> <a href="?cmd=prntests&' . $cmdtail . '">(-)</a>';
256 else $msg = 'Показаны ответы выбранных пользователей';
257 }
258 echo '<tr><td colspan="2" bgcolor="#E0E0FF" align="center"><b>' . $msg . '</b></td></tr>';
259 $notfirst = 0;
260 while ($row)
261 {
262 echo '<tr><td bgcolor="#E0E0FF" style="border-width: 1 0 1 0; border-style: solid; border-color: black"><b>' . $row['lastname'] . ' ' . $row ['firstname'] . ' ' . $row ['thirdname'] . ': ' . floor (100 * $row['result'] / strlen ($row ['answers'])) . '%</b></td><td width="150" align="right" bgcolor="#E0E0FF" style="border-width: 1 0 1 0; border-style: solid; border-color: black"><b>' . $row ['date'] . ' ' . $row ['time'] . '</b></td></tr>';
263 $res2 = amysql_query ("SELECT * FROM `$QuestionsTable` WHERE `varid`=${row['varid']} ORDER BY `id`");
264 $quests = array ();
265 while ($row2 = mysql_fetch_assoc ($res2))
266 {
267 $quests [$row2['id']] = $row2;
268 $quests [$row2['id']]['answer0'] = 'не отвечено';
269 }
270 $allanswers = true;
271 $noshown = true;
272 $i = 0;
273 foreach ($quests as $cq)
274 {
275 if (strlen ($row ['answers']) > $i)
276 {
277 if ($row['answers']{$i} != $cq['rightanswer'])
278 {
279 $allanswers = false;
280 if ($row['answers']{$i} != 0 || isset ($req_nohide))
281 {
282 echo '<tr><td colspan="2">' . $cq ['id'] . '. ' . $cq ['question'] . ' => <font color=red>' . $cq ['answer' . $row['answers']{$i}] . '</font></td></tr>';
283 $noshown = false;
284 }
285 }
286 else if (isset ($req_showall))
287 {
288 echo '<tr><td colspan="2">' . $cq ['id'] . '. ' . $cq ['question'] . ' => <font color=blue>' . $cq ['answer' . $row['answers']{$i}] . '</font></td></tr>';
289 $noshown = false;
290 }
291 }
292 }
293 if ($allanswers)
294 echo '<tr><td colspan="2">Пользователь ответил на <b>все</b> вопросы правильно! Молодец :)</td></tr>';
295 else if ($noshown)
296 echo '<tr><td colspan="2">Пользователь не отвечал ни на один вопрос :(</td></tr>';
297 $row = mysql_fetch_assoc ($result);
298 $notfirst = 1;
299 }
300 echo '</table>';
301 }
302 echo '<p class="frmLoginText" align="center">Внимание: для корректного вывода информации текущие вопросы в БД должны соответствовать тем, на которые отвечали выбранные пользователи<br><a href="?cmd=users&' . $cmdtail . '">Назад</a></p></body></html>';
303 exit;
304 }
305 }
306
307 mysql_finish ();
308
309 ?>
310
311 <?php
312 if (isset ($req_cok) || isset ($req_cfail))
313 {
314 echo '<table class="frmLoginText" style="border-color: black; border-width: 1; border-style: solid" width="700" bgcolor="#E0E0FF" align="center" cellspacing="0"><tr><td align="center" bgcolor="#FFC0C0">Результат операции: ';
315 if (isset ($req_cok))
316 {
317 if ($req_cok == 0)
318 echo 'Инициализация БД прошла успешно.';
319 else if ($req_cok == 1)
320 echo 'Файл успешно загружен в БД.';
321 else if ($req_cok == 2)
322 echo 'Количество предписанных тестов успешно изменено.';
323 }
324 else
325 {
326 if ($req_cfail == 0)
327 echo 'При инициализации БД произошла ошибка.';
328 else if ($req_cfail == 1)
329 echo 'При загрузке файла в БД произошла ошибка.';
330 else if ($req_cfail == 2)
331 echo 'Ошибка изменения количества предписанных тестов.';
332 else if ($req_cfail == 10)
333 echo 'Ошибка запроса к БД при выводе списка пользователей.';
334 else if ($req_cfail == 11)
335 echo 'Таких пользователей нет.';
336 }
337 echo '</td></tr></table><br>';
338 }
339 ?>
340 <!-- Статика -->
341 <table class="frmLoginText" style="border-color: black; border-width: 1; border-style: solid" width="700" bgcolor="#E0E0FF" align="center" cellspacing="0">
342 <tr><td align="center" bgcolor="#FFF0E0" style="border-width: 0 0 1 0; border-style: solid"><b>Возможные операции</b><br>&nbsp;</td></tr>
343 <tr><td align="center"><b>Вывод информации о пользователях</b><br>&nbsp;</td></tr>
344 <form name="searchusers" action="?cmd=users" method="POST">
345 <tr><td align="center">Логин (пустой=все): <input class="frmLoginEdit" type="text" maxlength="256" name="searchlogin"></td></tr>
346 <tr><td align="center" colspan="2"><b>или зарегистрировавшиеся:</b></td></tr>
347 <tr><td align="center">После YYYY-MM-DD: <input class="frmLoginEdit" type="text" maxlength="256" name="searchdate"></td></tr>
348 <tr><td align="center" style="border-width: 0 0 1 0; border-style: solid"><input name="searchusers" class="frmLoginButton" type="submit" value="Искать пользователей"></td></tr>
349 </form>
350 <tr><td align="center"><b>Загрузка вопросов из текстового файла</b><br>&nbsp;</td></tr>
351 <form name="loadquestfile" action="?cmd=load" enctype="multipart/form-data" method="POST">
352 <tr><td align="center"><input type="hidden" name="MAX_FILE_SIZE" value="5242880">Файл: <input class="frmLoginEdit" type="file" name="loadfilename"></td></tr>
353 <tr><td align="center"><input type="checkbox" name="loadoverwrite"> Перезаписать БД вопросов</td></tr>
354 <tr><td align="center" style="border-width: 0 0 1 0; border-style: solid"><input name="loadqas" class="frmLoginButton" type="button" value="Загрузить вопросы в БД" onClick="if(document.loadquestfile.loadfilename.value != '') document.loadquestfile.submit(); else alert ('Выберите файл');"></td></tr>
355 </form>
356 <tr><td align="center"><b>Инициализация / очистка базы данных</b><br>&nbsp;</td></tr>
357 <tr><td align="center" style="border-width: 0 0 1 0; border-style: solid"><form><input class="frmLoginButton" type="button" value="Инициализировать БД" onClick="if(confirm('Действительно инициализировать БД заново и стереть все её текущее содержимое, ВКЛЮЧАЯ данные о пользователях и их результатах?')) { navigate('/admin/?cmd=init'); }"></form></td></tr>
358 <tr><td align="center" bgcolor="#FFF0E0">Powered by VMX, 2006</td></tr>
359 </table>
360 </body>
361 </html>
362 <!-- А здесь совсем конец -->