Хранилища Subversion ant

Редакция

Редакция 156 | Редакция 167 | К новейшей редакции | Весь файл | Не учитывать пробелы | Содержимое файла | Авторство | Последнее изменение | Открыть журнал | RSS

Редакция 156 Редакция 166
Строка 22... Строка 22...
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
$act = abs(intval($_POST["act"]));
27
28
28
$go = "./admin.php";
29
$go = "./admin.php";
29
30
30
switch ($mode) {
31
switch ($cat) {
31
    case '0':
32
    case '0':
-
 
33
        switch ($act) {
-
 
34
            case '0':
32
            break;
35
            break;
33
    case '1':
36
            case '1':
34
            // Добавление нового дистрибутива
37
                // Добавление нового дистрибутива
35
            $distname = mysql_real_escape_string($_POST["distName"]);
38
                $distname = mysql_real_escape_string($_POST["distName"]);
36
            $distua   = mysql_real_escape_string($_POST["distUA"]);
39
                $distua   = mysql_real_escape_string($_POST["distUA"]);
37
            $disttype = abs(intval($_POST["distType"]));
40
                $disttype = abs(intval($_POST["distType"]));
38
41
39
            $distlogo = 0;
42
                $distlogo = 0;
40
            if ($_FILES["distLOGO"]["type"]!=0) {
43
                if ($_FILES["distLOGO"]["type"]!=0) {
41
                $folder   = dirname(__FILE__)."/img/logo/".stripslashes($distua)."-orig.png";
44
                    $folder   = dirname(__FILE__)."/img/logo/".stripslashes($distua)."-orig.png";
42
                $folderN  = dirname(__FILE__)."/img/logo/".stripslashes($distua).".png";
45
                    $folderN  = dirname(__FILE__)."/img/logo/".stripslashes($distua).".png";
43
                $folderEM = dirname(__FILE__)."/img/logo/".stripslashes($distua)."-em.png";
46
                    $folderEM = dirname(__FILE__)."/img/logo/".stripslashes($distua)."-em.png";
44
                if (move_uploaded_file($_FILES["distLOGO"]["tmp_name"],$folder)) {
47
                    if (move_uploaded_file($_FILES["distLOGO"]["tmp_name"],$folder)) {
45
                        chmod($folder, 0644);
48
                        chmod($folder, 0644);
46
                        list($width, $height) = GetImageSize($folder);
49
                        list($width, $height) = GetImageSize($folder);
47
                        $percent = 32/$height;
50
                        $percent = 32/$height;
48
                        $newwidth = $width * $percent;
51
                        $newwidth = $width * $percent;
49
                        $newheight = $height * $percent;
52
                        $newheight = $height * $percent;
Строка 63... Строка 66...
63
                        ImageCopyResized($output, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
66
                        ImageCopyResized($output, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
64
                        ImagePNG($output, $folderN);
67
                        ImagePNG($output, $folderN);
65
68
66
                        unlink($folder);
69
                        unlink($folder);
67
                        $distlogo = 1;
70
                        $distlogo = 1;
-
 
71
                    }
68
                }
72
                }
69
            }
-
 
70
           
-
 
71
            $res =& $db->query("INSERT INTO distribution SET distname='$distname', distua='$distua', disttype='$disttype', distlogo='$distlogo'");
-
 
72
-
 
73
            // ChangeLog recording
-
 
74
            $res =& $db->query("SELECT * FROM dtype WHERE type_id='$disttype'");
-
 
75
            $res->fetchInto($log, DB_FETCHMODE_ASSOC);
-
 
76
            $title = "Добавлен новый дистрибутив";
-
 
77
            $dinfo = "В Ant добавлена поддержка основанного на ".stripslashes($log["type"])."-пакетах дистрибутива ".$distname.".";
-
 
78
            $res =& $db->query("INSERT INTO changelog SET log_record=NOW(), log_title='$title', log_desc='$dinfo'");
-
 
79
73
-
 
74
                $res =& $db->query("INSERT INTO distribution SET distname='$distname', distua='$distua', disttype='$disttype', distlogo='$distlogo'");
-
 
75
-
 
76
                // ChangeLog recording
-
 
77
                $res =& $db->query("SELECT * FROM dtype WHERE type_id='$disttype'");
-
 
78
                $res->fetchInto($log, DB_FETCHMODE_ASSOC);
-
 
79
                $title = "Добавлен новый дистрибутив";
-
 
80
                $dinfo = "В Ant добавлена поддержка основанного на ".stripslashes($log["type"])."-пакетах дистрибутива ".$distname.".";
-
 
81
                $res =& $db->query("INSERT INTO changelog SET log_record=NOW(), log_title='$title', log_desc='$dinfo'");
-
 
82
80
            $go .= "?mode=1";
83
                $go .= "?mode=0&act=0";
81
           
84
82
            break;
85
                break;
83
    case '2':
86
            case '2':
84
            // Правка существующего дистрибутива
87
                // Правка существующего дистрибутива
85
            $distname = mysql_real_escape_string($_POST["distName"]);
88
                $distname = mysql_real_escape_string($_POST["distName"]);
86
            $distua   = mysql_real_escape_string($_POST["distUA"]);
89
                $distua   = mysql_real_escape_string($_POST["distUA"]);
87
            $disttype = abs(intval($_POST["distType"]));
90
                $disttype = abs(intval($_POST["distType"]));
88
            $distID = abs(intval($_POST["distID"]));
91
                $distID = abs(intval($_POST["distID"]));
89
92
90
            if ($_FILES["distLOGO"]["type"]!='') {
93
                if ($_FILES["distLOGO"]["type"]!='') {
91
                $folder   = dirname(__FILE__)."/img/logo/".$distua."-orig.png";
94
                    $folder   = dirname(__FILE__)."/img/logo/".$distua."-orig.png";
92
                $folderN  = dirname(__FILE__)."/img/logo/".$distua.".png";
95
                    $folderN  = dirname(__FILE__)."/img/logo/".$distua.".png";
93
                $folderEM = dirname(__FILE__)."/img/logo/".$distua."-em.png";
96
                    $folderEM = dirname(__FILE__)."/img/logo/".$distua."-em.png";
94
                if (move_uploaded_file($_FILES["distLOGO"]["tmp_name"],$folder)) {
97
                    if (move_uploaded_file($_FILES["distLOGO"]["tmp_name"],$folder)) {
95
                        chmod ($folder, 0644);
98
                        chmod ($folder, 0644);
96
                        list($width, $height) = GetImageSize($folder);
99
                        list($width, $height) = GetImageSize($folder);
97
                        $percent = 32/$height;
100
                        $percent = 32/$height;
98
                        $newwidth = $width * $percent;
101
                        $newwidth = $width * $percent;
99
                        $newheight = $height * $percent;
102
                        $newheight = $height * $percent;
Строка 119... Строка 122...
119
122
120
                        unlink($folder);
123
                        unlink($folder);
121
124
122
                        $res =& $db->query("UPDATE distribution SET distlogo='1' WHERE dist_id='$distID'");
125
                        $res =& $db->query("UPDATE distribution SET distlogo='1' WHERE dist_id='$distID'");
123
126
-
 
127
                    }
-
 
128
                }
-
 
129
-
 
130
                $res =& $db->query("UPDATE distribution SET distname='$distname', distua='$distua', disttype='$disttype' WHERE dist_id='$distID'");
-
 
131
-
 
132
                $go .= "?mode=0&act=0";
-
 
133
-
 
134
            break;
-
 
135
            case '3':
-
 
136
                // Удаление существующего дистрибутива
-
 
137
                $distID = abs(intval($_POST["distID"]));
-
 
138
                $distUA = $_POST["distUA"];
-
 
139
-
 
140
                $folder1 = dirname(__FILE__)."/img/logo/".$distUA."-em.png";
-
 
141
                $folder2 = dirname(__FILE__)."/img/logo/".$distUA.".png";
-
 
142
-
 
143
                if (file_exists($folder1)) { unlink($folder1); }
-
 
144
                if (file_exists($folder2)) { unlink($folder2); }
-
 
145
-
 
146
                $res =& $db->query("SELECT * FROM distribution d JOIN dtype t ON d.disttype=t.type_id WHERE d.dist_id='$distID'");
-
 
147
                $res->fetchInto($log, DB_FETCHMODE_ASSOC);
-
 
148
-
 
149
                $res =& $db->query("DELETE FROM distribution WHERE dist_id='$distID'");
-
 
150
                $res =& $db->query("DELETE FROM sect2dist WHERE dist_id='$distID'");       
-
 
151
                $res =& $db->query("DELETE FROM version WHERE dist_id='$distID'");
-
 
152
-
 
153
                // ChangeLog recording
-
 
154
                $title = "Удаление поддержки дистрибутива";
-
 
155
                $dinfo = "Из Ant удалена поддержка основанного на ".stripslashes($log["type"])."-пакетах дистрибутива ".stripslashes($log["distname"]).".";
-
 
156
                $res =& $db->query("INSERT INTO changelog SET log_record=NOW(), log_title='$title', log_desc='$dinfo'");
-
 
157
-
 
158
                $go .= "?mode=0&act=0";
-
 
159
-
 
160
            break;
-
 
161
        }
-
 
162
    break;
-
 
163
    case '1':
-
 
164
        switch ($act) {
-
 
165
            case '0':
-
 
166
            break;
-
 
167
            case '1':
-
 
168
                // Добавление новой версии дистрибутива
-
 
169
                $versname = mysql_real_escape_string($_POST["versNam"]);
-
 
170
                $versnumb = mysql_real_escape_string($_POST["versNum"]);
-
 
171
                $verscode = mysql_real_escape_string($_POST["versCN"]);
-
 
172
                $distname = abs(intval($_POST["distName"]));
-
 
173
-
 
174
                $res =& $db->query("INSERT INTO version SET dist_id='$distname', vname='$versname', version='$versnumb', vcodename='$verscode'");
-
 
175
-
 
176
                // ChangeLog recording
-
 
177
                $res =& $db->query("SELECT * FROM distribution WHERE dist_id='$distname'");
-
 
178
                $res->fetchInto($log, DB_FETCHMODE_ASSOC);
-
 
179
                $title = "Добавлена новая версия ".$log["distname"];
-
 
180
                $dinfo = "В Ant добавлена поддержка новой версии дистрибутива ".$log["distname"]." – ".$versnumb;
-
 
181
                if ($versname!="") {
-
 
182
                    $dinfo .= " с кодовым названием “".$versname."”.";
-
 
183
                } else {
-
 
184
                    $dinfo .= ".";
-
 
185
                }
-
 
186
                $res =& $db->query("INSERT INTO changelog SET log_record=NOW(), log_title='$title', log_desc='$dinfo'");
-
 
187
-
 
188
                $go .= "?mode=1&act=0";
-
 
189
-
 
190
            break;
-
 
191
            case '2':
-
 
192
                // Правка имеющейся версии дистрибутива
-
 
193
                $versname = mysql_real_escape_string($_POST["versNam"]);
-
 
194
                $versnumb = mysql_real_escape_string($_POST["versNum"]);
-
 
195
                $verscode = mysql_real_escape_string($_POST["versCN"]);
-
 
196
                $distname = abs(intval($_POST["distName"]));
-
 
197
                $versID   = abs(intval($_POST["versID"]));
-
 
198
-
 
199
                $res =& $db->query("UPDATE version SET dist_id='$distname', vname='$versname', version='$versnumb', vcodename='$verscode' WHERE version_id='$versID'");
-
 
200
-
 
201
                $go .= "?mode=1&act=0";
-
 
202
-
 
203
            break;
-
 
204
            case '3':
-
 
205
                // Удаление существующей версии дистрибутива
-
 
206
                $versID = abs(intval($_POST["versID"]));
-
 
207
-
 
208
                $res =& $db->query("SELECT * FROM version v JOIN distribution d ON v.dist_id=d.dist_id WHERE v.version_id='$versID'");
-
 
209
                $res->fetchInto($log, DB_FETCHMODE_ASSOC);
-
 
210
-
 
211
                $res =& $db->query("DELETE FROM version WHERE version_id='$versID'");
-
 
212
                $res =& $db->query("DELETE FROM ver2rep WHERE ver_id='$versID'");
-
 
213
-
 
214
                // ChangeLog recording
-
 
215
                $title = "Удалена поддержка ".$log["distname"]." ".$log["version"];
-
 
216
                $dinfo = "Из Ant удалена поддержка версии ".$log["version"]."{CNAME} дистрибутива ".$log["distname"].".";
-
 
217
                if ($log["vname"]!="") {
-
 
218
                $dinfo = str_replace("{CNAME}","(“".$log["vname"]."”)",$dinfo);
-
 
219
                } else {
-
 
220
                    $dinfo = str_replace("{CNAME}","",$dinfo);
124
                }
221
                }
125
            }
-
 
126
           
-
 
127
            $res =& $db->query("UPDATE distribution SET distname='$distname', distua='$distua', disttype='$disttype' WHERE dist_id='$distID'");
222
                $res =& $db->query("INSERT INTO changelog SET log_record=NOW(), log_title='$title', log_desc='$dinfo'");
128
           
223
129
            $go .= "?mode=1";
224
                $go .= "?mode=1&act=0";
130
225
131
            break;
226
            break;
-
 
227
        }
-
 
228
    case '2':
-
 
229
        switch ($act) {
-
 
230
            case '0':
-
 
231
            break;
-
 
232
            case '1':
-
 
233
                // Добавление нового репозитория
-
 
234
                $versID  = abs(intval($_POST["vers"]));
-
 
235
                $repname = mysql_real_escape_string($_POST["repName"]);
-
 
236
                $repinfo = mysql_real_escape_string($_POST["repInfo"]);
-
 
237
                $repsche = abs(intval($_POST["scheme"]));
-
 
238
                $reptype = abs(intval($_POST["rtype"]));
-
 
239
                $reproot = abs(intval($_POST["rootFolder"]));
-
 
240
-
 
241
                $res =& $db->query("INSERT INTO repository SET repname='$repname', repdescribe='$repinfo', scheme_id='$repsche', rtype_id='$reptype', root_id='$reproot'");
-
 
242
                $res =& $db->query("SELECT rep_id FROM repository ORDER BY rep_id DESC LIMIT 1");
-
 
243
                $res->fetchInto($rep, DB_FETCHMODE_ASSOC);
-
 
244
                $rep_id = $rep["rep_id"];
-
 
245
-
 
246
                $res =& $db->query("INSERT INTO ver2rep SET ver_id='$versID', rep_id='$rep_id'");
-
 
247
-
 
248
                for ($i=0;$i<count($_POST["sect"]);$i++) {
-
 
249
                $res =& $db->query("INSERT INTO sect2rep SET sect_id='".$_POST["sect"][$i]."', rep_id='$rep_id'");
-
 
250
                }
-
 
251
-
 
252
                $go .= "?mode=2&act=0";
-
 
253
-
 
254
            break;
-
 
255
            case '2':
-
 
256
                // Правка репозитория
-
 
257
                $repID = abs(intval($_POST["rep"]));
-
 
258
                $repname = mysql_real_escape_string($_POST["repName"]);
-
 
259
                $repinfo = mysql_real_escape_string($_POST["repInfo"]);
-
 
260
                $repsche = abs(intval($_POST["scheme"]));
-
 
261
                $reptype = abs(intval($_POST["rtype"]));
-
 
262
                $reproot = abs(intval($_POST["rootFolder"]));
-
 
263
-
 
264
                $res =& $db->query("UPDATE repository SET repname='$repname', repdescribe='$repinfo', scheme_id='$repsche', rtype_id='$reptype', root_id='$reproot' WHERE rep_id='$repID'");
-
 
265
                $res =& $db->query("DELETE FROM sect2rep WHERE rep_id='$repID'");
-
 
266
                for ($i=0;$i<count($_POST["sect"]);$i++) {
-
 
267
                    $res =& $db->query("INSERT INTO sect2rep SET sect_id='".$_POST["sect"][$i]."', rep_id='$repID'");
-
 
268
                }
-
 
269
-
 
270
                $go .= "?mode=2&act=0";
-
 
271
-
 
272
            break;
-
 
273
            case '3':
-
 
274
                // Удаление репозитория
-
 
275
                $repID  = abs(intval($_POST["rep"]));
-
 
276
-
 
277
                $res =& $db->query("DELETE FROM repository WHERE rep_id='$repID'");
-
 
278
                $res =& $db->query("DELETE FROM sect2rep WHERE rep_id='$repID'");
-
 
279
                $res =& $db->query("DELETE FROM ver2rep WHERE rep_id='$repID'");
-
 
280
-
 
281
                $go .= "?mode=2&act=0";
-
 
282
-
 
283
            break;
-
 
284
        }
-
 
285
    break;
132
    case '3':
286
    case '3':
-
 
287
        switch ($act) {
-
 
288
            case '0':
-
 
289
            break;
-
 
290
            case '1':
133
            // Удаление существующего дистрибутива
291
                // Создание секции
134
            $distID = abs(intval($_POST["distID"]));       
292
                $sectname = mysql_real_escape_string($_POST["sectName"]);
135
            $distUA = $_POST["distUA"];
293
                $sectinfo = mysql_real_escape_string($_POST["sectInfo"]);
136
294
137
            $folder1 = dirname(__FILE__)."/img/logo/".$distUA."-em.png";
295
                $req =& $db->query("INSERT INTO section SET sectname='$sectname', sectinfo='$sectinfo'");
138
            $folder2 = dirname(__FILE__)."/img/logo/".$distUA.".png";
296
                $req =& $db->query("SELECT sect_id FROM section ORDER BY sect_id DESC LIMIT 1");
-
 
297
                $req->fetchInto($sect, DB_FETCHMODE_ASSOC);
139
298
140
            if (file_exists($folder1)) { unlink($folder1); }
299
                for($i=0;$i<count($_POST["dist"]);$i++) {
-
 
300
                    $req =& $db->query("INSERT INTO sect2dist SET dist_id='".$_POST["dist"][$i]."', sect_id='".$sect["sect_id"]."'");
-
 
301
                }
-
 
302
141
            if (file_exists($folder2)) { unlink($folder2); }
303
                $go .= "?mode=3&act=0";
142
304
-
 
305
            break;
-
 
306
            case '2':
-
 
307
                // Правка секции
-
 
308
                $sectID = abs(intval($_POST["sectID"]));
143
            $res =& $db->query("SELECT * FROM distribution d JOIN dtype t ON d.disttype=t.type_id WHERE d.dist_id='$distID'");
309
                $sectname = mysql_real_escape_string($_POST["sectName"]);
144
            $res->fetchInto($log, DB_FETCHMODE_ASSOC);
310
                $sectinfo = mysql_real_escape_string($_POST["sectInfo"]);
145
           
311
146
            $res =& $db->query("DELETE FROM distribution WHERE dist_id='$distID'");
312
                $req =& $db->query("UPDATE section SET sectname='$sectname', sectinfo='$sectinfo' WHERE sect_id='$sectID'");
147
            $res =& $db->query("DELETE FROM sect2dist WHERE dist_id='$distID'");           
313
                $req =& $db->query("DELETE FROM sect2dist WHERE sect_id='$sectID'");
-
 
314
-
 
315
                for($i=0;$i<count($_POST["dist"]);$i++) {
148
            $res =& $db->query("DELETE FROM version WHERE dist_id='$distID'");
316
                    $req =& $db->query("INSERT INTO sect2dist SET dist_id='".$_POST["dist"][$i]."', sect_id='".$sectID."'");
-
 
317
                }
149
318
150
            // ChangeLog recording
319
                $go .= "?mode=3&act=0";
-
 
320
-
 
321
            break;
-
 
322
            case '3':
151
            $title = "Удаление поддержки дистрибутива";
323
                // Удаление секции
-
 
324
                $sectID = abs(intval($_POST["sectID"]));
-
 
325
-
 
326
                $req =& $db->query("DELETE FROM section WHERE sect_id='$sectID'");
152
            $dinfo = "Из Ant удалена поддержка основанного на ".stripslashes($log["type"])."-пакетах дистрибутива ".stripslashes($log["distname"]).".";
327
                $req =& $db->query("DELETE FROM sect2dist WHERE sect_id='$sectID'");
153
            $res =& $db->query("INSERT INTO changelog SET log_record=NOW(), log_title='$title', log_desc='$dinfo'");
328
                $req =& $db->query("DELETE FROM sect2rep WHERE sect_id='$sectID'");
154
329
155
            $go .= "?mode=1";
330
                $go .= "?mode=3&act=0";
156
331
157
            break;
332
            break;
-
 
333
        }
-
 
334
    break;
158
    case '4':
335
    case '4':
-
 
336
        switch ($act) {
-
 
337
            case '0':
-
 
338
            break;
-
 
339
            case '1':
159
            // Добавление новой версии дистрибутива
340
                // Создание секции
160
            $versname = mysql_real_escape_string($_POST["versNam"]);
341
                $sectname       = mysql_real_escape_string($_POST["sectName"]);
161
            $versnumb = mysql_real_escape_string($_POST["versNum"]);
342
                $sectinfo       = mysql_real_escape_string($_POST["sectInfo"]);
162
            $verscode = mysql_real_escape_string($_POST["versCN"]);
-
 
163
            $distname = abs(intval($_POST["distName"]));
-
 
164
           
343
165
            $res =& $db->query("INSERT INTO version SET dist_id='$distname', vname='$versname', version='$versnumb', vcodename='$verscode'");
344
                $req =& $db->query("INSERT INTO section SET sectname='$sectname', sectinfo='$sectinfo'");
166
-
 
167
            // ChangeLog recording
-
 
168
            $res =& $db->query("SELECT * FROM distribution WHERE dist_id='$distname'");
345
                $req =& $db->query("SELECT sect_id FROM section ORDER BY sect_id DESC LIMIT 1");
169
            $res->fetchInto($log, DB_FETCHMODE_ASSOC);
346
                $req->fetchInto($sect, DB_FETCHMODE_ASSOC);
170
            $title = "Добавлена новая версия ".$log["distname"];
-
 
171
            $dinfo = "В Ant добавлена поддержка новой версии дистрибутива ".$log["distname"]." &ndash; ".$versnumb;
-
 
-
 
347
172
            if ($versname!="") {
348
                for($i=0;$i<count($_POST["dist"]);$i++) {
173
                $dinfo .= " с кодовым названием &#8220;".$versname."&#8221;.";
349
                    $req =& $db->query("INSERT INTO sect2dist SET dist_id='".$_POST["dist"][$i]."', sect_id='".$sect["sect_id"]."'");
174
            } else {
-
 
175
                $dinfo .= ".";
-
 
176
            }
350
                }
177
            $res =& $db->query("INSERT INTO changelog SET log_record=NOW(), log_title='$title', log_desc='$dinfo'");
-
 
178
           
351
179
            $go .= "?mode=2";
352
                $go .= "?mode=4&act=0";
180
353
181
            break;
354
            break;
-
 
355
            case '2':
-
 
356
                // Правка секции
-
 
357
                $sectID = abs(intval($_POST["sectID"]));
-
 
358
                $sectname = mysql_real_escape_string($_POST["sectName"]);
-
 
359
                $sectinfo = mysql_real_escape_string($_POST["sectInfo"]);
-
 
360
-
 
361
                $req =& $db->query("UPDATE section SET sectname='$sectname', sectinfo='$sectinfo' WHERE sect_id='$sectID'");
-
 
362
                $req =& $db->query("DELETE FROM sect2dist WHERE sect_id='$sectID'");
-
 
363
-
 
364
                for($i=0;$i<count($_POST["dist"]);$i++) {
-
 
365
                    $req =& $db->query("INSERT INTO sect2dist SET dist_id='".$_POST["dist"][$i]."', sect_id='".$sectID."'");
-
 
366
                }
-
 
367
-
 
368
                $go .= "?mode=4&act=0";
-
 
369
-
 
370
            break;
-
 
371
            case '3':
-
 
372
                // Удаление секции
-
 
373
                $sectID = abs(intval($_POST["sectID"]));
-
 
374
-
 
375
                $req =& $db->query("DELETE FROM section WHERE sect_id='$sectID'");
-
 
376
                $req =& $db->query("DELETE FROM sect2dist WHERE sect_id='$sectID'");
-
 
377
                $req =& $db->query("DELETE FROM sect2rep WHERE sect_id='$sectID'");
-
 
378
-
 
379
                $go .= "?mode=4&act=0";
-
 
380
-
 
381
            break;
-
 
382
        }
-
 
383
    break;
182
    case '5':
384
    case '5':
-
 
385
        switch ($act) {
-
 
386
            case '0':
-
 
387
            break;
-
 
388
            case '1':
183
            // Правка имеющейся версии дистрибутива
389
                // Добавление новой схемы
184
            $versname = mysql_real_escape_string($_POST["versNam"]);
390
                $scheme = mysql_real_escape_string($_POST["scheme"]);
-
 
391
185
            $versnumb = mysql_real_escape_string($_POST["versNum"]);
392
                $req =& $db->query("INSERT INTO scheme SET scheme='$scheme'");
-
 
393
186
            $verscode = mysql_real_escape_string($_POST["versCN"]);
394
                $go .= "?mode=5&act=0";
-
 
395
-
 
396
            break;
-
 
397
            case '2':
-
 
398
                // Правка схемы
187
            $distname = abs(intval($_POST["distName"]));
399
                $schemeID = abs(intval($_POST["schemeID"]));
188
            $versID   = abs(intval($_POST["versID"]));
400
                $scheme = mysql_real_escape_string($_POST["scheme"]);
189
           
401
190
            $res =& $db->query("UPDATE version SET dist_id='$distname', vname='$versname', version='$versnumb', vcodename='$verscode' WHERE version_id='$versID'");
402
                $req =& $db->query("UPDATE scheme SET scheme='$scheme' WHERE scheme_id='$schemeID'");
191
           
403
192
            $go .= "?mode=2";
404
                $go .= "?mode=5&act=0";
193
405
194
            break;
406
            break;
-
 
407
            case '3':
-
 
408
                // Удаление схемы
-
 
409
                $schemeID = abs(intval($_POST["schemeID"]));
-
 
410
-
 
411
                $req =& $db->query("DELETE FROM scheme WHERE scheme_id='$schemeID'");
-
 
412
-
 
413
                $go .= "?mode=5&act=0";
-
 
414
-
 
415
            break;
-
 
416
        }
-
 
417
    break;
195
    case '6':
418
    case '6':
-
 
419
        switch ($act) {
-
 
420
            case '0':
-
 
421
            break;
-
 
422
            case '1':
196
            // Удаление существующей версии дистрибутива
423
                // Добавление новой настройки Ant
-
 
424
                $option = mysql_real_escape_string($_POST["setoption"]);
197
            $versID = abs(intval($_POST["versID"]));       
425
                $value = mysql_real_escape_string($_POST["setvalue"]);
-
 
426
-
 
427
                $req =& $db->query("INSERT INTO settings SET opt='$option', optvalue='$value'");
198
428
-
 
429
            break;
-
 
430
            case '2':
-
 
431
                // Правка настройки Ant
-
 
432
                $optID = abs(intval($_POST["optID"]));
199
            $res =& $db->query("SELECT * FROM version v JOIN distribution d ON v.dist_id=d.dist_id WHERE v.version_id='$versID'");
433
                $option = mysql_real_escape_string($_POST["setoption"]);
200
            $res->fetchInto($log, DB_FETCHMODE_ASSOC);
434
                $value = mysql_real_escape_string($_POST["setvalue"]);
201
           
435
202
            $res =& $db->query("DELETE FROM version WHERE version_id='$versID'");
-
 
203
            $res =& $db->query("DELETE FROM ver2rep WHERE ver_id='$versID'");      
436
                $req =& $db->query("UPDATE settings SET opt='$option', optvalue='$value' WHERE opt_id='$optID'");
204
437
205
            // ChangeLog recording
438
            break;
206
            $title = "Удалена поддержка ".$log["distname"]." ".$log["version"];
-
 
207
            $dinfo = "Из Ant удалена поддержка версии ".$log["version"]."{CNAME} дистрибутива ".$log["distname"].".";
-
 
208
            if ($log["vname"]!="") {
-
 
209
                $dinfo = str_replace("{CNAME}","(&#8220;".$log["vname"]."&#8221;)",$dinfo);
-
 
210
            } else {
439
            case '3':
-
 
440
                // Удаление настройки
211
                $dinfo = str_replace("{CNAME}","",$dinfo);
441
                $optID = abs(intval($_POST["optID"]));
212
            }
442
213
            $res =& $db->query("INSERT INTO changelog SET log_record=NOW(), log_title='$title', log_desc='$dinfo'");
443
                $req =& $db->query("DELETE FROM settings WHERE opt_id='$optID'");
214
444
215
            $go .= "?mode=2";
-
 
216
           
-
 
217
            break;
445
            break;
-
 
446
        }
-
 
447
    break;
218
    case '7':
448
    case '7':
219
            // Добавление нового репозитория
-
 
220
            $versID  = abs(intval($_POST["vers"]));
-
 
221
            $repname = mysql_real_escape_string($_POST["repName"]);
-
 
222
            $repinfo = mysql_real_escape_string($_POST["repInfo"]);
-
 
223
            $repsche = abs(intval($_POST["scheme"]));
449
        switch ($act) {
224
            $reptype = abs(intval($_POST["rtype"]));
450
            case '0':
225
            $reproot = abs(intval($_POST["rootFolder"]));
451
            break;
226
-
 
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");
-
 
229
            $res->fetchInto($rep, DB_FETCHMODE_ASSOC);
-
 
230
            $rep_id = $rep["rep_id"];
452
            case '1':
231
-
 
232
            $res =& $db->query("INSERT INTO ver2rep SET ver_id='$versID', rep_id='$rep_id'");
453
                // Добавление нового типа репозитория
233
-
 
234
            for ($i=0;$i<count($_POST["sect"]);$i++) {
454
                $rtype = mysql_real_escape_string($_POST["rtype"]);
235
                $res =& $db->query("INSERT INTO sect2rep SET sect_id='".$_POST["sect"][$i]."', rep_id='$rep_id'");
-
 
236
            }
-
 
237
455
238
            $go .= "?mode=3";
456
                $req =& $db->query("INSERT INTO rtype SET rtype='$rtype'");
239
457
240
            break;
458
                $go .= "?mode=7&act=0";
241
    case '8':
-
 
242
            // Правка репозитория
-
 
243
            $repID      = abs(intval($_POST["rep"]));
-
 
244
            $repname    = mysql_real_escape_string($_POST["repName"]);
-
 
245
            $repinfo = mysql_real_escape_string($_POST["repInfo"]);
-
 
246
            $repsche = abs(intval($_POST["scheme"]));
-
 
247
            $reptype = abs(intval($_POST["rtype"]));
-
 
248
            $reproot = abs(intval($_POST["rootFolder"]));
-
 
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'");
-
 
251
            $res =& $db->query("DELETE FROM sect2rep WHERE rep_id='$repID'");
-
 
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'");
-
 
254
            }
-
 
255
459
-
 
460
            break;
-
 
461
            case '2':
-
 
462
                // Правка существующего типа репозитория
-
 
463
                $rtypeID = abs(intval($_POST["rtypeID"]));
-
 
464
                $rtype = mysql_real_escape_string($_POST["rtype"]);
-
 
465
-
 
466
                $req =& $db->query("UPDATE rtype SET rtype='$rtype' WHERE rtype_id='$rtypeID'");
-
 
467
256
            $go .= "?mode=3";
468
                $go .= "?mode=7&act=0";
257
469
258
            break;
470
            break;
259
    case '9':
471
            case '3':
260
            // Удаление репозитория
472
                // Удаление типа репозитория
261
            $repID      = abs(intval($_POST["rep"]));      
473
                $rtypeID = abs(intval($_POST["rtypeID"]));
262
474
263
            $res =& $db->query("DELETE FROM repository WHERE rep_id='$repID'");
-
 
264
            $res =& $db->query("DELETE FROM sect2rep WHERE rep_id='$repID'");
475
                $req =& $db->query("DELETE FROM rtype WHERE rtype_id='$rtypeID'");
-
 
476
265
            $res =& $db->query("DELETE FROM ver2rep WHERE rep_id='$repID'");
477
                $go .= "?mode=7&act=0";
266
478
267
            $go .= "?mode=3";
-
 
268
           
-
 
269
            break;
479
            break;
-
 
480
        }
-
 
481
    break;
-
 
482
    case '8':
-
 
483
        switch ($act) {
-
 
484
            case '0':
-
 
485
            break;
270
    case '10':
486
            case '1':
271
            // Создание секции
487
                // Смена пароля
-
 
488
                // $OID        = abs(intval($_POST["OID"]));
-
 
489
                $oldpass    = mysql_real_escape_string($_POST["oldPW"]);
272
            $sectname   = mysql_real_escape_string($_POST["sectName"]);
490
                $newpass1   = mysql_real_escape_string($_POST["newPW1"]);
273
            $sectinfo   = mysql_real_escape_string($_POST["sectInfo"]);    
491
                $newpass2   = mysql_real_escape_string($_POST["newPW2"]);
274
           
492
-
 
493
                $errpwd = 0;
275
            $req =& $db->query("INSERT INTO section SET sectname='$sectname', sectinfo='$sectinfo'");
494
                $spass = md5($newpass1."ANT");
276
            $req =& $db->query("SELECT sect_id FROM section ORDER BY sect_id DESC LIMIT 1");
495
                $soldpass = md5($oldpass."ANT");
277
            $req->fetchInto($sect, DB_FETCHMODE_ASSOC);
496
                if ($soldpass != $_COOKIE[$CookiePasswd]) {
-
 
497
                    $go .= "?error=1";
-
 
498
                    $errpwd = 1;
278
           
499
                }
279
            for($i=0;$i<count($_POST["dist"]);$i++) {
500
                if ($newpass1 != $newpass2) {
280
                $req =& $db->query("INSERT INTO sect2dist SET dist_id='".$_POST["dist"][$i]."', sect_id='".$sect["sect_id"]."'");
501
                $go .= "?error=2";
-
 
502
                $errpwd = 2;
281
            }
503
                }
282
504
283
            $go .= "?mode=4";
505
                if ($errpwd==0) {
-
 
506
                // fix: Для многопользовательского варианта придется запрос переписать
-
 
507
                $req =& $db->query("UPDATE owner SET passwd='$spass' WHERE login='admin'");
-
 
508
                }
284
           
509
-
 
510
            break;
-
 
511
        }
-
 
512
    break;
-
 
513
    case '9':
-
 
514
        switch ($act) {
-
 
515
            case '0':
285
            break;
516
            break;
-
 
517
            case '1':
-
 
518
                // Добавление интерфейса
-
 
519
                $ifname = mysql_real_escape_string($_POST["ifname"]);
-
 
520
                $ifinfo = mysql_real_escape_string($_POST["ifinfo"]);
-
 
521
                $ifname = str_replace(".php","",$ifname);
-
 
522
                $req =& $db->query("INSERT INTO interfaces SET interface='$ifname', interfaceinfo='$ifinfo'");
-
 
523
            break;
-
 
524
            case '2':
-
 
525
                // Правка интерфейса
-
 
526
                $ifname = mysql_real_escape_string($_POST["ifname"]);
-
 
527
                $ifinfo = mysql_real_escape_string($_POST["ifinfo"]);
-
 
528
                $if  = abs(intval($_POST["if"]));
-
 
529
                $ifname = str_replace(".php","",$ifname);
-
 
530
                $req =& $db->query("UPDATE interfaces SET interface='$ifname', interfaceinfo='$ifinfo' WHERE if_id='$if'");
-
 
531
            break;
-
 
532
            case '3':
-
 
533
                // Удаление интерфейса
-
 
534
                $if = abs(intval($_POST["if"]));
-
 
535
                $req =& $db->query("DELETE FROM interfaces WHERE if_id='$if'");
-
 
536
            break;
-
 
537
        }
-
 
538
    break;
-
 
539
    case '10':
-
 
540
        switch ($act) {
-
 
541
            case '0':
-
 
542
            break;
-
 
543
            case '1':
-
 
544
                // Создание корневой папки репозиториев
-
 
545
                $root = mysql_real_escape_string($_POST["rootFolder"]);
-
 
546
                $req =& $db->query("INSERT INTO root SET root_folder='$root'");
-
 
547
                $go .= "?mode=10&act=0";
-
 
548
            break;
-
 
549
            case '2':
-
 
550
                // Редактирование корневой папки репозиториев
-
 
551
                $root_id = abs(intval($_POST["rootID"]));
-
 
552
                $root_fd = mysql_real_escape_string($_POST["rootFolder"]);
-
 
553
                $req =& $db->query("UPDATE root SET root_folder='$root_fd' WHERE root_id='$root_id'");
-
 
554
                $go .= "?mode=10&act=0";
-
 
555
            break;
-
 
556
            case '3':
-
 
557
                // Удаление корневой папки репозиториев
-
 
558
                $root_id = abs(intval($_POST["rootID"]));
-
 
559
                $req =& $db->query("DELETE FROM root WHERE root_id='$root_id'");
-
 
560
                $go .= "?mode=10&act=0";
-
 
561
            break;
-
 
562
        }
-
 
563
    break;
286
    case '11':
564
    case '11':
287
            // Правка секции
-
 
288
            $sectID     = abs(intval($_POST["sectID"]));
-
 
289
            $sectname   = mysql_real_escape_string($_POST["sectName"]);
-
 
290
            $sectinfo   = mysql_real_escape_string($_POST["sectInfo"]);    
-
 
291
           
-
 
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'");
-
 
294
           
-
 
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."'");
-
 
297
            }
-
 
298
-
 
299
            $go .= "?mode=4";
-
 
300
           
-
 
301
            break;
-
 
302
    case '12':
-
 
303
            // Удаление секции
-
 
304
            $sectID     = abs(intval($_POST["sectID"]));    
-
 
305
           
-
 
306
            $req =& $db->query("DELETE FROM section 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'");    
-
 
309
           
-
 
310
            $go .= "?mode=4";
-
 
311
-
 
312
            break;
-
 
313
    case '13':
-
 
314
            // Добавление новой схемы
-
 
315
            $scheme     = mysql_real_escape_string($_POST["scheme"]);
-
 
316
               
-
 
317
            $req =& $db->query("INSERT INTO scheme SET scheme='$scheme'");
-
 
318
-
 
319
            $go .= "?mode=5";
-
 
320
-
 
321
            break;
-
 
322
    case '14':
-
 
323
            // Правка схемы
-
 
324
            $schemeID   = abs(intval($_POST["schemeID"]));
-
 
325
            $scheme     = mysql_real_escape_string($_POST["scheme"]);
-
 
326
           
-
 
327
            $req =& $db->query("UPDATE scheme SET scheme='$scheme' WHERE scheme_id='$schemeID'");
-
 
328
           
-
 
329
            $go .= "?mode=5";
-
 
330
-
 
331
            break;
-
 
332
    case '15':
-
 
333
            // Удаление схемы
-
 
334
            $schemeID   = abs(intval($_POST["schemeID"]));         
-
 
335
-
 
336
            $req =& $db->query("DELETE FROM scheme WHERE scheme_id='$schemeID'");
-
 
337
           
-
 
338
            $go .= "?mode=5";
-
 
339
-
 
340
            break;
-
 
341
    case '16':
-
 
342
            // Добавление новой настройки Ant
-
 
343
            $option     = mysql_real_escape_string($_POST["setoption"]);
-
 
344
            $value      = mysql_real_escape_string($_POST["setvalue"]);
-
 
345
               
-
 
346
            $req =& $db->query("INSERT INTO settings SET opt='$option', optvalue='$value'");
-
 
347
-
 
348
            break;
-
 
349
    case '17':
-
 
350
            // Правка настройки Ant
-
 
351
            $optID      = abs(intval($_POST["optID"]));
-
 
352
            $option     = mysql_real_escape_string($_POST["setoption"]);
-
 
353
            $value      = mysql_real_escape_string($_POST["setvalue"]);
-
 
354
           
-
 
355
            $req =& $db->query("UPDATE settings SET opt='$option', optvalue='$value' WHERE opt_id='$optID'");
-
 
356
           
-
 
357
            break;
-
 
358
    case '18':
-
 
359
            // Удаление настройки
-
 
360
            $optID      = abs(intval($_POST["optID"]));    
-
 
361
-
 
362
            $req =& $db->query("DELETE FROM settings WHERE opt_id='$optID'");
-
 
363
           
-
 
364
            break;
-
 
365
    case '19':
565
        switch ($act) {
366
            // Добавление нового типа репозитория
-
 
367
            $rtype      = mysql_real_escape_string($_POST["rtype"]);       
-
 
368
               
-
 
369
            $req =& $db->query("INSERT INTO rtype SET rtype='$rtype'");
-
 
370
-
 
371
            $go .= "?mode=7";
-
 
372
-
 
373
            break;
-
 
374
    case '20':
566
            case '0':
375
            // Правка существующего типа репозитория
-
 
376
            $rtypeID    = abs(intval($_POST["rtypeID"]));
-
 
377
            $rtype      = mysql_real_escape_string($_POST["rtype"]);
-
 
378
                   
-
 
379
            $req =& $db->query("UPDATE rtype SET rtype='$rtype' WHERE rtype_id='$rtypeID'");
-
 
380
-
 
381
            $go .= "?mode=7";
-
 
382
           
-
 
383
            break;
567
            break;
384
    case '21':
568
            case '1':
385
            // Удаление типа репозитория
-
 
386
            $rtypeID    = abs(intval($_POST["rtypeID"]));          
-
 
387
-
 
388
            $req =& $db->query("DELETE FROM rtype WHERE rtype_id='$rtypeID'");
-
 
389
-
 
390
            $go .= "?mode=7";
-
 
391
           
-
 
392
            break;
-
 
393
    case '22':
-
 
394
            // Смена пароля
-
 
395
            // $OID        = abs(intval($_POST["OID"]));
-
 
396
            $oldpass    = mysql_real_escape_string($_POST["oldPW"]);
-
 
397
            $newpass1   = mysql_real_escape_string($_POST["newPW1"]);
-
 
398
            $newpass2   = mysql_real_escape_string($_POST["newPW2"]);
-
 
399
-
 
400
            $errpwd = 0;
-
 
401
            $spass = md5($newpass1."ANT");
-
 
402
            $soldpass = md5($oldpass."ANT");
-
 
403
            if ($soldpass != $_COOKIE[$CookiePasswd]) {
-
 
404
                $go .= "?error=1";
-
 
405
                $errpwd = 1;
-
 
406
            }
-
 
407
            if ($newpass1 != $newpass2) {
-
 
408
                $go .= "?error=2";
-
 
409
                $errpwd = 2;
-
 
410
            }
-
 
411
-
 
412
            if ($errpwd==0) {
-
 
413
                // fix: Для многопользовательского варианта придется запрос переписать
-
 
414
                $req =& $db->query("UPDATE owner SET passwd='$spass' WHERE login='admin'");
-
 
415
            }
-
 
416
-
 
417
            break;
-
 
418
    case '23':
-
 
419
            // Добавление интерфейса
-
 
420
            $ifname = mysql_real_escape_string($_POST["ifname"]);
-
 
421
            $ifinfo = mysql_real_escape_string($_POST["ifinfo"]);
-
 
422
            $ifname = str_replace(".php","",$ifname);
-
 
423
            $req =& $db->query("INSERT INTO interfaces SET interface='$ifname', interfaceinfo='$ifinfo'");
-
 
424
            break;
-
 
425
    case '24':
-
 
426
            // Правка интерфейса
-
 
427
            $ifname = mysql_real_escape_string($_POST["ifname"]);
-
 
428
            $ifinfo = mysql_real_escape_string($_POST["ifinfo"]);
-
 
429
            $if     = abs(intval($_POST["if"]));
-
 
430
            $ifname = str_replace(".php","",$ifname);
-
 
431
            $req =& $db->query("UPDATE interfaces SET interface='$ifname', interfaceinfo='$ifinfo' WHERE if_id='$if'");
-
 
432
            break;
-
 
433
    case '25':
-
 
434
            // Удаление интерфейса
-
 
435
            $if = abs(intval($_POST["if"]));
-
 
436
            $req =& $db->query("DELETE FROM interfaces WHERE if_id='$if'");
-
 
437
            break;
-
 
438
    case '26':
-
 
439
            // Создание корневой папки репозиториев
-
 
440
            $root = mysql_real_escape_string($_POST["rootFolder"]);
-
 
441
            $req =& $db->query("INSERT INTO root SET root_folder='$root'");
-
 
442
            $go .= "?mode=8";
-
 
443
            break;
-
 
444
    case '27':
-
 
445
            // Редактирование корневой папки репозиториев
-
 
446
            $root_id = abs(intval($_POST["rootID"]));
-
 
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'");
-
 
449
            $go .= "?mode=8";
-
 
450
            break;
-
 
451
    case '28':
-
 
452
            // Удаление корневой папки репозиториев
-
 
453
            $root_id = abs(intval($_POST["rootID"]));
-
 
454
            $req =& $db->query("DELETE FROM root WHERE root_id='$root_id'");
-
 
455
            $go .= "?mode=8";
-
 
456
            break;
-
 
457
    case '29':
-
 
458
            // Добавление нового источника
569
                // Добавление нового источника
459
            $origin = mysql_real_escape_string($_POST["origin"]);
570
                $origin = mysql_real_escape_string($_POST["origin"]);
460
            $res =& $db->query("INSERT INTO origin SET origin='$origin'");
571
                $res =& $db->query("INSERT INTO origin SET origin='$origin'");
461
            $go .= "?mode=9";
572
                $go .= "?mode=11&act=0";
462
            break;
573
            break;
463
    case '30':
574
            case '2':
464
            // Правка существующего источника
575
                // Правка существующего источника
465
            $origin = mysql_real_escape_string($_POST["origin"]);
576
                $origin = mysql_real_escape_string($_POST["origin"]);
466
            $id = abs(intval($_POST["originID"]));
577
                $id = abs(intval($_POST["originID"]));
467
            $res =& $db->query("UPDATE origin SET origin='$origin' WHERE origin_id='$id'");
578
                $res =& $db->query("UPDATE origin SET origin='$origin' WHERE origin_id='$id'");
468
            $go .= "?mode=9";
579
                $go .= "?mode=11&act=0";
469
            break;
580
            break;
470
    case '31':
581
            case '3':
471
            // Удаление существующего источника
582
                // Удаление существующего источника
472
            $id = abs(intval($_POST["originID"]));
583
                $id = abs(intval($_POST["originID"]));
473
            $res =& $db->query("DELETE FROM rep2orig WHERE origin_id='$id'");
584
                $res =& $db->query("DELETE FROM rep2orig WHERE origin_id='$id'");
474
            $res =& $db->query("DELETE FROM origin WHERE origin_id='$id'");
585
                $res =& $db->query("DELETE FROM origin WHERE origin_id='$id'");
475
            $go .= "?mode=9";
586
                $go .= "?mode=11&act=0";
476
            break;
587
            break;
-
 
588
        }
-
 
589
    break;
477
}
590
}
478
591
479
header("Location: $go\n\n");
592
header("Location: $go\n\n");
480
593
481
?>
594
?>