Хранилища Subversion ant

Редакция

Редакция 208 | Редакция 211 | К новейшей редакции | Содержимое файла | Сравнить с предыдущей | Последнее изменение | Открыть журнал | 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++) {
278
		$res =& $db->query("INSERT INTO sect2rep SET sect_id='".$_POST["sect"][$i]."', rep_id='$rep_id'");
279
		}
108 alex-w 280
 
167 diffor 281
		$go .= "?mode=".$mode."&action=0";
108 alex-w 282
 
2 alex-w 283
            break;
185 diffor 284
	    case '2':
166 diffor 285
		// Правка репозитория
209 alex-w 286
		$repID   = $secure->wrapInt($_POST["rep"]);
287
		$repname = $secure->wrapStr($_POST["repName"]);
288
		$repinfo = $secure->wrapStr($_POST["repInfo"]);
289
		$repsche = $secure->wrapInt($_POST["scheme"]);
290
		$origin  = $secure->wrapInt($_POST["origin"]);
291
		$reproot = $secure->wrapInt($_POST["rootFolder"]);
208 diffor 292
		if($_POST["default"]=="on") {$default=1;} else {$default=0;};
108 alex-w 293
 
208 diffor 294
		$res =& $db->query("UPDATE repository SET repname='$repname', repdescribe='$repinfo', scheme_id='$repsche', orig_id='$origin', root_id='$reproot', default='$default' WHERE rep_id='$repID'");
166 diffor 295
		$res =& $db->query("DELETE FROM sect2rep WHERE rep_id='$repID'");
296
		for ($i=0;$i<count($_POST["sect"]);$i++) {
297
		    $res =& $db->query("INSERT INTO sect2rep SET sect_id='".$_POST["sect"][$i]."', rep_id='$repID'");
298
		}
108 alex-w 299
 
167 diffor 300
		$go .= "?mode=".$mode."&action=0";
166 diffor 301
 
2 alex-w 302
	    break;
185 diffor 303
	    case '3':
166 diffor 304
		// Удаление репозитория
209 alex-w 305
		$repID = $secure->wrapInt($_POST["rep"]);
2 alex-w 306
 
166 diffor 307
		$res =& $db->query("DELETE FROM repository WHERE rep_id='$repID'");
308
		$res =& $db->query("DELETE FROM sect2rep WHERE rep_id='$repID'");
309
		$res =& $db->query("DELETE FROM ver2rep WHERE rep_id='$repID'");
108 alex-w 310
 
167 diffor 311
		$go .= "?mode=".$mode."&action=0";
166 diffor 312
 
2 alex-w 313
	    break;
166 diffor 314
	}
315
    break;
167 diffor 316
    case '5':
166 diffor 317
	switch ($act) {
318
	    case '0':
319
	    break;
320
	    case '1':
321
		// Создание секции
209 alex-w 322
		$sectname = $secure->wrapStr($_POST["sectName"]);
323
		$sectinfo = $secure->wrapStr($_POST["sectInfo"]);
108 alex-w 324
 
166 diffor 325
		$req =& $db->query("INSERT INTO section SET sectname='$sectname', sectinfo='$sectinfo'");
326
		$req =& $db->query("SELECT sect_id FROM section ORDER BY sect_id DESC LIMIT 1");
327
		$req->fetchInto($sect, DB_FETCHMODE_ASSOC);
328
 
329
		for($i=0;$i<count($_POST["dist"]);$i++) {
330
		    $req =& $db->query("INSERT INTO sect2dist SET dist_id='".$_POST["dist"][$i]."', sect_id='".$sect["sect_id"]."'");
331
		}
332
 
167 diffor 333
		$go .= "?mode=".$mode."&act=0";
166 diffor 334
 
2 alex-w 335
	    break;
166 diffor 336
	    case '2':
337
		// Правка секции
209 alex-w 338
		$sectID   = $secure->wrapInt($_POST["sectID"]);
339
		$sectname = $secure->wrapStr($_POST["sectName"]);
340
		$sectinfo = $secure->wrapStr($_POST["sectInfo"]);
108 alex-w 341
 
166 diffor 342
		$req =& $db->query("UPDATE section SET sectname='$sectname', sectinfo='$sectinfo' WHERE sect_id='$sectID'");
343
		$req =& $db->query("DELETE FROM sect2dist WHERE sect_id='$sectID'");
344
 
345
		for($i=0;$i<count($_POST["dist"]);$i++) {
346
		    $req =& $db->query("INSERT INTO sect2dist SET dist_id='".$_POST["dist"][$i]."', sect_id='".$sectID."'");
347
		}
348
 
167 diffor 349
		$go .= "?mode=".$mode."&action=0";
166 diffor 350
 
2 alex-w 351
	    break;
166 diffor 352
	    case '3':
353
		// Удаление секции
209 alex-w 354
		$sectID	= $secure->wrapInt($_POST["sectID"]);
108 alex-w 355
 
166 diffor 356
		$req =& $db->query("DELETE FROM section WHERE sect_id='$sectID'");
357
		$req =& $db->query("DELETE FROM sect2dist WHERE sect_id='$sectID'");
358
		$req =& $db->query("DELETE FROM sect2rep WHERE sect_id='$sectID'");
359
 
167 diffor 360
		$go .= "?mode=".$mode."&action=0";
166 diffor 361
 
2 alex-w 362
	    break;
166 diffor 363
	}
