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

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 vitalif 8 require_once '../lib/config.php';
15     require_once '../lib/info.php';
16     require_once '../lib/init.php';
17     require_once '../lib/load.php';
18 vitalif 2
19     import_request_variables ("gp", "req_");
20     mysql_start ();
21 vitalif 6
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 vitalif 2 // Выполняем команду
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 vitalif 8 exit;
49 vitalif 2 }
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 vitalif 8 exit;
71 vitalif 2 }
72     else if ($cmd == 'plustest' || $cmd == 'minustest' || $cmd == 'cleartest')
73     {
74 vitalif 6 $where_def = get_search_where ();
75 vitalif 8 $cmdtail = (isset($req_searchdate) && strlen ($req_searchdate) > 0 ? 'searchdate=' . urlencode($req_searchdate) : 'searchlogin=' . urlencode($req_searchlogin));
76 vitalif 2 if ($cmd == 'plustest')
77 vitalif 6 $result = amysql_query ("UPDATE `$UsersTable` SET `testlimit`=`testlimit`+1 WHERE $where_def");
78 vitalif 2 else if ($cmd == 'minustest')
79 vitalif 6 $result = amysql_query ("UPDATE `$UsersTable` SET `testlimit`=`testlimit`-1 WHERE $where_def AND `testlimit`>0");
80 vitalif 2 else
81 vitalif 6 $result = amysql_query ("UPDATE `$UsersTable` SET `testlimit`=0 WHERE $where_def");
82 vitalif 2 mysql_finish ();
83     if ($result)
84 vitalif 8 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 vitalif 2 }
88     }
89    
90 vitalif 6 // Продолжение статического содержимого
91 vitalif 2 ?>
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 vitalif 8 <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 vitalif 2 </table><br>
97     <?php
98 vitalif 6 // Продолжение скрипта
99 vitalif 2
100 vitalif 6 // Выполняем команды, связанные с выводом информации
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 vitalif 8 {
109 vitalif 6 print_results_info ($req_uid, $req_cmd == 'prnresults');
110 vitalif 8 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 vitalif 6 else if ($cmd == 'prntests')
119     {
120     $where_def = get_search_where ('t1.');
121     print_tests_detailed_info ($where_def, $cmdtail);
122     }
123     }
124    
125 vitalif 2 mysql_finish ();
126    
127 vitalif 6 // Выводим статусные сообщения
128 vitalif 2 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 vitalif 6 error_reporting (E_ALL & ~E_NOTICE);
156     // Статическое содержимое
157 vitalif 2 ?>
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 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>
163 vitalif 2 <tr><td align="center" colspan="2"><b>или зарегистрировавшиеся:</b></td></tr>
164 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>
165 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>
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 vitalif 6 <tr><td align="center">Вариант этих вопросов: <input type="text" name="loadvariant" class="frmLoginEdit" size="3" maxlength="3" value="1"></td></tr>
171 vitalif 2 <tr><td align="center"><input type="checkbox" name="loadoverwrite"> Перезаписать БД вопросов</td></tr>
172 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>
173 vitalif 2 </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 vitalif 6 </html>