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

Diff of /release/2.0/WWW/index.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 4 by vitalif, Sun Feb 17 15:02:50 2008 MSK Revision 6 by vitalif, Sun Feb 17 15:04:40 2008 MSK
# Line 1  Line 1 
 <!-- Заголовок страницы -->  
 <html>  
 <head>  
 <title>Администрирование</title>  
 <meta name="GENERATOR" content="VMX">  
 <meta name="description" content="Главная страница системы администрирования тестов">  
 <meta http-equiv=Content-Type content="text/html; charset=windows-1251">  
 <link rel="stylesheet" href="../styles.css">  
 <!-- Скрипт -->  
   
1  <?php  <?php
2    
3  // Интерфейс администрирования  // Интерфейс аутентификации + тестирования
4  // Copyright (c) 2006, Виталий Филиппов [VMX]  // Copyright (c) 2006, Виталий Филиппов [VMX]
5    
6  include_once '../lib/config.php';  include_once 'lib/config.php';
7  include_once 'init.php';  include_once 'lib/auth_sc.php';
8  include_once 'load.php';  error_reporting (E_ALL & ~E_NOTICE);
   
 import_request_variables ("gp", "req_");  
9  mysql_start ();  mysql_start ();
10  // Выполняем команду  
11  if (isset ($req_cmd))  function delnull (&$a)
 {  
         if ($req_cmd == 'init')  
         {  
                 $initres = init_database();  
                 mysql_finish ();  
                 if ($initres)  
                         echo '<meta http-equiv=\'refresh\' content=\'0; url="/admin/?cok=0"\'>';  
                 else echo '<meta http-equiv=\'refresh\' content=\'0; url="/admin/?cfail=0"\'>';  
         }  
         else if ($req_cmd == 'load')  
12          {          {
13                  $ldres = false;          for ($i = 0; $i < count ($a); $i++)
                 if (isset ($_FILES['loadfilename']['tmp_name']) && $_FILES['loadfilename']['size'])  
14                  {                  {
15                          $quest = load_questions ($_FILES['loadfilename']['tmp_name']);                  if (strlen($a[$i]) == 0)
                         if ($quest)  
16                          {                          {
17                                  if (isset ($req_loadoverwrite) && $req_loadoverwrite == 'on')                          for ($j = $i; $j < count ($a)-1; $j++)
18                                          amysql_query ("TRUNCATE TABLE `$QuestionsTable`");                                  $a[$j] = $a[$j+1];
19                                  if (load_into_database ($QuestionsTable, $quest))                          unset ($a[count($a)-1]);
                                         $ldres = true;  
20                          }                          }
                         if (is_uploaded_file ($_FILES['loadfilename']['tmp_name']))  
                                 unlink ($_FILES['loadfilename']['tmp_name']);  
21                  }                  }
                 mysql_finish ();  
                 if ($ldres)  
                         echo '<meta http-equiv=\'refresh\' content=\'0; url="/admin/?cok=1"\'>';  
                 else echo '<meta http-equiv=\'refresh\' content=\'0; url="/admin/?cfail=1"\'>';  
22          }          }
23          else if ($cmd == 'plustest' || $cmd == 'minustest' || $cmd == 'cleartest')  
24          {  function putFrmLogin ($login_incorrect)
                 if ($cmd == 'plustest')  
                 {  
                         if (isset ($req_searchdate) && strlen ($req_searchdate) > 0)  
                         {  
                                 $req_searchdate = mysql_escape_string ($req_searchdate);  
                                 $result = amysql_query ("UPDATE `$UsersTable` SET `testlimit`=`testlimit`+1 WHERE `date` >= '$req_searchdate'");  
                         }  
                         else  
25                          {                          {
26                                  $subl = mysql_escape_string($req_searchlogin);          global $phpbb_path;
27                                  $result = amysql_query ("UPDATE `$UsersTable` SET `testlimit`=`testlimit`+1 WHERE !(INSTR(`login`,'$subl')=0)");          $str = query_str_replace ($_SERVER['QUERY_STRING'], 'logout', '');
28                          }  echo "<form action=\"?$str\" method=\"POST\">
29    <table bgcolor=\"#E0E0FF\" width=\"700\" align=\"center\">\n";
30            if ($login_incorrect)
31                    echo "<tr><td align=\"center\" colspan=2><p class=\"frmLoginText\">Данные неверны</p></td></tr>";
32    echo "<tr>
33    <td width=\"40%\"><p align=\"right\" class=\"frmLoginText\">Логин:</p></td>
34    <td><input name=\"loginedit\" type=\"text\" maxlength=\"256\" class=\"frmLoginEdit\"></td>
35    </tr>
36    <tr>
37    <td><p align=\"right\" class=\"frmLoginText\">Пароль:</p></td>
38    <td><input name=\"passedit\" type=\"password\" maxlength=\"256\" class=\"frmLoginEdit\"></td>
39    </tr>
40    <tr><td align=\"center\" colspan=2><input type=\"submit\" value=\"Вход\" class=\"frmLoginButton\"></td></tr>
41    <tr><td align=\"center\" colspan=2><p class=\"frmLoginText\"><font size=\"-1\"><a href=\"/register.php\">Зарегистрироваться</a></font></p></td></tr>
42    </table>
43    </form>\n";
44                  }                  }
45                  else if ($cmd == 'minustest')  
46                  {  function putFrmLogout ($name, $lobtn)
                         if (isset ($req_searchdate) && strlen ($req_searchdate) > 0)  
47                          {                          {
48                                  $req_searchdate = mysql_escape_string ($req_searchdate);          $str = query_str_add ($_SERVER['QUERY_STRING'], 'logout');
49                                  $result = amysql_query ("UPDATE `$UsersTable` SET `testlimit`=`testlimit`-1 WHERE `date` >= '$req_searchdate' AND `testlimit`>0");          echo "<table bgcolor=\"#FFF0E0\" width=\"700\" align=\"center\">
50    <tr><td align=\"center\"><p class=\"frmLoginText\">Здравствуйте, $name!</p></td></tr>
51    <tr><td align=\"center\">";
52            if ($lobtn)
53                    echo "<form action=\"?$str\" method=\"POST\"><input type=\"submit\" value=\"Выход\" class=\"frmLoginButton\"></form>";
54            echo "</td></tr></table>";
55                          }                          }
56                          else  
57    function t_err ($str)
58                          {                          {
59                                  $subl = mysql_escape_string($req_searchlogin);          echo '<p align="center">' . $str . '</p>';
60                                  $result = amysql_query ("UPDATE `$UsersTable` SET `testlimit`=`testlimit`-1 WHERE !(INSTR(`login`,'$subl')=0) AND `testlimit`>0");          exit;
                         }  
61                  }                  }
62                  else  
63                  {  function Testing ()
                         if (isset ($req_searchdate) && strlen ($req_searchdate) > 0)  
64                          {                          {
65                                  $req_searchdate = mysql_escape_string ($req_searchdate);          global $result, $QuestionsTable, $ResultsTable, $UsersTable;
66                                  $result = amysql_query ("UPDATE `$UsersTable` SET `testlimit`=0 WHERE `date` >= '$req_searchdate'");          global $MatrixWidth, $TriesCount, $TimeLimit;
67            global $Domain, $VLoginSession;
68            global $req_cmd, $req_where, $req_display;
69            session_name ($VLoginSession);
70            session_set_cookie_params (-1, '/', '.' . $Domain);
71            @session_start ();
72            $cur_user_id = get_auth_id ();
73            // Выполняем команды начала/конца
74            if (isset ($req_cmd) && $req_cmd == 'start' && !(isset ($_SESSION['TestStarted']) && $_SESSION['TestStarted'] == 1))
75            {
76                    // Считываем, сколько ему вообще ещё можно
77                    $curuid = get_auth_id ();
78                    $result = amysql_query ("SELECT `testlimit` FROM `$UsersTable` WHERE `id`='$curuid' LIMIT 1");
79                    if (!$result) t_err ("Внутренняя ошибка");
80                    $row = mysql_fetch_row ($result);
81                    $testlimit = 1 + $row [0] - 1;
82                    if ($testlimit <= 0)
83                            t_err ("Попытка взлома!");
84                    // Считываем количество вариантов
85                    $result = amysql_query ("SELECT MAX(`varid`) FROM `$QuestionsTable`");
86                    if (!$result) t_err ("Внутренняя ошибка");
87                    $row = mysql_fetch_row ($result);
88                    $varcount = 1 + $row[0] - 1;
89                    // Рандомим вариант
90                    $vr = $_SESSION['TestVar'] = rand (1, $varcount);
91                    $_SESSION['TestVarCount'] = $varcount;
92                    // Считываем количество вопросов этого варианта
93                    $result = amysql_query ("SELECT COUNT(`id`) FROM `$QuestionsTable` WHERE `varid`=$vr");
94                    if (!$result) t_err ("Внутренняя ошибка");
95                    $row = mysql_fetch_row ($result);
96                    $qn = 1 + $row [0] - 1;
97                    if ($qn <= 0) t_err ("Неизвестный вариант или БД вопросов пуста.");
98                    $_SESSION['TestQCount'] = $qn;
99                    // Уменьшаем лимит
100                    $result = amysql_query ("UPDATE `$UsersTable` SET `testlimit`=`testlimit`-1 WHERE `id`='$curuid' LIMIT 1");
101                    if (!$result) t_err ("Внутренняя ошибка");
102                    // Делаем выборку
103                    for ($i = 0; $i < $qn; $i++)
104                            $flg [$i] = false;
105                    for ($i = 0; $i < $qn; $i++)
106                    {
107                            $rnd = rand (0, $qn-$i-1);
108                            for ($j = 0, $r = -1; $j < $rnd+1; $j++)
109                                    do { $r++; } while ($flg [$r]);
110                            $flg [$r] = true;
111                            $_SESSION ["TestQ$i"] = $r;
112                            $_SESSION ["TestA$i"] = 0; // не отвечено
113                            $_SESSION ["TestT$i"] = 0; // количество попыток
114                    }
115                    $_SESSION['TestStartTime'] = time();
116                    $_SESSION['TestStarted'] = 1;
117                    $_SESSION['TestCurQ'] = 0;
118            }
119            else if (isset ($_SESSION['TestStarted']) && $_SESSION['TestStarted'] == 1 &&
120                         ((isset ($req_cmd) && $req_cmd == 'end') || (isset($TimeLimit) && $TimeLimit > 0 && time () > $_SESSION ['TestStartTime'] + $TimeLimit))) // здесь заложен автовыход по времени
121            {
122                    $vr = $_SESSION['TestVar'];
123                    $vqn = $_SESSION['TestQCount'];
124                    // Сначала выстраиваем "правильный" массив
125                    for ($vqi = 0; $vqi < $vqn; $vqi++)
126                            $res [$_SESSION["TestQ$vqi"]] = $_SESSION["TestA$vqi"];
127                    // И строку для БД
128                    $resstr = '';
129                    for ($vqi = 0; $vqi < $vqn; $vqi++)
130                            $resstr .= $res [$vqi];
131                    // Вычисляем количество верных ответов
132                    $result = amysql_query ("SELECT * FROM `$QuestionsTable` WHERE `varid`=$vr ORDER BY `id`");
133                    if (!$result) t_err ("Внутренняя ошибка");
134                    for ($rescount = 0, $vqi = 0; $vqi < $vqn; $vqi++)
135                    {
136                            $arr = mysql_fetch_assoc ($result);
137                            if ($res [-1+$arr['id']] == $arr['rightanswer'])
138                                    $rescount++;
139                    }
140                    $respercent = 100 * $rescount / $vqn;
141                    // Заносим результаты в БД
142                    $curdate = date ("Y-m-d");
143                    $curtime = date ("H:i:s");
144                    $result = amysql_query ("INSERT INTO `$ResultsTable` SET `id`=DEFAULT, `uid`=$cur_user_id, `varid`=$vr, `date`='$curdate', `time`='$curtime', `answers`='$resstr', `result`=$rescount");
145                    if (!$result) t_err ("Внутренняя ошибка");
146                    // Убиваем все использованные переменные уровня сессии
147                    for ($vqi = 0; $vqi < $vqn; $vqi++)
148                    {
149                            unset ($_SESSION["TestQ$vqi"]);
150                            unset ($_SESSION["TestA$vqi"]);
151                            unset ($_SESSION["TestT$vqi"]);
152                    }
153                    unset ($_SESSION["TestAllA"]);
154                    unset ($_SESSION['TestStarted']);
155                    unset ($_SESSION['TestCurQ']);
156                    unset ($_SESSION['TestQCount']);
157                    unset ($_SESSION['TestVar']);
158                    unset ($_SESSION['TestVarCount']);
159                    // Выводим результат
160                    echo '<table bgcolor="#FFF0E0" width="700" cellspacing="1" class="frmLoginText" align="center">';
161                    if (isset($TimeLimit) && $TimeLimit > 0 && time () > $_SESSION ['TestStartTime'] + $TimeLimit)
162                            echo "<tr><td align=\"center\">Ваше время вышло.</td></tr>";
163                    echo "<tr><td align=\"center\">Ваш результат: $rescount = ${respercent}%.</td></tr>";
164                    echo '</table>';
165                    unset ($_SESSION['TestStartTime']);
166                          }                          }
167                          else          // Тестирование уже начато
168            if (isset ($_SESSION['TestStarted']) && $_SESSION['TestStarted'] == 1)
169                          {                          {
170                                  $subl = mysql_escape_string($req_searchlogin);                  $vr = $_SESSION['TestVar'];
171                                  $result = amysql_query ("UPDATE `$UsersTable` SET `testlimit`=0 WHERE !(INSTR(`login`,'$subl')=0)");                  $cq = $_SESSION['TestCurQ'];
172                          }                  $vqn = $_SESSION['TestQCount'];
173                  }                  echo '<table bgcolor="#FFF0E0" width="700" cellspacing="1" class="frmLoginText" align="center">';
174                  mysql_finish ();                  // Выдаём текущий вариант
175                  if ($result)                  echo '<tr><td align="center" bgcolor="#E0E0FF" colspan="2">Идёт тестирование';
176                          echo '<meta http-equiv=\'refresh\' content=\'0; url="/admin/?cok=2"\'>';                  if (isset ($TimeLimit) && $TimeLimit > 0)
177                  else echo '<meta http-equiv=\'refresh\' content=\'0; url="/admin/?cfail=2"\'>';                  {
178          }                          $remain = $TimeLimit + $_SESSION['TestStartTime'] - time();
179  }                          $remsec = $remain % 60;
180                            $remmin = ($remain / 60) % 60;
181  ?>                          $remhr  = floor ($remain / 3600);
182                            if ($remsec < 10) $remsec = '0' . $remsec;
183  <!-- Продолжение статического содержимого -->                          if ($remmin < 10) $remmin = '0' . $remmin;
184  </head>                          if ($remain < 5*60)
185  <body link="#000000" vlink="#000000" alink="#000000" bgcolor="#FFFFFF" text="#000000">                                  echo "; <font color=#FF4040><b>ВНИМАНИЕ!</b></font> ";
186  <table class="frmLoginText" style="border-color: black; border-width: 1; border-style: solid" width="700" bgcolor="#E0E0FF" align="center" cellspacing="0">                          else echo "; ";
187  <tr><td align="center" bgcolor="#FFF0E0"><b><a href="/admin/"><font size="+1" color="#000000">Система администрирования тестирования слушателей</font></a></b><br>&nbsp;</td></tr>                          echo "осталось времени: $remhr:$remmin:$remsec";
188  </table><br>                  }
189  <!-- Продолжение скрипта -->                  if ($_SESSION['TestVarCount'] > 1)
190                            echo "; ваш вариант: $vr";
191  <?php                  echo '</td></tr>';
192                    // Выполняем команды, которые работают только в тесте
 // Если надо, выводим информацию о пользователях  
193  if (isset ($req_cmd))  if (isset ($req_cmd))
194  {  {
195          if ($req_cmd == 'users' || $req_cmd == 'prnusers')                          if ($req_cmd == '1' && $_SESSION["TestA$cq"] != 1 && $_SESSION["TestT$cq"] < $TriesCount)
         {  
                 if (isset ($req_searchdate) && strlen ($req_searchdate) > 0)  
196                  {                  {
197                          $req_searchdate = mysql_escape_string ($req_searchdate);                                  $_SESSION["TestT$cq"]++;
198                          $result = amysql_query ("SELECT * FROM `$UsersTable` WHERE `date` >= '$req_searchdate' ORDER BY `lastname`, `firstname`, `thirdname`");                                  $_SESSION["TestA$cq"] = 1;
199                                    $ocq = $cq; do { $cq = ($cq+1) % $vqn; } while ($_SESSION["TestA$cq"] != 0 && $cq != $ocq);
200                                    $_SESSION['TestCurQ'] = $cq;
201                                    if ($ocq == $cq)
202                                            $_SESSION["TestAllA"] = 1;
203                            }
204                            else if ($req_cmd == '2' && $_SESSION["TestA$cq"] != 2 && $_SESSION["TestT$cq"] < $TriesCount)
205                            {
206                                    $_SESSION["TestT$cq"]++;
207                                    $_SESSION["TestA$cq"] = 2;
208                                    $ocq = $cq; do { $cq = ($cq+1) % $vqn; } while ($_SESSION["TestA$cq"] != 0 && $cq != $ocq);
209                                    $_SESSION['TestCurQ'] = $cq;
210                                    if ($ocq == $cq)
211                                            $_SESSION["TestAllA"] = 1;
212                            }
213                            else if ($req_cmd == '3' && $_SESSION["TestA$cq"] != 3 && $_SESSION["TestT$cq"] < $TriesCount)
214                            {
215                                    $_SESSION["TestT$cq"]++;
216                                    $_SESSION["TestA$cq"] = 3;
217                                    $ocq = $cq; do { $cq = ($cq+1) % $vqn; } while ($_SESSION["TestA$cq"] != 0 && $cq != $ocq);
218                                    $_SESSION['TestCurQ'] = $cq;
219                                    if ($ocq == $cq)
220                                            $_SESSION["TestAllA"] = 1;
221                            }
222                            else if ($req_cmd == '4' && $_SESSION["TestA$cq"] != 4 && $_SESSION["TestT$cq"] < $TriesCount)
223                            {
224                                    $_SESSION["TestT$cq"]++;
225                                    $_SESSION["TestA$cq"] = 4;
226                                    $ocq = $cq; do { $cq = ($cq+1) % $vqn; } while ($_SESSION["TestA$cq"] != 0 && $cq != $ocq);
227                                    $_SESSION['TestCurQ'] = $cq;
228                                    if ($ocq == $cq)
229                                            $_SESSION["TestAllA"] = 1;
230                            }
231                            else if ($req_cmd == 'goto')
232                            {
233                                    $_SESSION['TestCurQ'] = $cq = 1 + $req_where - 1;
234                            }
235                    }
236                    // ...и текущий вопрос
237                    $bcq = $_SESSION["TestQ$cq"];
238                    $result = amysql_query ("SELECT * FROM `$QuestionsTable` WHERE `varid`=$vr ORDER BY `id` LIMIT $bcq, 1");
239                    if (!$result) t_err ("Внутренняя ошибка");
240                    $arr = mysql_fetch_assoc ($result);
241                    $btag1 = $btag2 = $btag3 = $btag4 = $bbtag1 = $bbtag2 = $bbtag3 = $bbtag4 = '';
242                             if ($_SESSION["TestA$cq"] == 1) { $btag1 = '<b>'; $bbtag1 = '</b>'; }
243                    else if ($_SESSION["TestA$cq"] == 2) { $btag2 = '<b>'; $bbtag2 = '</b>'; }
244                    else if ($_SESSION["TestA$cq"] == 3) { $btag3 = '<b>'; $bbtag3 = '</b>'; }
245                    else if ($_SESSION["TestA$cq"] == 4) { $btag4 = '<b>'; $bbtag4 = '</b>'; }
246                    echo '<tr><td height="5"></td></tr><tr><td style="border: thin solid" align="left" colspan="2"><p style="margin: 5 5 5 5"><b>Вопрос ' . ($cq+1) . ': ' . $arr['question'] . '</b></p></td></tr><tr><td height="5"></td></tr>';
247                    echo '<tr><td' . ($_SESSION["TestA$cq"] == 1 ? ' class="selectorGreen"' : ' class="selectorBlue"')   . '>' . (($_SESSION["TestT$cq"] < $TriesCount) ? '<a href="/?cmd=1">' : '') . '<p style="margin: 2 2 2 22; text-indent:-19">' . $btag1 . '1. ' . $arr['answer1'] . $bbtag1 . '</p>' . (($_SESSION["TestT$cq"] < $TriesCount) ? '</a>' : '') . '</td></tr>';
248                    echo '<tr><td' . ($_SESSION["TestA$cq"] == 2 ? ' class="selectorGreen"' : ' class="selectorOrange"') . '>' . (($_SESSION["TestT$cq"] < $TriesCount) ? '<a href="/?cmd=2">' : '') . '<p style="margin: 2 2 2 22; text-indent:-19">' . $btag2 . '2. ' . $arr['answer2'] . $bbtag2 . '</p>' . (($_SESSION["TestT$cq"] < $TriesCount) ? '</a>' : '') . '</td></tr>';
249                    echo '<tr><td' . ($_SESSION["TestA$cq"] == 3 ? ' class="selectorGreen"' : ' class="selectorBlue"')   . '>' . (($_SESSION["TestT$cq"] < $TriesCount) ? '<a href="/?cmd=3">' : '') . '<p style="margin: 2 2 2 22; text-indent:-19">' . $btag3 . '3. ' . $arr['answer3'] . $bbtag3 . '</p>' . (($_SESSION["TestT$cq"] < $TriesCount) ? '</a>' : '') . '</td></tr>';
250                    echo '<tr><td' . ($_SESSION["TestA$cq"] == 4 ? ' class="selectorGreen"' : ' class="selectorOrange"') . '>' . (($_SESSION["TestT$cq"] < $TriesCount) ? '<a href="/?cmd=4">' : '') . '<p style="margin: 2 2 2 22; text-indent:-19">' . $btag4 . '4. ' . $arr['answer4'] . $bbtag4 . '</p>' . (($_SESSION["TestT$cq"] < $TriesCount) ? '</a>' : '') . '</td></tr>';
251                    if (isset ($_SESSION["TestAllA"]) && $_SESSION["TestAllA"]==1)
252                            echo '<tr><td bgcolor="#E0E0FF" align="center" colspan="2">Вы ответили на все вопросы.</td></tr>';
253                    if ($_SESSION["TestT$cq"] < $TriesCount)
254                            echo '<tr><td align="center" colspan="2">Выберите вариант ответа кликом по его номеру.<br>Осталось попыток: ' . ($TriesCount-$_SESSION["TestT$cq"]) . '</td></tr>';
255                    else echo '<tr><td align="center" colspan="2"><b>Попытки исчерпаны.</b></td></tr>';
256                    if ($_SESSION["TestA$cq"] > 0)
257                            echo '<tr><td align="center" colspan="2">Текущий выбранный ответ отмечен <b>полужирным шрифтом</b>.</td></tr>';
258                    // ...и строку с выбором вопроса
259                    $cqprev = $cq-9; if ($cqprev < 0) $cqprev = 0;
260                    $cqnext = $cq+9; if ($cqnext >= $vqn) $cqnext = $vqn-1;
261                    echo '<tr><td align="center" colspan="2">';
262                    if (isset($req_display) && $req_display == 'list')
263                    {
264                            echo "<a href=\"?cmd=goto&where=$cqprev\">&lt;&lt;</a> ";
265                            $cqs = $cq-4; if ($cqs < 0) $cqs = 0;
266                            $cqe = $cq+4; if ($cqe >= $vqn) $cqe = $vqn-1;
267                            for ($cqi = $cqs, $cqi1 = $cqs+1; $cqi <= $cqe; $cqi++, $cqi1++)
268                            {
269                                    if ($_SESSION["TestA$cqi"] == 0) echo '<b>';
270                                    echo "<a href=\"?cmd=goto&where=$cqi\">${cqi1}</a> ";
271                                    if ($_SESSION["TestA$cqi"] == 0) echo '</b>';
272                  }                  }
273                  else                          echo "<a href=\"?cmd=goto&where=$cqnext\">&gt;&gt;</a>";
                 {  
                         $subl = mysql_escape_string($req_searchlogin);  
                         $result = amysql_query ("SELECT * FROM `$UsersTable` WHERE !(INSTR(`login`,'$subl')=0) ORDER BY `lastname`, `firstname`, `thirdname`");  
274                  }                  }
                 if ($result && ($row = mysql_fetch_assoc ($result)))  
                 {  
                         echo '<table style="border-color: black; border-width: 1 1 0 1; border-style: solid" width="100%" align="center" cellspacing="0" class="frmLoginText">  
                 <tr bgcolor="#FFE0FF">  
                         <td style="border-width: 0 0 1 0; border-style: solid" align="center">№</td>  
                         <td style="border-width: 0 0 1 1; border-style: solid" align="center">Логин</td>  
                         <td style="border-width: 0 0 1 1; border-style: solid" align="center">+Тестов</td>  
                         <td style="border-width: 0 0 1 1; border-style: solid" align="center">ФИО</td>  
                         <td style="border-width: 0 0 1 1; border-style: solid" align="center">Город</td>  
                         <td style="border-width: 0 0 1 1; border-style: solid" align="center">Организация</td>  
                         <td style="border-width: 0 0 1 1; border-style: solid" align="center">Должность</td>  
                         <td style="border-width: 0 0 1 1; border-style: solid" align="center">E-mail</td>  
                         <td style="border-width: 0 0 1 1; border-style: solid" align="center">Телефон</td>  
                         <td style="border-width: 0 0 1 1; border-style: solid" align="center" width="10%">Опыт работы с ViPNet</td>  
                         <td style="border-width: 0 0 1 1; border-style: solid" align="center">Зарегистрирован</td>  
                         <td style="border-width: 0 0 1 1; border-style: solid" align="center">Результат</td>  
                 </tr>';  
                         $usi = 1;  
                         do  
                         {  
                                 $result2 = amysql_query ("SELECT `result`, CHAR_LENGTH(`answers`) FROM `$ResultsTable` WHERE `uid`=${row['id']} ORDER BY -`date`,-`time` LIMIT 1");  
                                 $row2 = false; if ($result2) $row2 = mysql_fetch_row ($result2);  
                                 echo "<tr>  
                         <td style=\"border-width: 0 0 1 0; border-style: solid\" align=\"center\">$usi</td>  
                         <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>  
                         <td style=\"border-width: 0 0 1 1; border-style: solid\" align=\"center\">${row['testlimit']}</td>  
                         <td style=\"border-width: 0 0 1 1; border-style: solid\" align=\"center\">${row['lastname']} ${row['firstname']} ${row['thirdname']}</td>  
                         <td style=\"border-width: 0 0 1 1; border-style: solid\" align=\"center\">${row['town']}</td>  
                         <td style=\"border-width: 0 0 1 1; border-style: solid\" align=\"center\">${row['firm']}</td>  
                         <td style=\"border-width: 0 0 1 1; border-style: solid\" align=\"center\">${row['position']}</td>  
                         <td style=\"border-width: 0 0 1 1; border-style: solid\" align=\"center\">${row['email']}</td>  
                         <td style=\"border-width: 0 0 1 1; border-style: solid\" align=\"center\">${row['phone']}</td>  
                         <td style=\"border-width: 0 0 1 1; border-style: solid\" align=\"center\">${row['vipnet']}</td>  
                         <td style=\"border-width: 0 0 1 1; border-style: solid\" align=\"center\">${row['date']}<br>${row['time']}</td>  
                         <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>  
                 </tr>";  
                                 $usi++;  
                         } while ($row = mysql_fetch_assoc ($result));  
                         echo '</table>';  
                         $cmdtail = (isset($req_searchdate) && strlen ($req_searchdate) > 0 ? 'searchdate=' . urlencode($req_searchdate) : 'searchlogin=' . urlencode($req_searchlogin));  
                         if ($req_cmd != 'prnusers')  
                                 echo '<table class="frmLoginText" style="border-color: black; border-width: 0 1 1 1; border-style: solid" bgcolor="#E0E0FF" align="center" cellspacing="0">' .  
                                      '<tr><td><input type="button" class="frmLoginButton" value="Дать +1 тест" onClick="navigate(\'/admin/?cmd=plustest&' . $cmdtail . '\');"></td><td></td>' .  
                                      '<td><input type="button" class="frmLoginButton" value="Отнять 1 тест" onClick="navigate(\'/admin/?cmd=minustest&' . $cmdtail . '\');"></td><td></td>' .  
                                      '<td><input type="button" class="frmLoginButton" value="Убрать тесты" onClick="if (confirm(\'Действительно отнять у выбранных пользователей возможность проходить тесты (до разрешения)?\')) navigate(\'/admin/?cmd=cleartest&' . $cmdtail . '\');"></td><td></td>' .  
                                      '<td><input type="button" class="frmLoginButton" value="Версия для печати" onClick="navigate(\'/admin/?cmd=prnusers&' . $cmdtail . '\');"></td><td></td>' .  
                                      '<td><input type="button" class="frmLoginButton" value="Тесты подробно" onClick="navigate(\'/admin/?cmd=prntests&' . $cmdtail . '\');"></td><td></td></tr>' .  
                                      '</table><br>';  
275                          else                          else
276                          {                          {
277                                  echo '<p class="frmLoginText" align="center"><a href="/admin/?cmd=users&' . $cmdtail . '">Назад</a></p></body></html>';                          echo '<table align="center" class="frmLoginText" bgcolor="#E0E0FF"><tr><td align="center"' . "colspan=$MatrixWidth>";
278                                  exit;                          $cqi = $cq; if ($cqi > 0) $cqi--;
279                            echo "<a href=\"?cmd=goto&where=$cqi\">&lt;&lt;</a>";
280                            $cqi = $cq; if ($cqi < $vqn-1) $cqi++;
281                            echo " <a href=\"?cmd=goto&where=$cqi\">&gt;&gt;</a></td></tr>";
282                            $MatrixHeight = ($vqn+$MatrixWidth-1)/$MatrixWidth;
283                            for ($i = 0, $cqi = 0, $cqi1 = 1; $i < $MatrixHeight; $i++)
284                            {
285                                    echo '<tr>';
286                                    for ($j = 0; $j < $MatrixWidth && $cqi < $vqn; $j++, $cqi++, $cqi1++)
287                                    {
288                                            echo '<td align="center"';
289                                            if ($cq == $cqi) echo ' style="border: thin solid"';
290                                            if ($_SESSION["TestA$cqi"] == 0) echo ' bgcolor="#FFFFFF"';
291                                            echo '>';
292                                            if ($_SESSION["TestA$cqi"] == 0) echo '<b>';
293                                            echo "<a href=\"?cmd=goto&where=$cqi\">${cqi1}</a>";
294                                            if ($_SESSION["TestA$cqi"] == 0) echo '</b>';
295                                            echo '</td>';
296                          }                          }
297                                    echo '</tr>';
298                  }                  }
299                  else if (!$result)                          echo '</table>';
                         $req_cfail = 10;  
                 else $req_cfail = 11;  
300          }          }
301          else if (($req_cmd == 'results' || $req_cmd == 'prnresults') && isset ($req_uid))                  echo '</td></tr>';
302                    // ...а также кнопочку "закончить тестирование" /она сначала спросит подтверждения/
303                    echo '<tr><td valign="center" bgcolor="#E0E0FF" align="center" colspan="2"><form action="?cmd=end" method="POST"><input class="frmLoginButton" name="endtest" type="submit" value="Закончить тестирование"></form></td></tr>';
304                    echo '</table>';
305            }
306            else // Или ещё нет...
307          {          {
308                  // Выдаём таблицу результатов ...                  // Выдаём таблицу результатов ...
309                  $result = amysql_query ("SELECT * FROM `$UsersTable` WHERE `id`=$req_uid LIMIT 1");                  $result = amysql_query ("SELECT * FROM `$UsersTable` WHERE `id`=$cur_user_id LIMIT 1");
310                  $row = mysql_fetch_assoc ($result);                  $row = mysql_fetch_assoc ($result);
311                  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\">"                  echo "<table width=\"100%\" bgcolor=\"#E0E0FF\" cellspacing=\"0\" style=\"border-color: black; border-width: 1 1 0 1; border-style: solid\" align=\"center\" class=\"frmLoginText\">"
312                     . "<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>"                     . "<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>"
313                     . "<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>"                     . "<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>"
314                     . "<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>"                     . "<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>"
# Line 199  Line 318 
318                     . "<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>"                     . "<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>"
319                     . "<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>"                     . "<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>"
320                     . "<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>";                     . "<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>";
321                  $result = amysql_query ("SELECT CHAR_LENGTH(`answers`), `date`, `time`, `result`, `answers`, `varid` FROM `$ResultsTable` WHERE `uid`=$req_uid ORDER BY -`date`, -`time`");                  $result = amysql_query ("SELECT CHAR_LENGTH(`answers`), `date`, `time`, `result`, `answers`, `varid` FROM `$ResultsTable` WHERE `uid`=$cur_user_id ORDER BY -`date`, -`time`");
322                  $row2 = mysql_fetch_assoc ($result);                  $row2 = mysql_fetch_assoc ($result);
323                  $lastrow_d = 0;                  $lastrow_d = 0;
324                  if ($result || !$row2)                  if ($result || !$row2)
# Line 219  Line 338 
338                          } while ($row = mysql_fetch_assoc ($result));                          } while ($row = mysql_fetch_assoc ($result));
339                          echo '</table>';                          echo '</table>';
340                  }                  }
341                  if ($cmd != 'prnresults')                  echo '<br>';
342                          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>';                  $curuid = get_auth_id ();
343                  else                  $result = amysql_query ("SELECT `testlimit` FROM `$UsersTable` WHERE `id`='$curuid' LIMIT 1");
344                  {                  if (!$result) t_err ("Внутренняя ошибка");
345                          echo '<p class="frmLoginText" align="center"><a href="javascript:history.back();">Назад</a></p></body></html>';                  $row = mysql_fetch_row ($result);
346                          exit;                  $testlimit = 1 + $row [0] - 1;
347                  }                  // ... количество предписанных тестов ...
348          }                  echo '<table style="border-color: black; border-width: 1; border-style: solid" align="center" width="700" class="frmLoginText" bgcolor="#E0E0FF">';
349          else if ($cmd == 'prntests')                  echo "<tr><td align=\"center\">Ещё можно пройти тестов: $testlimit</td></tr>";
350          {                  if ($testlimit > 0) // ... и если можно - кнопочку "начать тестирование"
351                  if (isset ($req_searchdate) && strlen ($req_searchdate) > 0)                          echo '<tr><td valign="center" align="center"><form action="?cmd=start" method="POST"><input class="frmLoginButton" name="starttest" type="submit" value="Начать тестирование"></form></td></tr>';
                 {  
                         $req_searchdate = mysql_escape_string ($req_searchdate);  
                         $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");  
                 }  
                 else  
                 {  
                         $subl = mysql_escape_string($req_searchlogin);  
                         $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");  
                 }  
                 $cmdtail = (isset($req_searchdate) && strlen ($req_searchdate) > 0 ? 'searchdate=' . urlencode($req_searchdate) : 'searchlogin=' . urlencode($req_searchlogin));  
                 if ($row = mysql_fetch_assoc ($result))  
                 {  
                         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">';  
                         $msg = 'Показаны неверные ответы выбранных пользователей';  
                         if (!isset ($req_nohide))  
                                 $msg .= ' <a href="?cmd=prntests&' . $cmdtail . '&nohide">(+ неотвеченные...)</a>';  
                         else $msg = 'Показаны неверные и неотвеченные ответы выбранных пользователей <a href="?cmd=prntests&' . $cmdtail . '">(-)</a>';  
                         if (!isset ($req_showall))  
                                 $msg .= ' <a href="?cmd=prntests&' . $cmdtail . '&nohide&showall">(все...)</a>';  
                         else  
                         {  
                                 if (isset ($req_nohide))  
                                         $msg = 'Показаны <i>все</i> ответы выбранных пользователей <a href="?cmd=prntests&' . $cmdtail . '&nohide">(- правильные)</a> <a href="?cmd=prntests&' . $cmdtail . '">(-)</a>';  
                                 else $msg = 'Показаны ответы выбранных пользователей';  
                         }  
                         echo '<tr><td colspan="2" bgcolor="#E0E0FF" align="center"><b>' . $msg . '</b></td></tr>';  
                         $notfirst = 0;  
                         while ($row)  
                         {  
                                 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>';  
                                 $res2 = amysql_query ("SELECT * FROM `$QuestionsTable` WHERE `varid`=${row['varid']} ORDER BY `id`");  
                                 $quests = array ();  
                                 while ($row2 = mysql_fetch_assoc ($res2))  
                                 {  
                                         $quests [$row2['id']] = $row2;  
                                         $quests [$row2['id']]['answer0'] = 'не отвечено';  
                                 }  
                                 $allanswers = true;  
                                 $noshown = true;  
                                 $i = 0;  
                                 foreach ($quests as $cq)  
                                 {  
                                         if (strlen ($row ['answers']) > $i)  
                                         {  
                                                 if ($row['answers']{$i} != $cq['rightanswer'])  
                                                 {  
                                                         $allanswers = false;  
                                                         if ($row['answers']{$i} != 0 || isset ($req_nohide))  
                                                         {  
                                                                 echo '<tr><td colspan="2">' . $cq ['id'] . '. ' . $cq ['question'] . ' => <font color=red>' . $cq ['answer' . $row['answers']{$i}] . '</font></td></tr>';  
                                                                 $noshown = false;  
                                                         }  
                                                 }  
                                                 else if (isset ($req_showall))  
                                                 {  
                                                         echo '<tr><td colspan="2">' . $cq ['id'] . '. ' . $cq ['question'] . ' => <font color=blue>' . $cq ['answer' . $row['answers']{$i}] . '</font></td></tr>';  
                                                         $noshown = false;  
                                                 }  
                                         }  
                                 }  
                                 if ($allanswers)  
                                         echo '<tr><td colspan="2">Пользователь ответил на <b>все</b> вопросы правильно! Молодец :)</td></tr>';  
                                 else if ($noshown)  
                                         echo '<tr><td colspan="2">Пользователь не отвечал ни на один вопрос :(</td></tr>';  
                                 $row = mysql_fetch_assoc ($result);  
                                 $notfirst = 1;  
                         }  
352                          echo '</table>';                          echo '</table>';
353                  }                  }
                 echo '<p class="frmLoginText" align="center">Внимание: для корректного вывода информации текущие вопросы в БД должны соответствовать тем, на которые отвечали выбранные пользователи<br><a href="?cmd=users&' . $cmdtail . '">Назад</a></p></body></html>';  
                 exit;  
         }  