364
    break;
167 diffor 365
    case '6':
166 diffor 366
	switch ($act) {
367
	    case '0':
368
	    break;
369
	    case '1':
370
		// Добавление новой схемы
209 alex-w 371
		$scheme = $secure->wrapStr($_POST["scheme"]);
166 diffor 372
		$req =& $db->query("INSERT INTO scheme SET scheme='$scheme'");
167 diffor 373
		$go .= "?mode=".$mode."&act=0";
7 alex-w 374
	    break;
166 diffor 375
	    case '2':
376
		// Правка схемы
209 alex-w 377
		$schemeID = $secure->wrapInt($_POST["schemeID"]);
378
		$scheme = $secure->wrapStr($_POST["scheme"]);
166 diffor 379
		$req =& $db->query("UPDATE scheme SET scheme='$scheme' WHERE scheme_id='$schemeID'");
167 diffor 380
		$go .= "?mode=".$mode."&act=0";
7 alex-w 381
	    break;
166 diffor 382
	    case '3':
383
		// Удаление схемы
209 alex-w 384
		$schemeID = ($secure->wrapInt($_POST["schemeID"]));
166 diffor 385
		$req =& $db->query("DELETE FROM scheme WHERE scheme_id='$schemeID'");
167 diffor 386
		$go .= "?mode=".$mode."&act=0";
7 alex-w 387
	    break;
166 diffor 388
	}
389
    break;
180 diffor 390
    case '7':
391
	switch ($act) {
392
	    case '0':
393
	    break;
394
	    case '1':
395
		// Добавление нового типа репозитория
209 alex-w 396
		$rtype = $secure->wrapStr($_POST["rtype"]);
180 diffor 397
		$req =& $db->query("INSERT INTO rtype SET rtype='$rtype'");
398
		$go .= "?mode=".$mode."&act=0";
399
	    break;
400
	    case '2':
401
		// Правка существующего типа репозитория
209 alex-w 402
		$rtypeID = $secure->wrapInt($_POST["rtypeID"]);
403
		$rtype   = $secure->wrapStr($_POST["rtype"]);
180 diffor 404
		$req =& $db->query("UPDATE rtype SET rtype='$rtype' WHERE rtype_id='$rtypeID'");
405
		$go .= "?mode=".$mode."&act=0";
406
	    break;
407
	    case '3':
408
		// Удаление типа репозитория
209 alex-w 409
		$rtypeID = $secure->wrapInt($_POST["rtypeID"]);
180 diffor 410
		$req =& $db->query("DELETE FROM rtype WHERE rtype_id='$rtypeID'");
411
		$go .= "?mode=".$mode."&act=0";
412
	    break;
413
	}
414
    break;
415
    case '8':
416
	switch ($act) {
417
	    case '0':
418
	    break;
419
	    case '1':
420
		// Создание корневой папки репозиториев
209 alex-w 421
		$root = $secure->wrapStr($_POST["rootFolder"]);
180 diffor 422
		$req =& $db->query("INSERT INTO root SET root_folder='$root'");
423
		$go .= "?mode=".$mode."&act=0";
424
	    break;
425
	    case '2':
426
		// Редактирование корневой папки репозиториев
209 alex-w 427
		$root_id = $secure->wrapInt($_POST["rootID"]);
428
		$root_fd = $secure->wrapStr($_POST["rootFolder"]);
180 diffor 429
		$req =& $db->query("UPDATE root SET root_folder='$root_fd' WHERE root_id='$root_id'");
430
		$go .= "?mode=".$mode."&act=0";
431
	    break;
432
	    case '3':
433
		// Удаление корневой папки репозиториев
209 alex-w 434
		$root_id = $secure->wrapInt($_POST["rootID"]);
180 diffor 435
		$req =& $db->query("DELETE FROM root WHERE root_id='$root_id'");
436
		$go .= "?mode=".$mode."&act=0";
437
	    break;
438
	}
