Хранилища Subversion ant

Редакция

Редакция 156 | Редакция 167 | К новейшей редакции | Содержимое файла | Сравнить с предыдущей | Последнее изменение | Открыть журнал | 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
 
26
$mode = abs(intval($_POST["mode"]));
166 diffor 27
$act = abs(intval($_POST["act"]));
2 alex-w 28
 
29
$go = "./admin.php";
30
 
166 diffor 31
switch ($cat) {
2 alex-w 32
    case '0':
166 diffor 33
	switch ($act) {
34
	    case '0':
2 alex-w 35
	    break;
166 diffor 36
	    case '1':
37
		// Добавление нового дистрибутива
38
		$distname = mysql_real_escape_string($_POST["distName"]);
39
		$distua   = mysql_real_escape_string($_POST["distUA"]);
40
		$disttype = abs(intval($_POST["distType"]));
80 alex-w 41
 
166 diffor 42
		$distlogo = 0;
43
		if ($_FILES["distLOGO"]["type"]!=0) {
44
		    $folder   = dirname(__FILE__)."/img/logo/".stripslashes($distua)."-orig.png";
45
		    $folderN  = dirname(__FILE__)."/img/logo/".stripslashes($distua).".png";
46
		    $folderEM = dirname(__FILE__)."/img/logo/".stripslashes($distua)."-em.png";
47
		    if (move_uploaded_file($_FILES["distLOGO"]["tmp_name"],$folder)) {
80 alex-w 48
			chmod($folder, 0644);
49
			list($width, $height) = GetImageSize($folder);
50
			$percent = 32/$height;
51
			$newwidth = $width * $percent;
52
			$newheight = $height * $percent;
53
 
54
			$output = ImageCreateTrueColor($newwidth, $newheight);
82 alex-w 55
			$source = ImageCreateFromPNG($folder);
80 alex-w 56
 
95 alex-w 57
			ImageCopyResampled($output, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
82 alex-w 58
			ImagePNG($output, $folderEM);
80 alex-w 59
 
60
			$percent = 15/$height;
61
			$newwidth = $width * $percent;
62
			$newheight = $height * $percent;
63
 
64
			$output = ImageCreateTrueColor($newwidth, $newheight);
65
 
66
			ImageCopyResized($output, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
82 alex-w 67
			ImagePNG($output, $folderN);
80 alex-w 68
 
69
			unlink($folder);
70
			$distlogo = 1;
166 diffor 71
		    }
80 alex-w 72
		}
93 alex-w 73
 
166 diffor 74
		$res =& $db->query("INSERT INTO distribution SET distname='$distname', distua='$distua', disttype='$disttype', distlogo='$distlogo'");
108 alex-w 75
 
166 diffor 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'");
80 alex-w 82
 
166 diffor 83
		$go .= "?mode=0&act=0";
84
 
85
		break;
86
	    case '2':
87
		// Правка существующего дистрибутива
88
		$distname = mysql_real_escape_string($_POST["distName"]);
89
		$distua   = mysql_real_escape_string($_POST["distUA"]);
90
		$disttype = abs(intval($_POST["distType"]));
91
		$distID = abs(intval($_POST["distID"]));
92
 
93
		if ($_FILES["distLOGO"]["type"]!='') {
94
		    $folder   = dirname(__FILE__)."/img/logo/".$distua."-orig.png";
95
		    $folderN  = dirname(__FILE__)."/img/logo/".$distua.".png";
96
		    $folderEM = dirname(__FILE__)."/img/logo/".$distua."-em.png";
97
		    if (move_uploaded_file($_FILES["distLOGO"]["tmp_name"],$folder)) {
80 alex-w 98
			chmod ($folder, 0644);
99
			list($width, $height) = GetImageSize($folder);
100
			$percent = 32/$height;
101
			$newwidth = $width * $percent;
102
			$newheight = $height * $percent;
103
 
104
			$output = ImageCreateTrueColor($newwidth, $newheight);
83 alex-w 105
			$black  = ImageColorAllocate($output, 0, 0, 0);
82 alex-w 106
			$source = ImageCreateFromPNG($folder);
80 alex-w 107
 
95 alex-w 108
			ImageCopyResampled($output, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
83 alex-w 109
			ImageColorTransparent($output, $black);
82 alex-w 110
			ImagePNG($output, $folderEM);
80 alex-w 111
 
112
			$percent = 15/$height;
113
			$newwidth = $width * $percent;
114
			$newheight = $height * $percent;
115
 
116
			$output = ImageCreateTrueColor($newwidth, $newheight);
83 alex-w 117
			$black  = ImageColorAllocate($output, 0, 0, 0);
80 alex-w 118
 
119
			ImageCopyResized($output, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
83 alex-w 120
			ImageColorTransparent($output, $black);
82 alex-w 121
			ImagePNG($output, $folderN);
80 alex-w 122
 
123
			unlink($folder);
124
 
125
			$res =& $db->query("UPDATE distribution SET distlogo='1' WHERE dist_id='$distID'");
126
 
166 diffor 127
		    }
80 alex-w 128
		}
108 alex-w 129
 
166 diffor 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
 
2 alex-w 134
	    break;
166 diffor 135
	    case '3':
136
		// Удаление существующего дистрибутива
137
		$distID = abs(intval($_POST["distID"]));
138
		$distUA = $_POST["distUA"];
80 alex-w 139
 
166 diffor 140
		$folder1 = dirname(__FILE__)."/img/logo/".$distUA."-em.png";
141
		$folder2 = dirname(__FILE__)."/img/logo/".$distUA.".png";
80 alex-w 142
 
166 diffor 143
		if (file_exists($folder1)) { unlink($folder1); }
144
		if (file_exists($folder2)) { unlink($folder2); }
93 alex-w 145
 
166 diffor 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);
93 alex-w 148
 
166 diffor 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'");
93 alex-w 152
 
166 diffor 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'");
108 alex-w 157
 
166 diffor 158
		$go .= "?mode=0&act=0";
159
 
2 alex-w 160
	    break;
166 diffor 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"]));
93 alex-w 173
 
166 diffor 174
		$res =& $db->query("INSERT INTO version SET dist_id='$distname', vname='$versname', version='$versnumb', vcodename='$verscode'");
108 alex-w 175
 
166 diffor 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"]." &ndash; ".$versnumb;
181
		if ($versname!="") {
182
		    $dinfo .= " с кодовым названием &#8220;".$versname."&#8221;.";
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
 
2 alex-w 190
	    break;
166 diffor 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"]));
108 alex-w 198
 
166 diffor 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
 
2 alex-w 203
	    break;
166 diffor 204
	    case '3':
205
		// Удаление существующей версии дистрибутива
206
		$versID = abs(intval($_POST["versID"]));
93 alex-w 207
 
166 diffor 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);
93 alex-w 210
 
166 diffor 211
		$res =& $db->query("DELETE FROM version WHERE version_id='$versID'");
212
		$res =& $db->query("DELETE FROM ver2rep WHERE ver_id='$versID'");
108 alex-w 213
 
166 diffor 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}","(&#8220;".$log["vname"]."&#8221;)",$dinfo);
219
		} else {
220
		    $dinfo = str_replace("{CNAME}","",$dinfo);
221
		}
222
		$res =& $db->query("INSERT INTO changelog SET log_record=NOW(), log_title='$title', log_desc='$dinfo'");
223
 
224
		$go .= "?mode=1&act=0";
225
 
2 alex-w 226
	    break;
166 diffor 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"]));
2 alex-w 240
 
166 diffor 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"];
2 alex-w 245
 
166 diffor 246
		$res =& $db->query("INSERT INTO ver2rep SET ver_id='$versID', rep_id='$rep_id'");
2 alex-w 247
 
166 diffor 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
		}
108 alex-w 251
 
166 diffor 252
		$go .= "?mode=2&act=0";
108 alex-w 253
 
2 alex-w 254
            break;
166 diffor 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"]));
108 alex-w 263
 
166 diffor 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
		}
108 alex-w 269
 
166 diffor 270
		$go .= "?mode=2&act=0";
271
 
2 alex-w 272
	    break;
166 diffor 273
	    case '3':
274
		// Удаление репозитория
275
		$repID	= abs(intval($_POST["rep"]));
2 alex-w 276
 
166 diffor 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'");
108 alex-w 280
 
166 diffor 281
		$go .= "?mode=2&act=0";
282
 
2 alex-w 283
	    break;
166 diffor 284
	}
285
    break;
286
    case '3':
287
	switch ($act) {
288
	    case '0':
289
	    break;
290
	    case '1':
291
		// Создание секции
292
		$sectname = mysql_real_escape_string($_POST["sectName"]);
293
		$sectinfo = mysql_real_escape_string($_POST["sectInfo"]);
108 alex-w 294
 
166 diffor 295
		$req =& $db->query("INSERT INTO section SET sectname='$sectname', sectinfo='$sectinfo'");
296
		$req =& $db->query("SELECT sect_id FROM section ORDER BY sect_id DESC LIMIT 1");
297
		$req->fetchInto($sect, DB_FETCHMODE_ASSOC);
298
 
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
 
303
		$go .= "?mode=3&act=0";
304
 
2 alex-w 305
	    break;
166 diffor 306
	    case '2':
307
		// Правка секции
308
		$sectID = abs(intval($_POST["sectID"]));
309
		$sectname = mysql_real_escape_string($_POST["sectName"]);
310
		$sectinfo = mysql_real_escape_string($_POST["sectInfo"]);
108 alex-w 311
 
166 diffor 312
		$req =& $db->query("UPDATE section SET sectname='$sectname', sectinfo='$sectinfo' WHERE sect_id='$sectID'");
313
		$req =& $db->query("DELETE FROM sect2dist WHERE sect_id='$sectID'");
314
 
315
		for($i=0;$i<count($_POST["dist"]);$i++) {
316
		    $req =& $db->query("INSERT INTO sect2dist SET dist_id='".$_POST["dist"][$i]."', sect_id='".$sectID."'");
317
		}
318
 
319
		$go .= "?mode=3&act=0";
320
 
2 alex-w 321
	    break;
166 diffor 322
	    case '3':
323
		// Удаление секции
324
		$sectID	= abs(intval($_POST["sectID"]));
108 alex-w 325
 
166 diffor 326
		$req =& $db->query("DELETE FROM section WHERE sect_id='$sectID'");
327
		$req =& $db->query("DELETE FROM sect2dist WHERE sect_id='$sectID'");
328
		$req =& $db->query("DELETE FROM sect2rep WHERE sect_id='$sectID'");
329
 
330
		$go .= "?mode=3&act=0";
331
 
2 alex-w 332
	    break;
166 diffor 333
	}
334
    break;
335
    case '4':
336
	switch ($act) {
337
	    case '0':
338
	    break;
339
	    case '1':
340
		// Создание секции
341
		$sectname	= mysql_real_escape_string($_POST["sectName"]);
342
		$sectinfo	= mysql_real_escape_string($_POST["sectInfo"]);
5 alex-w 343
 
166 diffor 344
		$req =& $db->query("INSERT INTO section SET sectname='$sectname', sectinfo='$sectinfo'");
345
		$req =& $db->query("SELECT sect_id FROM section ORDER BY sect_id DESC LIMIT 1");
346
		$req->fetchInto($sect, DB_FETCHMODE_ASSOC);
108 alex-w 347
 
166 diffor 348
		for($i=0;$i<count($_POST["dist"]);$i++) {
349
		    $req =& $db->query("INSERT INTO sect2dist SET dist_id='".$_POST["dist"][$i]."', sect_id='".$sect["sect_id"]."'");
350
		}
351
 
352
		$go .= "?mode=4&act=0";
353
 
5 alex-w 354
	    break;
166 diffor 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"]);
108 alex-w 360
 
166 diffor 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
 
5 alex-w 370
	    break;
166 diffor 371
	    case '3':
372
		// Удаление секции
373
		$sectID = abs(intval($_POST["sectID"]));
5 alex-w 374
 
166 diffor 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'");
108 alex-w 378
 
166 diffor 379
		$go .= "?mode=4&act=0";
380
 
5 alex-w 381
	    break;
166 diffor 382
	}
383
    break;
384
    case '5':
385
	switch ($act) {
386
	    case '0':
387
	    break;
388
	    case '1':
389
		// Добавление новой схемы
390
		$scheme = mysql_real_escape_string($_POST["scheme"]);
7 alex-w 391
 
166 diffor 392
		$req =& $db->query("INSERT INTO scheme SET scheme='$scheme'");
393
 
394
		$go .= "?mode=5&act=0";
395
 
7 alex-w 396
	    break;
166 diffor 397
	    case '2':
398
		// Правка схемы
399
		$schemeID = abs(intval($_POST["schemeID"]));
400
		$scheme = mysql_real_escape_string($_POST["scheme"]);
401
 
402
		$req =& $db->query("UPDATE scheme SET scheme='$scheme' WHERE scheme_id='$schemeID'");
403
 
404
		$go .= "?mode=5&act=0";
405
 
7 alex-w 406
	    break;
166 diffor 407
	    case '3':
408
		// Удаление схемы
409
		$schemeID = abs(intval($_POST["schemeID"]));
7 alex-w 410
 
166 diffor 411
		$req =& $db->query("DELETE FROM scheme WHERE scheme_id='$schemeID'");
412
 
413
		$go .= "?mode=5&act=0";
414
 
7 alex-w 415
	    break;
166 diffor 416
	}
417
    break;
418
    case '6':
419
	switch ($act) {
420
	    case '0':
421
	    break;
422
	    case '1':
423
		// Добавление новой настройки Ant
424
		$option = mysql_real_escape_string($_POST["setoption"]);
425
		$value = mysql_real_escape_string($_POST["setvalue"]);
11 alex-w 426
 
166 diffor 427
		$req =& $db->query("INSERT INTO settings SET opt='$option', optvalue='$value'");
108 alex-w 428
 
11 alex-w 429
	    break;
166 diffor 430
	    case '2':
431
		// Правка настройки Ant
432
		$optID = abs(intval($_POST["optID"]));
433
		$option = mysql_real_escape_string($_POST["setoption"]);
434
		$value = mysql_real_escape_string($_POST["setvalue"]);
108 alex-w 435
 
166 diffor 436
		$req =& $db->query("UPDATE settings SET opt='$option', optvalue='$value' WHERE opt_id='$optID'");
437
 
11 alex-w 438
	    break;
166 diffor 439
	    case '3':
440
		// Удаление настройки
441
		$optID = abs(intval($_POST["optID"]));
11 alex-w 442
 
166 diffor 443
		$req =& $db->query("DELETE FROM settings WHERE opt_id='$optID'");
108 alex-w 444
 
11 alex-w 445
	    break;
166 diffor 446
	}
447
    break;
448
    case '7':
449
	switch ($act) {
450
	    case '0':
451
	    break;
452
	    case '1':
453
		// Добавление нового типа репозитория
454
		$rtype = mysql_real_escape_string($_POST["rtype"]);
16 alex-w 455
 
166 diffor 456
		$req =& $db->query("INSERT INTO rtype SET rtype='$rtype'");
16 alex-w 457
 
166 diffor 458
		$go .= "?mode=7&act=0";
16 alex-w 459
 
91 alex-w 460
	    break;
166 diffor 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
 
468
		$go .= "?mode=7&act=0";
469
 
91 alex-w 470
	    break;
166 diffor 471
	    case '3':
472
		// Удаление типа репозитория
473
		$rtypeID = abs(intval($_POST["rtypeID"]));
474
 
475
		$req =& $db->query("DELETE FROM rtype WHERE rtype_id='$rtypeID'");
476
 
477
		$go .= "?mode=7&act=0";
478
 
91 alex-w 479
	    break;
166 diffor 480
	}
481
    break;
482
    case '8':
483
	switch ($act) {
484
	    case '0':
147 diffor 485
	    break;
166 diffor 486
	    case '1':
487
		// Смена пароля
488
		// $OID        = abs(intval($_POST["OID"]));
489
		$oldpass    = mysql_real_escape_string($_POST["oldPW"]);
490
		$newpass1   = mysql_real_escape_string($_POST["newPW1"]);
491
		$newpass2   = mysql_real_escape_string($_POST["newPW2"]);
492
 
493
		$errpwd = 0;
494
		$spass = md5($newpass1."ANT");
495
		$soldpass = md5($oldpass."ANT");
496
		if ($soldpass != $_COOKIE[$CookiePasswd]) {
497
		    $go .= "?error=1";
498
		    $errpwd = 1;
499
		}
500
		if ($newpass1 != $newpass2) {
501
		$go .= "?error=2";
502
		$errpwd = 2;
503
		}
504
 
505
		if ($errpwd==0) {
506
		// fix: Для многопользовательского варианта придется запрос переписать
507
		$req =& $db->query("UPDATE owner SET passwd='$spass' WHERE login='admin'");
508
		}
509
 
147 diffor 510
	    break;
166 diffor 511
	}
512
    break;
513
    case '9':
514
	switch ($act) {
515
	    case '0':
147 diffor 516
	    break;
166 diffor 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;
564
    case '11':
565
	switch ($act) {
566
	    case '0':
567
	    break;
568
	    case '1':
569
		// Добавление нового источника
570
		$origin = mysql_real_escape_string($_POST["origin"]);
571
		$res =& $db->query("INSERT INTO origin SET origin='$origin'");
572
		$go .= "?mode=11&act=0";
573
	    break;
574
	    case '2':
575
		// Правка существующего источника
576
		$origin = mysql_real_escape_string($_POST["origin"]);
577
		$id = abs(intval($_POST["originID"]));
578
		$res =& $db->query("UPDATE origin SET origin='$origin' WHERE origin_id='$id'");
579
		$go .= "?mode=11&act=0";
580
	    break;
581
	    case '3':
582
		// Удаление существующего источника
583
		$id = abs(intval($_POST["originID"]));
584
		$res =& $db->query("DELETE FROM rep2orig WHERE origin_id='$id'");
585
		$res =& $db->query("DELETE FROM origin WHERE origin_id='$id'");
586
		$go .= "?mode=11&act=0";
587
	    break;
588
	}
589
    break;
2 alex-w 590
}
591
 
592
header("Location: $go\n\n");
593
 
60 alex-w 594
?>