354  }  }
355    
356  mysql_finish ();  import_request_variables("gp", "req_");
357    $login_incorrect = false;
358    $display_name = false;
359    
360  ?>  $refr = false;
361    
362  <?php  if (isset ($req_logout) && get_auth_id () > -1) // уже вошёл
363  if (isset ($req_cok) || isset ($req_cfail))          clean_auth ();
364  {  else if (isset ($req_loginedit) && isset ($req_passedit))
         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">Результат операции: ';  
         if (isset ($req_cok))  
365          {          {
366                  if ($req_cok == 0)          if (!set_auth ($req_loginedit, $req_passedit))
367                          echo 'Инициализация БД прошла успешно.';                  $login_incorrect = true;
                 else if ($req_cok == 1)  
                         echo 'Файл успешно загружен в БД.';  
                 else if ($req_cok == 2)  
                         echo 'Количество предписанных тестов успешно изменено.';  
368          }          }
369          else  get_auth_id();
370    ?>
371    <!-- Здесь "заголовок" страницы -->
372    
373    <html>
374    <head>
375    <title>Система тестирования слушателей</title>
376    <meta name="GENERATOR" content="VMX">
377    <meta name="description" content="Система тестирования слушателей">
378    <meta http-equiv=Content-Type content="text/html; charset=windows-1251">
379    <link rel="stylesheet" href="styles.css">
380    </head>
381    <body link=#000000 vlink=#000000 alink=#000000>
382    <table cellspacing="5" class="frmLoginText" style="border-color: black; border-width: 1; border-style: solid" width="700" bgcolor="#FFF0E0" align="center" cellspacing="0">
383    <tr><td align="center" style="border-width: 0 0 1 0; border-color: black; border-style: solid"><b><a href="/"><font size="+1" color="#000000">Система тестирования слушателей</font></a></b><br>&nbsp;</td></tr>
384    <tr><td >
385    
386    <!-- Здесь скрипт продолжается -->
387    
388    <?php
389    
390    if (!isset($req_logout) && get_auth_id () > -1) // уже вошёл
391            $display_name = get_auth_displayname();
392    if ($display_name !== false)
393          {          {
394                  if ($req_cfail == 0)          putFrmLogout ($display_name, !isset($_SESSION['TestStarted']) && (!isset ($req_cmd) || $req_cmd != 'start') || (isset ($req_cmd) && $req_cmd == 'end'));
395                          echo 'При инициализации БД произошла ошибка.';          Testing ();
                 else if ($req_cfail == 1)  
                         echo 'При загрузке файла в БД произошла ошибка.';  
                 else if ($req_cfail == 2)  
                         echo 'Ошибка изменения количества предписанных тестов.';  
                 else if ($req_cfail == 10)  
                         echo 'Ошибка запроса к БД при выводе списка пользователей.';  
                 else if ($req_cfail == 11)  
                         echo 'Таких пользователей нет.';  
         }  
         echo '</td></tr></table><br>';  
396  }  }
397    else putFrmLogin ($login_incorrect);
398    
399    mysql_finish ();
400    
401  ?>  ?>
402  <!-- Статика -->  
403  <table class="frmLoginText" style="border-color: black; border-width: 1; border-style: solid" width="700" bgcolor="#E0E0FF" align="center" cellspacing="0">  <!-- Здесь конец страницы -->
404  <tr><td align="center" bgcolor="#FFF0E0" style="border-width: 0 0 1 0; border-style: solid"><b>Возможные операции</b><br>&nbsp;</td></tr>  </td></tr>
405  <tr><td align="center"><b>Вывод информации о пользователях</b><br>&nbsp;</td></tr>  <tr><td class="frmLoginText" align="center" style="border-width: 1 0 0 0; border-color: black; border-style: solid">Powered by VMX, 2006</td></tr>
 <form name="searchusers" action="?cmd=users" method="POST">  
 <tr><td align="center">Логин (пустой=все): <input class="frmLoginEdit" type="text" maxlength="256" name="searchlogin"></td></tr>  
 <tr><td align="center" colspan="2"><b>или зарегистрировавшиеся:</b></td></tr>  
 <tr><td align="center">После YYYY-MM-DD: <input class="frmLoginEdit" type="text" maxlength="256" name="searchdate"></td></tr>  
 <tr><td align="center" style="border-width: 0 0 1 0; border-style: solid"><input name="searchusers" class="frmLoginButton" type="submit" value="Искать пользователей"></td></tr>  
 </form>  
 <tr><td align="center"><b>Загрузка вопросов из текстового файла</b><br>&nbsp;</td></tr>  
 <form name="loadquestfile" action="?cmd=load" enctype="multipart/form-data" method="POST">  
 <tr><td align="center"><input type="hidden" name="MAX_FILE_SIZE" value="5242880">Файл: <input class="frmLoginEdit" type="file" name="loadfilename"></td></tr>  
 <tr><td align="center"><input type="checkbox" name="loadoverwrite"> Перезаписать БД вопросов</td></tr>  
 <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>  
 </form>  
 <tr><td align="center"><b>Инициализация / очистка базы данных</b><br>&nbsp;</td></tr>  
 <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>  
 <tr><td align="center" bgcolor="#FFF0E0">Powered by VMX, 2006</td></tr>  
406  </table>  </table>
407  </body>  </body>
408  </html>  </html>


Legend:
Removed lines/characters  
Changed lines/characters
  Added lines/characters