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 6 - (hide annotations) (download) (as text)
Sun Feb 17 15:04:40 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: 22105 byte(s)
Commit release 1.1

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