Редакция 108 | Только различия | Учитывать пробелы | Содержимое файла | Авторство | Последнее изменение | Открыть журнал | RSS
Редакция 108 | Редакция 145 | ||
---|---|---|---|
1 | <?php
|
1 | <?php
|
2 | 2 | ||
3 | /**
|
3 | /**
|
4 | * Project: Ant: sources.list generator
|
4 | * Project: Ant: sources.list generator
|
5 | * File: process.php
|
5 | * File: process.php
|
6 | *
|
6 | *
|
7 | * This application is free software; you can redistribute it and/or
|
7 | * This application is free software; you can redistribute it and/or
|
8 | * modify it under the terms of the GNU Lesser General Public
|
8 | * modify it under the terms of the GNU Lesser General Public
|
9 | * License as published by the Free Software Foundation; either
|
9 | * License as published by the Free Software Foundation; either
|
10 | * version 2.1 of the License, or (at your option) any later version.
|
10 | * version 2.1 of the License, or (at your option) any later version.
|
11 | *
|
11 | *
|
12 | * This application is distributed in the hope that it will be useful,
|
12 | * This application is distributed in the hope that it will be useful,
|
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
15 | * Lesser General Public License for more details.
|
15 | * Lesser General Public License for more details.
|
16 | *
|
16 | *
|
17 | * You should have received a copy of the GNU Lesser General Public
|
17 | * You should have received a copy of the GNU Lesser General Public
|
18 | * License along with this library; if not, write to the Free Software
|
18 | * License along with this library; if not, write to the Free Software
|
19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
20 | *
|
20 | *
|
21 | */
|
21 | */
|
22 | 22 | ||
23 | 23 | ||
24 | require_once dirname(__FILE__)."/sign-valid.php"; |
24 | require_once dirname(__FILE__)."/sign-valid.php"; |
25 | 25 | ||
26 | $mode = abs(intval($_POST["mode"])); |
26 | $mode = abs(intval($_POST["mode"])); |
27 | 27 | ||
28 | $go = "./admin.php"; |
28 | $go = "./admin.php"; |
29 | 29 | ||
30 | switch ($mode) { |
30 | switch ($mode) { |
31 | case '0': |
31 | case '0': |
32 | break; |
32 | break; |
33 | case '1': |
33 | case '1': |
34 | // Добавление нового дистрибутива
|
34 | // Добавление нового дистрибутива
|
35 | $distname = mysql_real_escape_string($_POST["distName"]); |
35 | $distname = mysql_real_escape_string($_POST["distName"]); |
36 | $distua = mysql_real_escape_string($_POST["distUA"]); |
36 | $distua = mysql_real_escape_string($_POST["distUA"]); |
37 | $disttype = abs(intval($_POST["distType"])); |
37 | $disttype = abs(intval($_POST["distType"])); |
38 | 38 | ||
39 | $distlogo = 0; |
39 | $distlogo = 0; |
40 | if ($_FILES["distLOGO"]["type"]!=0) { |
40 | if ($_FILES["distLOGO"]["type"]!=0) { |
41 | $folder = dirname(__FILE__)."/img/logo/".stripslashes($distua)."-orig.png"; |
41 | $folder = dirname(__FILE__)."/img/logo/".stripslashes($distua)."-orig.png"; |
42 | $folderN = dirname(__FILE__)."/img/logo/".stripslashes($distua).".png"; |
42 | $folderN = dirname(__FILE__)."/img/logo/".stripslashes($distua).".png"; |
43 | $folderEM = dirname(__FILE__)."/img/logo/".stripslashes($distua)."-em.png"; |
43 | $folderEM = dirname(__FILE__)."/img/logo/".stripslashes($distua)."-em.png"; |
44 | if (move_uploaded_file($_FILES["distLOGO"]["tmp_name"],$folder)) { |
44 | if (move_uploaded_file($_FILES["distLOGO"]["tmp_name"],$folder)) { |
45 | chmod($folder, 0644); |
45 | chmod($folder, 0644); |
46 | list($width, $height) = GetImageSize($folder); |
46 | list($width, $height) = GetImageSize($folder); |
47 | $percent = 32/$height; |
47 | $percent = 32/$height; |
48 | $newwidth = $width * $percent; |
48 | $newwidth = $width * $percent; |
49 | $newheight = $height * $percent; |
49 | $newheight = $height * $percent; |
50 | 50 | ||
51 | $output = ImageCreateTrueColor($newwidth, $newheight); |
51 | $output = ImageCreateTrueColor($newwidth, $newheight); |
52 | $source = ImageCreateFromPNG($folder); |
52 | $source = ImageCreateFromPNG($folder); |
53 | 53 | ||
54 | ImageCopyResampled($output, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); |
54 | ImageCopyResampled($output, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); |
55 | ImagePNG($output, $folderEM); |
55 | ImagePNG($output, $folderEM); |
56 | 56 | ||
57 | $percent = 15/$height; |
57 | $percent = 15/$height; |
58 | $newwidth = $width * $percent; |
58 | $newwidth = $width * $percent; |
59 | $newheight = $height * $percent; |
59 | $newheight = $height * $percent; |
60 | 60 | ||
61 | $output = ImageCreateTrueColor($newwidth, $newheight); |
61 | $output = ImageCreateTrueColor($newwidth, $newheight); |
62 | 62 | ||
63 | ImageCopyResized($output, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); |
63 | ImageCopyResized($output, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); |
64 | ImagePNG($output, $folderN); |
64 | ImagePNG($output, $folderN); |
65 | 65 | ||
66 | unlink($folder); |
66 | unlink($folder); |
67 | $distlogo = 1; |
67 | $distlogo = 1; |
68 | }
|
68 | }
|
69 | }
|
69 | }
|
70 | 70 | ||
71 | $res =& $db->query("INSERT INTO distribution SET distname='$distname', distua='$distua', disttype='$disttype', distlogo='$distlogo'"); |
71 | $res =& $db->query("INSERT INTO distribution SET distname='$distname', distua='$distua', disttype='$disttype', distlogo='$distlogo'"); |
72 | 72 | ||
73 | // ChangeLog recording
|
73 | // ChangeLog recording
|
74 | $res =& $db->query("SELECT * FROM dtype WHERE type_id='$disttype'"); |
74 | $res =& $db->query("SELECT * FROM dtype WHERE type_id='$disttype'"); |
75 | $res->fetchInto($log, DB_FETCHMODE_ASSOC); |
75 | $res->fetchInto($log, DB_FETCHMODE_ASSOC); |
76 | $title = "Добавлен новый дистрибутив"; |
76 | $title = "Добавлен новый дистрибутив"; |
77 | $dinfo = "В Ant добавлена поддержка основанного на ".stripslashes($log["type"])."-пакетах дистрибутива ".$distname."."; |
77 | $dinfo = "В Ant добавлена поддержка основанного на ".stripslashes($log["type"])."-пакетах дистрибутива ".$distname."."; |
78 | $res =& $db->query("INSERT INTO changelog SET log_record=NOW(), log_title='$title', log_desc='$dinfo'"); |
78 | $res =& $db->query("INSERT INTO changelog SET log_record=NOW(), log_title='$title', log_desc='$dinfo'"); |
79 | 79 | ||
80 | $go .= "?mode=1"; |
80 | $go .= "?mode=1"; |
81 | 81 | ||
82 | break; |
82 | break; |
83 | case '2': |
83 | case '2': |
84 | // Правка существующего дистрибутива
|
84 | // Правка существующего дистрибутива
|
85 | $distname = mysql_real_escape_string($_POST["distName"]); |
85 | $distname = mysql_real_escape_string($_POST["distName"]); |
86 | $distua = mysql_real_escape_string($_POST["distUA"]); |
86 | $distua = mysql_real_escape_string($_POST["distUA"]); |
87 | $disttype = abs(intval($_POST["distType"])); |
87 | $disttype = abs(intval($_POST["distType"])); |
88 | $distID = abs(intval($_POST["distID"])); |
88 | $distID = abs(intval($_POST["distID"])); |
89 | 89 | ||
90 | if ($_FILES["distLOGO"]["type"]!='') { |
90 | if ($_FILES["distLOGO"]["type"]!='') { |
91 | $folder = dirname(__FILE__)."/img/logo/".$distua."-orig.png"; |
91 | $folder = dirname(__FILE__)."/img/logo/".$distua."-orig.png"; |
92 | $folderN = dirname(__FILE__)."/img/logo/".$distua.".png"; |
92 | $folderN = dirname(__FILE__)."/img/logo/".$distua.".png"; |
93 | $folderEM = dirname(__FILE__)."/img/logo/".$distua."-em.png"; |
93 | $folderEM = dirname(__FILE__)."/img/logo/".$distua."-em.png"; |
94 | if (move_uploaded_file($_FILES["distLOGO"]["tmp_name"],$folder)) { |
94 | if (move_uploaded_file($_FILES["distLOGO"]["tmp_name"],$folder)) { |
95 | chmod ($folder, 0644); |
95 | chmod ($folder, 0644); |
96 | list($width, $height) = GetImageSize($folder); |
96 | list($width, $height) = GetImageSize($folder); |
97 | $percent = 32/$height; |
97 | $percent = 32/$height; |
98 | $newwidth = $width * $percent; |
98 | $newwidth = $width * $percent; |
99 | $newheight = $height * $percent; |
99 | $newheight = $height * $percent; |
100 | 100 | ||
101 | $output = ImageCreateTrueColor($newwidth, $newheight); |
101 | $output = ImageCreateTrueColor($newwidth, $newheight); |
102 | $black = ImageColorAllocate($output, 0, 0, 0); |
102 | $black = ImageColorAllocate($output, 0, 0, 0); |
103 | $source = ImageCreateFromPNG($folder); |
103 | $source = ImageCreateFromPNG($folder); |
104 | 104 | ||
105 | ImageCopyResampled($output, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); |
105 | ImageCopyResampled($output, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); |
106 | ImageColorTransparent($output, $black); |
106 | ImageColorTransparent($output, $black); |
107 | ImagePNG($output, $folderEM); |
107 | ImagePNG($output, $folderEM); |
108 | 108 | ||
109 | $percent = 15/$height; |
109 | $percent = 15/$height; |
110 | $newwidth = $width * $percent; |
110 | $newwidth = $width * $percent; |
111 | $newheight = $height * $percent; |
111 | $newheight = $height * $percent; |
112 | 112 | ||
113 | $output = ImageCreateTrueColor($newwidth, $newheight); |
113 | $output = ImageCreateTrueColor($newwidth, $newheight); |
114 | $black = ImageColorAllocate($output, 0, 0, 0); |
114 | $black = ImageColorAllocate($output, 0, 0, 0); |
115 | 115 | ||
116 | ImageCopyResized($output, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); |
116 | ImageCopyResized($output, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); |
117 | ImageColorTransparent($output, $black); |
117 | ImageColorTransparent($output, $black); |
118 | ImagePNG($output, $folderN); |
118 | ImagePNG($output, $folderN); |
119 | 119 | ||
120 | unlink($folder); |
120 | unlink($folder); |
121 | 121 | ||
122 | $res =& $db->query("UPDATE distribution SET distlogo='1' WHERE dist_id='$distID'"); |
122 | $res =& $db->query("UPDATE distribution SET distlogo='1' WHERE dist_id='$distID'"); |
123 | 123 | ||
124 | }
|
124 | }
|
125 | }
|
125 | }
|
126 | 126 | ||
127 | $res =& $db->query("UPDATE distribution SET distname='$distname', distua='$distua', disttype='$disttype', WHERE dist_id='$distID'"); |
127 | $res =& $db->query("UPDATE distribution SET distname='$distname', distua='$distua', disttype='$disttype', WHERE dist_id='$distID'"); |
128 | 128 | ||
129 | $go .= "?mode=1"; |
129 | $go .= "?mode=1"; |
130 | 130 | ||
131 | break; |
131 | break; |
132 | case '3': |
132 | case '3': |
133 | // Удаление существующего дистрибутива
|
133 | // Удаление существующего дистрибутива
|
134 | $distID = abs(intval($_POST["distID"])); |
134 | $distID = abs(intval($_POST["distID"])); |
135 | $distUA = $_POST["distUA"]; |
135 | $distUA = $_POST["distUA"]; |
136 | 136 | ||
137 | $folder1 = dirname(__FILE__)."/img/logo/".$distUA."-em.png"; |
137 | $folder1 = dirname(__FILE__)."/img/logo/".$distUA."-em.png"; |
138 | $folder2 = dirname(__FILE__)."/img/logo/".$distUA.".png"; |
138 | $folder2 = dirname(__FILE__)."/img/logo/".$distUA.".png"; |
139 | 139 | ||
140 | if (file_exists($folder1)) { unlink($folder1); } |
140 | if (file_exists($folder1)) { unlink($folder1); } |
141 | if (file_exists($folder2)) { unlink($folder2); } |
141 | if (file_exists($folder2)) { unlink($folder2); } |
142 | 142 | ||
143 | $res =& $db->query("SELECT * FROM distribution d JOIN dtype t ON d.disttype=t.type_id WHERE d.dist_id='$distID'"); |
143 | $res =& $db->query("SELECT * FROM distribution d JOIN dtype t ON d.disttype=t.type_id WHERE d.dist_id='$distID'"); |
144 | $res->fetchInto($log, DB_FETCHMODE_ASSOC); |
144 | $res->fetchInto($log, DB_FETCHMODE_ASSOC); |
145 | 145 | ||
146 | $res =& $db->query("DELETE FROM distribution WHERE dist_id='$distID'"); |
146 | $res =& $db->query("DELETE FROM distribution WHERE dist_id='$distID'"); |
147 | $res =& $db->query("DELETE FROM sect2dist WHERE dist_id='$distID'"); |
147 | $res =& $db->query("DELETE FROM sect2dist WHERE dist_id='$distID'"); |
148 | $res =& $db->query("DELETE FROM version WHERE dist_id='$distID'"); |
148 | $res =& $db->query("DELETE FROM version WHERE dist_id='$distID'"); |
149 | 149 | ||
150 | // ChangeLog recording
|
150 | // ChangeLog recording
|
151 | $title = "Удаление поддержки дистрибутива"; |
151 | $title = "Удаление поддержки дистрибутива"; |
152 | $dinfo = "Из Ant удалена поддержка основанного на ".stripslashes($log["type"])."-пакетах дистрибутива ".stripslashes($log["distname"])."."; |
152 | $dinfo = "Из Ant удалена поддержка основанного на ".stripslashes($log["type"])."-пакетах дистрибутива ".stripslashes($log["distname"])."."; |
153 | $res =& $db->query("INSERT INTO changelog SET log_record=NOW(), log_title='$title', log_desc='$dinfo'"); |
153 | $res =& $db->query("INSERT INTO changelog SET log_record=NOW(), log_title='$title', log_desc='$dinfo'"); |
154 | 154 | ||
155 | $go .= "?mode=1"; |
155 | $go .= "?mode=1"; |
156 | 156 | ||
157 | break; |
157 | break; |
158 | case '4': |
158 | case '4': |
159 | // Добавление новой версии дистрибутива
|
159 | // Добавление новой версии дистрибутива
|
160 | $versname = mysql_real_escape_string($_POST["versNam"]); |
160 | $versname = mysql_real_escape_string($_POST["versNam"]); |
161 | $versnumb = mysql_real_escape_string($_POST["versNum"]); |
161 | $versnumb = mysql_real_escape_string($_POST["versNum"]); |
162 | $verscode = mysql_real_escape_string($_POST["versCN"]); |
162 | $verscode = mysql_real_escape_string($_POST["versCN"]); |
163 | $distname = abs(intval($_POST["distName"])); |
163 | $distname = abs(intval($_POST["distName"])); |
164 | 164 | ||
165 | $res =& $db->query("INSERT INTO version SET dist_id='$distname', vname='$versname', version='$versnumb', vcodename='$verscode'"); |
165 | $res =& $db->query("INSERT INTO version SET dist_id='$distname', vname='$versname', version='$versnumb', vcodename='$verscode'"); |
166 | 166 | ||
167 | // ChangeLog recording
|
167 | // ChangeLog recording
|
168 | $res =& $db->query("SELECT * FROM distribution WHERE dist_id='$distname'"); |
168 | $res =& $db->query("SELECT * FROM distribution WHERE dist_id='$distname'"); |
169 | $res->fetchInto($log, DB_FETCHMODE_ASSOC); |
169 | $res->fetchInto($log, DB_FETCHMODE_ASSOC); |
170 | $title = "Добавлена новая версия ".$log["distname"]; |
170 | $title = "Добавлена новая версия ".$log["distname"]; |
171 | $dinfo = "В Ant добавлена поддержка новой версии дистрибутива ".$log["distname"]." – ".$versnumb; |
171 | $dinfo = "В Ant добавлена поддержка новой версии дистрибутива ".$log["distname"]." – ".$versnumb; |
172 | if ($versname!="") { |
172 | if ($versname!="") { |
173 | $dinfo .= " с кодовым названием “".$versname."”."; |
173 | $dinfo .= " с кодовым названием “".$versname."”."; |
174 | } else { |
174 | } else { |
175 | $dinfo .= "."; |
175 | $dinfo .= "."; |
176 | }
|
176 | }
|
177 | $res =& $db->query("INSERT INTO changelog SET log_record=NOW(), log_title='$title', log_desc='$dinfo'"); |
177 | $res =& $db->query("INSERT INTO changelog SET log_record=NOW(), log_title='$title', log_desc='$dinfo'"); |
178 | 178 | ||
179 | $go .= "?mode=2"; |
179 | $go .= "?mode=2"; |
180 | 180 | ||
181 | break; |
181 | break; |
182 | case '5': |
182 | case '5': |
183 | // Правка имеющейся версии дистрибутива
|
183 | // Правка имеющейся версии дистрибутива
|
184 | $versname = mysql_real_escape_string($_POST["versNam"]); |
184 | $versname = mysql_real_escape_string($_POST["versNam"]); |
185 | $versnumb = mysql_real_escape_string($_POST["versNum"]); |
185 | $versnumb = mysql_real_escape_string($_POST["versNum"]); |
186 | $verscode = mysql_real_escape_string($_POST["versCN"]); |
186 | $verscode = mysql_real_escape_string($_POST["versCN"]); |
187 | $distname = abs(intval($_POST["distName"])); |
187 | $distname = abs(intval($_POST["distName"])); |
188 | $versID = abs(intval($_POST["versID"])); |
188 | $versID = abs(intval($_POST["versID"])); |
189 | 189 | ||
190 | $res =& $db->query("UPDATE version SET dist_id='$distname', vname='$versname', version='$versnumb', vcodename='$verscode' WHERE version_id='$versID'"); |
190 | $res =& $db->query("UPDATE version SET dist_id='$distname', vname='$versname', version='$versnumb', vcodename='$verscode' WHERE version_id='$versID'"); |
191 | 191 | ||
192 | $go .= "?mode=2"; |
192 | $go .= "?mode=2"; |
193 | 193 | ||
194 | break; |
194 | break; |
195 | case '6': |
195 | case '6': |
196 | // Удаление существующей версии дистрибутива
|
196 | // Удаление существующей версии дистрибутива
|
197 | $versID = abs(intval($_POST["versID"])); |
197 | $versID = abs(intval($_POST["versID"])); |
198 | 198 | ||
199 | $res =& $db->query("SELECT * FROM version v JOIN distribution d ON v.dist_id=d.dist_id WHERE v.version_id='$versID'"); |
199 | $res =& $db->query("SELECT * FROM version v JOIN distribution d ON v.dist_id=d.dist_id WHERE v.version_id='$versID'"); |
200 | $res->fetchInto($log, DB_FETCHMODE_ASSOC); |
200 | $res->fetchInto($log, DB_FETCHMODE_ASSOC); |
201 | 201 | ||
202 | $res =& $db->query("DELETE FROM version WHERE version_id='$versID'"); |
202 | $res =& $db->query("DELETE FROM version WHERE version_id='$versID'"); |
203 | $res =& $db->query("DELETE FROM ver2rep WHERE ver_id='$versID'"); |
203 | $res =& $db->query("DELETE FROM ver2rep WHERE ver_id='$versID'"); |
204 | 204 | ||
205 | // ChangeLog recording
|
205 | // ChangeLog recording
|
206 | $title = "Удалена поддержка ".$log["distname"]." ".$log["version"]; |
206 | $title = "Удалена поддержка ".$log["distname"]." ".$log["version"]; |
207 | $dinfo = "Из Ant удалена поддержка версии ".$log["version"]."{CNAME} дистрибутива ".$log["distname"]."."; |
207 | $dinfo = "Из Ant удалена поддержка версии ".$log["version"]."{CNAME} дистрибутива ".$log["distname"]."."; |
208 | if ($log["vname"]!="") { |
208 | if ($log["vname"]!="") { |
209 | $dinfo = str_replace("{CNAME}","(“".$log["vname"]."”)",$dinfo); |
209 | $dinfo = str_replace("{CNAME}","(“".$log["vname"]."”)",$dinfo); |
210 | } else { |
210 | } else { |
211 | $dinfo = str_replace("{CNAME}","",$dinfo); |
211 | $dinfo = str_replace("{CNAME}","",$dinfo); |
212 | }
|
212 | }
|
213 | $res =& $db->query("INSERT INTO changelog SET log_record=NOW(), log_title='$title', log_desc='$dinfo'"); |
213 | $res =& $db->query("INSERT INTO changelog SET log_record=NOW(), log_title='$title', log_desc='$dinfo'"); |
214 | 214 | ||
215 | $go .= "?mode=2"; |
215 | $go .= "?mode=2"; |
216 | 216 | ||
217 | break; |
217 | break; |
218 | case '7': |
218 | case '7': |
219 | // Добавление нового репозитория
|
219 | // Добавление нового репозитория
|
220 | $versID = abs(intval($_POST["vers"])); |
220 | $versID = abs(intval($_POST["vers"])); |
221 | $repname = mysql_real_escape_string($_POST["repName"]); |
221 | $repname = mysql_real_escape_string($_POST["repName"]); |
222 | $repinfo = mysql_real_escape_string($_POST["repInfo"]); |
222 | $repinfo = mysql_real_escape_string($_POST["repInfo"]); |
223 | $repsche = abs(intval($_POST["scheme"])); |
223 | $repsche = abs(intval($_POST["scheme"])); |
224 | $reptype = abs(intval($_POST["rtype"])); |
224 | $reptype = abs(intval($_POST["rtype"])); |
225 | $reproot = abs(intval($_POST["rootFolder"])); |
225 | $reproot = abs(intval($_POST["rootFolder"])); |
226 | 226 | ||
227 | $res =& $db->query("INSERT INTO repository SET repname='$repname', repdescribe='$repinfo', scheme_id='$repsche', rtype_id='$reptype', root_id='$reproot'"); |
227 | $res =& $db->query("INSERT INTO repository SET repname='$repname', repdescribe='$repinfo', scheme_id='$repsche', rtype_id='$reptype', root_id='$reproot'"); |
228 | $res =& $db->query("SELECT rep_id FROM repository ORDER BY rep_id DESC LIMIT 1"); |
228 | $res =& $db->query("SELECT rep_id FROM repository ORDER BY rep_id DESC LIMIT 1"); |
229 | $res->fetchInto($rep, DB_FETCHMODE_ASSOC); |
229 | $res->fetchInto($rep, DB_FETCHMODE_ASSOC); |
230 | $rep_id = $rep["rep_id"]; |
230 | $rep_id = $rep["rep_id"]; |
231 | 231 | ||
232 | $res =& $db->query("INSERT INTO ver2rep SET ver_id='$versID', rep_id='$rep_id'"); |
232 | $res =& $db->query("INSERT INTO ver2rep SET ver_id='$versID', rep_id='$rep_id'"); |
233 | 233 | ||
234 | for ($i=0;$i<count($_POST["sect"]);$i++) { |
234 | for ($i=0;$i<count($_POST["sect"]);$i++) { |
235 | $res =& $db->query("INSERT INTO sect2rep SET sect_id='".$_POST["sect"][$i]."', rep_id='$rep_id'"); |
235 | $res =& $db->query("INSERT INTO sect2rep SET sect_id='".$_POST["sect"][$i]."', rep_id='$rep_id'"); |
236 | }
|
236 | }
|
237 | 237 | ||
238 | $go .= "?mode=3"; |
238 | $go .= "?mode=3"; |
239 | 239 | ||
240 | break; |
240 | break; |
241 | case '8': |
241 | case '8': |
242 | // Правка репозитория
|
242 | // Правка репозитория
|
243 | $repID = abs(intval($_POST["rep"])); |
243 | $repID = abs(intval($_POST["rep"])); |
244 | $repname = mysql_real_escape_string($_POST["repName"]); |
244 | $repname = mysql_real_escape_string($_POST["repName"]); |
245 | $repinfo = mysql_real_escape_string($_POST["repInfo"]); |
245 | $repinfo = mysql_real_escape_string($_POST["repInfo"]); |
246 | $repsche = abs(intval($_POST["scheme"])); |
246 | $repsche = abs(intval($_POST["scheme"])); |
247 | $reptype = abs(intval($_POST["rtype"])); |
247 | $reptype = abs(intval($_POST["rtype"])); |
248 | $reproot = abs(intval($_POST["rootFolder"])); |
248 | $reproot = abs(intval($_POST["rootFolder"])); |
249 | 249 | ||
250 | $res =& $db->query("UPDATE repository SET repname='$repname', repdescribe='$repinfo', scheme_id='$repsche', rtype_id='$reptype', root_id='$reproot' WHERE rep_id='$repID'"); |
250 | $res =& $db->query("UPDATE repository SET repname='$repname', repdescribe='$repinfo', scheme_id='$repsche', rtype_id='$reptype', root_id='$reproot' WHERE rep_id='$repID'"); |
251 | $res =& $db->query("DELETE FROM sect2rep WHERE rep_id='$repID'"); |
251 | $res =& $db->query("DELETE FROM sect2rep WHERE rep_id='$repID'"); |
252 | for ($i=0;$i<count($_POST["sect"]);$i++) { |
252 | for ($i=0;$i<count($_POST["sect"]);$i++) { |
253 | $res =& $db->query("INSERT INTO sect2rep SET sect_id='".$_POST["sect"][$i]."', rep_id='$repID'"); |
253 | $res =& $db->query("INSERT INTO sect2rep SET sect_id='".$_POST["sect"][$i]."', rep_id='$repID'"); |
254 | }
|
254 | }
|
255 | 255 | ||
256 | $go .= "?mode=3"; |
256 | $go .= "?mode=3"; |
257 | 257 | ||
258 | break; |
258 | break; |
259 | case '9': |
259 | case '9': |
260 | // Удаление репозитория
|
260 | // Удаление репозитория
|
261 | $repID = abs(intval($_POST["rep"])); |
261 | $repID = abs(intval($_POST["rep"])); |
262 | 262 | ||
263 | $res =& $db->query("DELETE FROM repository WHERE rep_id='$repID'"); |
263 | $res =& $db->query("DELETE FROM repository WHERE rep_id='$repID'"); |
264 | $res =& $db->query("DELETE FROM sect2rep WHERE rep_id='$repID'"); |
264 | $res =& $db->query("DELETE FROM sect2rep WHERE rep_id='$repID'"); |
265 | $res =& $db->query("DELETE FROM ver2rep WHERE rep_id='$repID'"); |
265 | $res =& $db->query("DELETE FROM ver2rep WHERE rep_id='$repID'"); |
266 | 266 | ||
267 | $go .= "?mode=3"; |
267 | $go .= "?mode=3"; |
268 | 268 | ||
269 | break; |
269 | break; |
270 | case '10': |
270 | case '10': |
271 | // Создание секции
|
271 | // Создание секции
|
272 | $sectname = mysql_real_escape_string($_POST["sectName"]); |
272 | $sectname = mysql_real_escape_string($_POST["sectName"]); |
273 | $sectinfo = mysql_real_escape_string($_POST["sectInfo"]); |
273 | $sectinfo = mysql_real_escape_string($_POST["sectInfo"]); |
274 | 274 | ||
275 | $req =& $db->query("INSERT INTO section SET sectname='$sectname', sectinfo='$sectinfo'"); |
275 | $req =& $db->query("INSERT INTO section SET sectname='$sectname', sectinfo='$sectinfo'"); |
276 | $req =& $db->query("SELECT sect_id FROM section ORDER BY sect_id DESC LIMIT 1"); |
276 | $req =& $db->query("SELECT sect_id FROM section ORDER BY sect_id DESC LIMIT 1"); |
277 | $req->fetchInto($sect, DB_FETCHMODE_ASSOC); |
277 | $req->fetchInto($sect, DB_FETCHMODE_ASSOC); |
278 | 278 | ||
279 | for($i=0;$i<count($_POST["dist"]);$i++) { |
279 | for($i=0;$i<count($_POST["dist"]);$i++) { |
280 | $req =& $db->query("INSERT INTO sect2dist SET dist_id='".$_POST["dist"][$i]."', sect_id='".$sect["sect_id"]."'"); |
280 | $req =& $db->query("INSERT INTO sect2dist SET dist_id='".$_POST["dist"][$i]."', sect_id='".$sect["sect_id"]."'"); |
281 | }
|
281 | }
|
282 | 282 | ||
283 | $go .= "?mode=4"; |
283 | $go .= "?mode=4"; |
284 | 284 | ||
285 | break; |
285 | break; |
286 | case '11': |
286 | case '11': |
287 | // Правка секции
|
287 | // Правка секции
|
288 | $sectID = abs(intval($_POST["sectID"])); |
288 | $sectID = abs(intval($_POST["sectID"])); |
289 | $sectname = mysql_real_escape_string($_POST["sectName"]); |
289 | $sectname = mysql_real_escape_string($_POST["sectName"]); |
290 | $sectinfo = mysql_real_escape_string($_POST["sectInfo"]); |
290 | $sectinfo = mysql_real_escape_string($_POST["sectInfo"]); |
291 | 291 | ||
292 | $req =& $db->query("UPDATE section SET sectname='$sectname', sectinfo='$sectinfo' WHERE sect_id='$sectID'"); |
292 | $req =& $db->query("UPDATE section SET sectname='$sectname', sectinfo='$sectinfo' WHERE sect_id='$sectID'"); |
293 | $req =& $db->query("DELETE FROM sect2dist WHERE sect_id='$sectID'"); |
293 | $req =& $db->query("DELETE FROM sect2dist WHERE sect_id='$sectID'"); |
294 | 294 | ||
295 | for($i=0;$i<count($_POST["dist"]);$i++) { |
295 | for($i=0;$i<count($_POST["dist"]);$i++) { |
296 | $req =& $db->query("INSERT INTO sect2dist SET dist_id='".$_POST["dist"][$i]."', sect_id='".$sectID."'"); |
296 | $req =& $db->query("INSERT INTO sect2dist SET dist_id='".$_POST["dist"][$i]."', sect_id='".$sectID."'"); |
297 | }
|
297 | }
|
298 | 298 | ||
299 | $go .= "?mode=4"; |
299 | $go .= "?mode=4"; |
300 | 300 | ||
301 | break; |
301 | break; |
302 | case '12': |
302 | case '12': |
303 | // Удаление секции
|
303 | // Удаление секции
|
304 | $sectID = abs(intval($_POST["sectID"])); |
304 | $sectID = abs(intval($_POST["sectID"])); |
305 | 305 | ||
306 | $req =& $db->query("DELETE FROM section WHERE sect_id='$sectID'"); |
306 | $req =& $db->query("DELETE FROM section WHERE sect_id='$sectID'"); |
307 | $req =& $db->query("DELETE FROM sect2dist WHERE sect_id='$sectID'"); |
307 | $req =& $db->query("DELETE FROM sect2dist WHERE sect_id='$sectID'"); |
308 | $req =& $db->query("DELETE FROM sect2rep WHERE sect_id='$sectID'"); |
308 | $req =& $db->query("DELETE FROM sect2rep WHERE sect_id='$sectID'"); |
309 | 309 | ||
310 | $go .= "?mode=4"; |
310 | $go .= "?mode=4"; |
311 | 311 | ||
312 | break; |
312 | break; |
313 | case '13': |
313 | case '13': |
314 | // Добавление новой схемы
|
314 | // Добавление новой схемы
|
315 | $scheme = mysql_real_escape_string($_POST["scheme"]); |
315 | $scheme = mysql_real_escape_string($_POST["scheme"]); |
316 | 316 | ||
317 | $req =& $db->query("INSERT INTO scheme SET scheme='$scheme'"); |
317 | $req =& $db->query("INSERT INTO scheme SET scheme='$scheme'"); |
318 | 318 | ||
319 | $go .= "?mode=5"; |
319 | $go .= "?mode=5"; |
320 | 320 | ||
321 | break; |
321 | break; |
322 | case '14': |
322 | case '14': |
323 | // Правка схемы
|
323 | // Правка схемы
|
324 | $schemeID = abs(intval($_POST["schemeID"])); |
324 | $schemeID = abs(intval($_POST["schemeID"])); |
325 | $scheme = mysql_real_escape_string($_POST["scheme"]); |
325 | $scheme = mysql_real_escape_string($_POST["scheme"]); |
326 | 326 | ||
327 | $req =& $db->query("UPDATE scheme SET scheme='$scheme' WHERE scheme_id='$schemeID'"); |
327 | $req =& $db->query("UPDATE scheme SET scheme='$scheme' WHERE scheme_id='$schemeID'"); |
328 | 328 | ||
329 | $go .= "?mode=5"; |
329 | $go .= "?mode=5"; |
330 | 330 | ||
331 | break; |
331 | break; |
332 | case '15': |
332 | case '15': |
333 | // Удаление схемы
|
333 | // Удаление схемы
|
334 | $schemeID = abs(intval($_POST["schemeID"])); |
334 | $schemeID = abs(intval($_POST["schemeID"])); |
335 | 335 | ||
336 | $req =& $db->query("DELETE FROM scheme WHERE scheme_id='$schemeID'"); |
336 | $req =& $db->query("DELETE FROM scheme WHERE scheme_id='$schemeID'"); |
337 | 337 | ||
338 | $go .= "?mode=5"; |
338 | $go .= "?mode=5"; |
339 | 339 | ||
340 | break; |
340 | break; |
341 | case '16': |
341 | case '16': |
342 | // Добавление новой настройки Ant
|
342 | // Добавление новой настройки Ant
|
343 | $option = mysql_real_escape_string($_POST["setoption"]); |
343 | $option = mysql_real_escape_string($_POST["setoption"]); |
344 | $value = mysql_real_escape_string($_POST["setvalue"]); |
344 | $value = mysql_real_escape_string($_POST["setvalue"]); |
345 | 345 | ||
346 | $req =& $db->query("INSERT INTO settings SET opt='$option', optvalue='$value'"); |
346 | $req =& $db->query("INSERT INTO settings SET opt='$option', optvalue='$value'"); |
347 | 347 | ||
348 | break; |
348 | break; |
349 | case '17': |
349 | case '17': |
350 | // Правка настройки Ant
|
350 | // Правка настройки Ant
|
351 | $optID = abs(intval($_POST["optID"])); |
351 | $optID = abs(intval($_POST["optID"])); |
352 | $option = mysql_real_escape_string($_POST["setoption"]); |
352 | $option = mysql_real_escape_string($_POST["setoption"]); |
353 | $value = mysql_real_escape_string($_POST["setvalue"]); |
353 | $value = mysql_real_escape_string($_POST["setvalue"]); |
354 | 354 | ||
355 | $req =& $db->query("UPDATE settings SET opt='$option', optvalue='$value' WHERE opt_id='$optID'"); |
355 | $req =& $db->query("UPDATE settings SET opt='$option', optvalue='$value' WHERE opt_id='$optID'"); |
356 | 356 | ||
357 | break; |
357 | break; |
358 | case '18': |
358 | case '18': |
359 | // Удаление настройки
|
359 | // Удаление настройки
|
360 | $optID = abs(intval($_POST["optID"])); |
360 | $optID = abs(intval($_POST["optID"])); |
361 | 361 | ||
362 | $req =& $db->query("DELETE FROM settings WHERE opt_id='$optID'"); |
362 | $req =& $db->query("DELETE FROM settings WHERE opt_id='$optID'"); |
363 | 363 | ||
364 | break; |
364 | break; |
365 | case '19': |
365 | case '19': |
366 | // Добавление нового типа репозитория
|
366 | // Добавление нового типа репозитория
|
367 | $rtype = mysql_real_escape_string($_POST["rtype"]); |
367 | $rtype = mysql_real_escape_string($_POST["rtype"]); |
368 | 368 | ||
369 | $req =& $db->query("INSERT INTO rtype SET rtype='$rtype'"); |
369 | $req =& $db->query("INSERT INTO rtype SET rtype='$rtype'"); |
370 | 370 | ||
371 | $go .= "?mode=7"; |
371 | $go .= "?mode=7"; |
372 | 372 | ||
373 | break; |
373 | break; |
374 | case '20': |
374 | case '20': |
375 | // Правка существующего типа репозитория
|
375 | // Правка существующего типа репозитория
|
376 | $rtypeID = abs(intval($_POST["rtypeID"])); |
376 | $rtypeID = abs(intval($_POST["rtypeID"])); |
377 | $rtype = mysql_real_escape_string($_POST["rtype"]); |
377 | $rtype = mysql_real_escape_string($_POST["rtype"]); |
378 | 378 | ||
379 | $req =& $db->query("UPDATE rtype SET rtype='$rtype' WHERE rtype_id='$rtypeID'"); |
379 | $req =& $db->query("UPDATE rtype SET rtype='$rtype' WHERE rtype_id='$rtypeID'"); |
380 | 380 | ||
381 | $go .= "?mode=7"; |
381 | $go .= "?mode=7"; |
382 | 382 | ||
383 | break; |
383 | break; |
384 | case '21': |
384 | case '21': |
385 | // Удаление типа репозитория
|
385 | // Удаление типа репозитория
|
386 | $rtypeID = abs(intval($_POST["rtypeID"])); |
386 | $rtypeID = abs(intval($_POST["rtypeID"])); |
387 | 387 | ||
388 | $req =& $db->query("DELETE FROM rtype WHERE rtype_id='$rtypeID'"); |
388 | $req =& $db->query("DELETE FROM rtype WHERE rtype_id='$rtypeID'"); |
389 | 389 | ||
390 | $go .= "?mode=7"; |
390 | $go .= "?mode=7"; |
391 | 391 | ||
392 | break; |
392 | break; |
393 | case '22': |
393 | case '22': |
394 | // Смена пароля
|
394 | // Смена пароля
|
395 | // $OID = abs(intval($_POST["OID"]));
|
395 | // $OID = abs(intval($_POST["OID"]));
|
396 | $oldpass = mysql_real_escape_string($_POST["oldPW"]); |
396 | $oldpass = mysql_real_escape_string($_POST["oldPW"]); |
397 | $newpass1 = mysql_real_escape_string($_POST["newPW1"]); |
397 | $newpass1 = mysql_real_escape_string($_POST["newPW1"]); |
398 | $newpass2 = mysql_real_escape_string($_POST["newPW2"]); |
398 | $newpass2 = mysql_real_escape_string($_POST["newPW2"]); |
399 | 399 | ||
400 | $errpwd = 0; |
400 | $errpwd = 0; |
401 | $spass = md5($newpass1."ANT"); |
401 | $spass = md5($newpass1."ANT"); |
402 | $soldpass = md5($oldpass."ANT"); |
402 | $soldpass = md5($oldpass."ANT"); |
403 | if ($soldpass != $_COOKIE[$CookiePasswd]) { |
403 | if ($soldpass != $_COOKIE[$CookiePasswd]) { |
404 | $go .= "?error=1"; |
404 | $go .= "?error=1"; |
405 | $errpwd = 1; |
405 | $errpwd = 1; |
406 | }
|
406 | }
|
407 | if ($newpass1 != $newpass2) { |
407 | if ($newpass1 != $newpass2) { |
408 | $go .= "?error=2"; |
408 | $go .= "?error=2"; |
409 | $errpwd = 2; |
409 | $errpwd = 2; |
410 | }
|
410 | }
|
411 | 411 | ||
412 | if ($errpwd==0) { |
412 | if ($errpwd==0) { |
413 | // fix: Для многопользовательского варианта придется запрос переписать
|
413 | // fix: Для многопользовательского варианта придется запрос переписать
|
414 | $req =& $db->query("UPDATE owner SET passwd='$spass' WHERE login='admin'"); |
414 | $req =& $db->query("UPDATE owner SET passwd='$spass' WHERE login='admin'"); |
415 | }
|
415 | }
|
416 | 416 | ||
417 | break; |
417 | break; |
418 | case '23': |
418 | case '23': |
419 | // Добавление интерфейса
|
419 | // Добавление интерфейса
|
420 | $ifname = mysql_real_escape_string($_POST["ifname"]); |
420 | $ifname = mysql_real_escape_string($_POST["ifname"]); |
421 | $ifinfo = mysql_real_escape_string($_POST["ifinfo"]); |
421 | $ifinfo = mysql_real_escape_string($_POST["ifinfo"]); |
422 | $ifname = str_replace(".php","",$ifname); |
422 | $ifname = str_replace(".php","",$ifname); |
423 | $req =& $db->query("INSERT INTO interfaces SET interface='$ifname', interfaceinfo='$ifinfo'"); |
423 | $req =& $db->query("INSERT INTO interfaces SET interface='$ifname', interfaceinfo='$ifinfo'"); |
424 | break; |
424 | break; |
425 | case '24': |
425 | case '24': |
426 | // Правка интерфейса
|
426 | // Правка интерфейса
|
427 | $ifname = mysql_real_escape_string($_POST["ifname"]); |
427 | $ifname = mysql_real_escape_string($_POST["ifname"]); |
428 | $ifinfo = mysql_real_escape_string($_POST["ifinfo"]); |
428 | $ifinfo = mysql_real_escape_string($_POST["ifinfo"]); |
429 | $if = abs(intval($_POST["if"])); |
429 | $if = abs(intval($_POST["if"])); |
430 | $ifname = str_replace(".php","",$ifname); |
430 | $ifname = str_replace(".php","",$ifname); |
431 | $req =& $db->query("UPDATE interfaces SET interface='$ifname', interfaceinfo='$ifinfo' WHERE if_id='$if'"); |
431 | $req =& $db->query("UPDATE interfaces SET interface='$ifname', interfaceinfo='$ifinfo' WHERE if_id='$if'"); |
432 | break; |
432 | break; |
433 | case '25': |
433 | case '25': |
434 | // Удаление интерфейса
|
434 | // Удаление интерфейса
|
435 | $if = abs(intval($_POST["if"])); |
435 | $if = abs(intval($_POST["if"])); |
436 | $req =& $db->query("DELETE FROM interfaces WHERE if_id='$if'"); |
436 | $req =& $db->query("DELETE FROM interfaces WHERE if_id='$if'"); |
437 | break; |
437 | break; |
438 | case '26': |
438 | case '26': |
439 | // Создание корневой папки репозиториев
|
439 | // Создание корневой папки репозиториев
|
440 | $root = mysql_real_escape_string($_POST["rootFolder"]); |
440 | $root = mysql_real_escape_string($_POST["rootFolder"]); |
441 | $req =& $db->query("INSERT INTO root SET root_folder='$root'"); |
441 | $req =& $db->query("INSERT INTO root SET root_folder='$root'"); |
442 | $go .= "?mode=8"; |
442 | $go .= "?mode=8"; |
443 | break; |
443 | break; |
444 | case '27': |
444 | case '27': |
445 | // Редактирование корневой папки репозиториев
|
445 | // Редактирование корневой папки репозиториев
|
446 | $root_id = abs(intval($_POST["rootID"])); |
446 | $root_id = abs(intval($_POST["rootID"])); |
447 | $root_fd = mysql_real_escape_string($_POST["rootFolder"]); |
447 | $root_fd = mysql_real_escape_string($_POST["rootFolder"]); |
448 | $req =& $db->query("UPDATE root SET root_folder='$root_fd' WHERE root_id='$root_id'"); |
448 | $req =& $db->query("UPDATE root SET root_folder='$root_fd' WHERE root_id='$root_id'"); |
449 | $go .= "?mode=8"; |
449 | $go .= "?mode=8"; |
450 | break; |
450 | break; |
451 | case '28': |
451 | case '28': |
452 | // Удаление корневой папки репозиториев
|
452 | // Удаление корневой папки репозиториев
|
453 | $root_id = abs(intval($_POST["rootID"])); |
453 | $root_id = abs(intval($_POST["rootID"])); |
454 | $req =& $db->query("DELETE FROM root WHERE root_id='$root_id'"); |
454 | $req =& $db->query("DELETE FROM root WHERE root_id='$root_id'"); |
455 | $go .= "?mode=8"; |
455 | $go .= "?mode=8"; |
456 | break; |
456 | break; |
457 | }
|
457 | }
|
458 | 458 | ||
459 | header("Location: $go\n\n"); |
459 | header("Location: $go\n\n"); |
460 | 460 | ||
461 | ?>
|
461 | ?>
|
462 | 462 |