439
    break;
178 diffor 440
    case '20':
441
	switch ($act) {
442
	    case '0':
443
	    break;
444
	    case '1':
445
		// Добавление новой настройки Ant
209 alex-w 446
		$option = $secure->wrapStr($_POST["setoption"]);
447
		$value  = $secure->wrapStr($_POST["setvalue"]);
178 diffor 448
		$req =& $db->query("INSERT INTO settings SET opt='$option', optvalue='$value'");
449
		$go .= "?mode=".$mode."&act=0";
450
	    break;
451
	    case '2':
452
		// Правка настройки Ant
209 alex-w 453
		$optID  = $secure->wrapInt($_POST["optID"]);
454
		$option = $secure->wrapStr($_POST["setoption"]);
455
		$value  = $secure->wrapStr($_POST["setvalue"]);
178 diffor 456
		$req =& $db->query("UPDATE settings SET opt='$option', optvalue='$value' WHERE opt_id='$optID'");
457
		$go .= "?mode=".$mode."&act=0";
458
	    break;
459
	    case '3':
460
		// Удаление настройки
209 alex-w 461
		$optID = $secure->wrapInt($_POST["optID"]);
178 diffor 462
		$req =& $db->query("DELETE FROM settings WHERE opt_id='$optID'");
463
		$go .= "?mode=".$mode."&act=0";
464
	    break;
465
	}
466
    break;
177 diffor 467
    case '21':
468
	switch ($act) {
469
	    case '0':
470
	    break;
471
	    case '1':
472
	        // Добавление интерфейса
209 alex-w 473
		$ifname = $secure->wrapStr($_POST["ifname"]);
474
		$ifinfo = $secure->wrapStr($_POST["ifinfo"]);
177 diffor 475
		$ifname = str_replace(".php","",$ifname);
476
		$req =& $db->query("INSERT INTO interfaces SET interface='$ifname', interfaceinfo='$ifinfo'");
180 diffor 477
		$go .= "?mode=".$mode."&act=0";
177 diffor 478
	    break;
479
	    case '2':
480
		// Правка интерфейса
209 alex-w 481
		$ifname = $secure->wrapStr($_POST["ifname"]);
482
		$ifinfo = $secure->wrapStr($_POST["ifinfo"]);
483
		$if     = $secure->wrapInt($_POST["if"]);
177 diffor 484
		$ifname = str_replace(".php","",$ifname);
485
		$req =& $db->query("UPDATE interfaces SET interface='$ifname', interfaceinfo='$ifinfo' WHERE if_id='$if'");
178 diffor 486
		$go .= "?mode=".$mode."&act=0";
177 diffor 487
	    break;
488
	    case '3':
489
		// Удаление интерфейса
209 alex-w 490
		$if = $secure->wrapInt($_POST["if"]);
177 diffor 491
		$req =& $db->query("DELETE FROM interfaces WHERE if_id='$if'");
180 diffor 492
		$go .= "?mode=".$mode."&act=0";
177 diffor 493
	    break;
494
	}
495
    break;
179 diffor 496
    case '22':
497
	switch ($act) {
498
	    case '0':
499
		// Смена пароля
209 alex-w 500
		// $OID        = $secure->wrapInt($_POST["OID"]);
501
		$oldpass    = $secure->wrapStr($_POST["oldPW"]);
502
		$newpass1   = $secure->wrapStr($_POST["newPW1"]);
503
		$newpass2   = $secure->wrapStr($_POST["newPW2"]);
11 alex-w 504
 
179 diffor 505
		$errpwd = 0;
506
		$spass = md5($newpass1."ANT");
507
		$soldpass = md5($oldpass."ANT");
508
		if ($soldpass != $_COOKIE[$CookiePasswd]) {
509
		    $go .= "?error=1";
510
		    $errpwd = 1;
511
		}
512
		if ($newpass1 != $newpass2) {
513
		$go .= "?error=2";
514
		$errpwd = 2;
515
		}
516
 
517
		if ($errpwd==0) {
518
		// fix: Для многопользовательского варианта придется запрос переписать
519
		$req =& $db->query("UPDATE owner SET passwd='$spass' WHERE login='admin'");
520
		}
521
	    break;
522
	}
523
    break;
2 alex-w 524
}
525
 
526
header("Location: $go\n\n");
527
 
60 alex-w 528
?>