Хранилища Subversion ant

Редакция

Редакция 286 | Содержимое файла | Сравнить с предыдущей | Последнее изменение | Открыть журнал | RSS

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