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 9 - (show annotations) (download) (as text)
Sun Feb 17 15:07:41 2008 MSK (12 years, 9 months ago) by vitalif
File MIME type: text/plain; charset=windows-1251
File size: 8490 byte(s)
Release 2.0

1 <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 // Скрипт
10
11 // Интерфейс администрирования
12 // Copyright (c) 2006, Виталий Филиппов [VMX]
13
14 require_once '../lib/config.php';
15 require_once '../lib/info.php';
16 require_once '../lib/init.php';
17 require_once '../lib/load.php';
18
19 import_request_variables ("gp", "req_");
20 mysql_start ();
21
22 function get_search_where ($prefix = '')
23 {
24 global $req_searchdate, $req_searchlogin;
25 if (isset ($req_searchdate) && strlen ($req_searchdate) > 0)
26 {
27 $req_searchdate = mysql_escape_string ($req_searchdate);
28 return "$prefix`date` >= '$req_searchdate'";
29 }
30 else
31 {
32 $subl = mysql_escape_string($req_searchlogin);
33 return "!(INSTR($prefix`login`,'$subl')=0)";
34 }
35 return "1";
36 }
37
38 // Выполняем команду
39 if (isset ($req_cmd))
40 {
41 if ($req_cmd == 'init')
42 {
43 $initres = init_database();
44 mysql_finish ();
45 if ($initres)
46 echo '<meta http-equiv=\'refresh\' content=\'0; url="/admin/?cok=0"\'>';
47 else echo '<meta http-equiv=\'refresh\' content=\'0; url="/admin/?cfail=0"\'>';
48 exit;
49 }
50 else if ($req_cmd == 'load')
51 {
52 $ldres = false;
53 if (isset ($_FILES['loadfilename']['tmp_name']) && $_FILES['loadfilename']['size'])
54 {
55 $quest = load_questions ($_FILES['loadfilename']['tmp_name']);
56 if ($quest)
57 {
58 if (isset ($req_loadoverwrite) && $req_loadoverwrite == 'on')
59 amysql_query ("TRUNCATE TABLE `$QuestionsTable`");
60 if (load_into_database ($QuestionsTable, $quest))
61 $ldres = true;
62 }
63 if (is_uploaded_file ($_FILES['loadfilename']['tmp_name']))
64 unlink ($_FILES['loadfilename']['tmp_name']);
65 }
66 mysql_finish ();
67 if ($ldres)
68 echo '<meta http-equiv=\'refresh\' content=\'0; url="/admin/?cok=1"\'>';
69 else echo '<meta http-equiv=\'refresh\' content=\'0; url="/admin/?cfail=1"\'>';
70 exit;
71 }
72 else if ($cmd == 'plustest' || $cmd == 'minustest' || $cmd == 'cleartest')
73 {
74 $where_def = get_search_where ();
75 $cmdtail = (isset($req_searchdate) && strlen ($req_searchdate) > 0 ? 'searchdate=' . urlencode($req_searchdate) : 'searchlogin=' . urlencode($req_searchlogin));
76 if ($cmd == 'plustest')
77 $result = amysql_query ("UPDATE `$UsersTable` SET `testlimit`=`testlimit`+1 WHERE $where_def");
78 else if ($cmd == 'minustest')
79 $result = amysql_query ("UPDATE `$UsersTable` SET `testlimit`=`testlimit`-1 WHERE $where_def AND `testlimit`>0");
80 else
81 $result = amysql_query ("UPDATE `$UsersTable` SET `testlimit`=0 WHERE $where_def");
82 mysql_finish ();
83 if ($result)
84 echo '<meta http-equiv=\'refresh\' content=\'0; url="/admin/?cok=2&cmd=users&' . $cmdtail . '"\'>';
85 else echo '<meta http-equiv=\'refresh\' content=\'0; url="/admin/?cfail=2&cmd=users&' . $cmdtail . '"\'>';
86 exit;
87 }
88 }
89
90 // Продолжение статического содержимого
91 ?>
92 </head>
93 <body link="#000000" vlink="#000000" alink="#000000" bgcolor="#FFFFFF" text="#000000">
94 <table class="frmLoginText" style="border-color: black; border-width: 1; border-style: solid" width="700" bgcolor="#E0E0FF" align="center" cellspacing="0">
95 <tr><td align="center" bgcolor="#FFF0E0"><b><a href="/admin/"><font size="+1" color="#000000">Система администрирования тестирования слушателей</font></a></b><br><a href="/admin/archive.php">к архиву</a></td></tr>
96 </table><br>
97 <?php
98 // Продолжение скрипта
99
100 // Выполняем команды, связанные с выводом информации
101 if (isset ($req_cmd))
102 {
103 $where_def = get_search_where ();
104 $cmdtail = (isset($req_searchdate) && strlen ($req_searchdate) > 0 ? 'searchdate=' . urlencode($req_searchdate) : 'searchlogin=' . urlencode($req_searchlogin));
105 if ($req_cmd == 'users' || $req_cmd == 'prnusers')
106 print_users_info ($where_def, $cmdtail, $req_cmd == 'prnusers');
107 else if (($req_cmd == 'results' || $req_cmd == 'prnresults') && isset ($req_uid))
108 {
109 print_results_info ($req_uid, $req_cmd == 'prnresults');
110 if ($req_cmd != 'prnresults')
111 echo '<p class="frmLoginText" style="margin-top: 0" align="center"><a href="/admin/?cmd=prnresults&uid=' . $req_uid . '">Версия для печати</a>&nbsp; &nbsp; <a href="javascript:history.back();">Назад</a></p></body></html>';
112 else
113 {
114 echo '<p class="frmLoginText" style="margin-top: 0" align="center"><a href="javascript:history.back();">Назад</a></p></body></html>';
115 exit;
116 }
117 }
118 else if ($cmd == 'prntests')
119 {
120 $where_def = get_search_where ('t1.');
121 print_tests_detailed_info ($where_def, $cmdtail);
122 }
123 }
124
125 mysql_finish ();
126
127 // Выводим статусные сообщения
128 if (isset ($req_cok) || isset ($req_cfail))
129 {
130 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">Результат операции: ';
131 if (isset ($req_cok))
132 {
133 if ($req_cok == 0)
134 echo 'Инициализация БД прошла успешно.';
135 else if ($req_cok == 1)
136 echo 'Файл успешно загружен в БД.';
137 else if ($req_cok == 2)
138 echo 'Количество предписанных тестов успешно изменено.';
139 }
140 else
141 {
142 if ($req_cfail == 0)
143 echo 'При инициализации БД произошла ошибка.';
144 else if ($req_cfail == 1)
145 echo 'При загрузке файла в БД произошла ошибка.';
146 else if ($req_cfail == 2)
147 echo 'Ошибка изменения количества предписанных тестов.';
148 else if ($req_cfail == 10)
149 echo 'Ошибка запроса к БД при выводе списка пользователей.';
150 else if ($req_cfail == 11)
151 echo 'Таких пользователей нет.';
152 }
153 echo '</td></tr></table><br>';
154 }
155 error_reporting (E_ALL & ~E_NOTICE);
156 // Статическое содержимое
157 ?>
158 <table class="frmLoginText" style="border-color: black; border-width: 1; border-style: solid" width="700" bgcolor="#E0E0FF" align="center" cellspacing="0">
159 <tr><td align="center" bgcolor="#FFF0E0" style="border-width: 0 0 1 0; border-style: solid"><b>Возможные операции</b><br>&nbsp;</td></tr>
160 <tr><td align="center"><b>Вывод информации о пользователях</b><br>&nbsp;</td></tr>
161 <form name="searchusers" action="?cmd=users" method="POST">
162 <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>
163 <tr><td align="center" colspan="2"><b>или зарегистрировавшиеся:</b></td></tr>
164 <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>
165 <tr><td align="center" style="border-width: 0 0 1 0; border-style: solid"><input name="searchusers" class="frmLoginButton" type="submit" value="Искать пользователей"></td></tr>
166 </form>
167 <tr><td align="center"><b>Загрузка вопросов из текстового файла</b><br>&nbsp;</td></tr>
168 <form name="loadquestfile" action="?cmd=load" enctype="multipart/form-data" method="POST">
169 <tr><td align="center"><input type="hidden" name="MAX_FILE_SIZE" value="5242880">Файл: <input class="frmLoginEdit" type="file" name="loadfilename"></td></tr>
170 <tr><td align="center">Вариант этих вопросов: <input type="text" name="loadvariant" class="frmLoginEdit" size="3" maxlength="3" value="1"></td></tr>
171 <tr><td align="center"><input type="checkbox" name="loadoverwrite"> Перезаписать БД вопросов</td></tr>
172 <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>
173 </form>
174 <tr><td align="center"><b>Инициализация / очистка базы данных</b><br>&nbsp;</td></tr>
175 <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>
176 <tr><td align="center" bgcolor="#FFF0E0">Powered by VMX, 2006</td></tr>
177 </table>
178 </body>
179 </html>