Хранилища Subversion ant

Редакция

Редакция 80 | Редакция 83 | К новейшей редакции | Содержимое файла | Сравнить с предыдущей | Последнее изменение | Открыть журнал | 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
 
70 alex-w 24
require_once "./sign-valid.php";
2 alex-w 25
 
26
$mode = abs(intval($_POST["mode"]));
27
 
28
$go = "./admin.php";
29
 
30
switch ($mode) {
31
    case '0':
32
	    break;
33
    case '1':
34
	    // Добавление нового дистрибутива
35
	    $distname = mysql_real_escape_string($_POST["distName"]);
61 alex-w 36
	    $distua   = mysql_real_escape_string($_POST["distUA"]);
2 alex-w 37
	    $disttype = abs(intval($_POST["distType"]));
80 alex-w 38
 
39
	    $distlogo = 0;
40
	    if ($_FILES["distLOGO"]["type"]!=0) {
82 alex-w 41
	        $folder   = "./img/logo/".stripslashes($distua)."-orig.png";
42
	    	$folderN  = "./img/logo/".stripslashes($distua).".png";
43
		$folderEM = "./img/logo/".stripslashes($distua)."-em.png";
80 alex-w 44
	    	if (move_uploaded_file($_FILES["distLOGO"]["tmp_name"],$folder)) {
45
			chmod($folder, 0644);
46
			list($width, $height) = GetImageSize($folder);
47
			$percent = 32/$height;
48
			$newwidth = $width * $percent;
49
			$newheight = $height * $percent;
50
 
51
			$output = ImageCreateTrueColor($newwidth, $newheight);
82 alex-w 52
			$source = ImageCreateFromPNG($folder);
80 alex-w 53
 
54
			ImageCopyResized($output, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
82 alex-w 55
			ImagePNG($output, $folderEM);
80 alex-w 56
 
57
			$percent = 15/$height;
58
			$newwidth = $width * $percent;
59
			$newheight = $height * $percent;
60
 
61
			$output = ImageCreateTrueColor($newwidth, $newheight);
62
 
63
			ImageCopyResized($output, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
82 alex-w 64
			ImagePNG($output, $folderN);
80 alex-w 65
 
66
			unlink($folder);
67
			$distlogo = 1;
68
		}
69
	    }
2 alex-w 70
 
80 alex-w 71
	    $res =& $db->query("INSERT INTO distribution SET distname='$distname', distua='$distua', disttype='$disttype', distlogo='$distlogo'");
2 alex-w 72
 
73
	    break;
74
    case '2':
75
	    // Правка существующего дистрибутива
76
	    $distname = mysql_real_escape_string($_POST["distName"]);
61 alex-w 77
	    $distua   = mysql_real_escape_string($_POST["distUA"]);
2 alex-w 78
	    $disttype = abs(intval($_POST["distType"]));
79
	    $distID = abs(intval($_POST["distID"]));
80 alex-w 80
 
81
	    if ($_FILES["distLOGO"]["type"]!=0) {
82 alex-w 82
	    	$folder   = "./img/logo/".stripslashes($distua)."-orig.png";
83
		$folderN  = "./img/logo/".stripslashes($distua).".png";
84
		$folderEM = "./img/logo/".stripslashes($distua)."-em.png";
80 alex-w 85
	    	if (move_uploaded_file($_FILES["distLOGO"]["tmp_name"],$folder)) {
86
			chmod ($folder, 0644);
87
			list($width, $height) = GetImageSize($folder);
88
			$percent = 32/$height;
89
			$newwidth = $width * $percent;
90
			$newheight = $height * $percent;
91
 
92
			$output = ImageCreateTrueColor($newwidth, $newheight);
82 alex-w 93
			$source = ImageCreateFromPNG($folder);
80 alex-w 94
 
95
			ImageCopyResized($output, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
82 alex-w 96
			ImagePNG($output, $folderEM);
80 alex-w 97
 
98
			$percent = 15/$height;
99
			$newwidth = $width * $percent;
100
			$newheight = $height * $percent;
101
 
102
			$output = ImageCreateTrueColor($newwidth, $newheight);
103
 
104
			ImageCopyResized($output, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
82 alex-w 105
			ImagePNG($output, $folderN);
80 alex-w 106
 
107
			unlink($folder);
108
 
109
			$res =& $db->query("UPDATE distribution SET distlogo='1' WHERE dist_id='$distID'");
110
 
111
		}
112
	    }
2 alex-w 113
 
80 alex-w 114
	    $res =& $db->query("UPDATE distribution SET distname='$distname', distua='$distua', disttype='$disttype', WHERE dist_id='$distID'");
2 alex-w 115
 
116
	    break;
117
    case '3':
118
	    // Удаление существующего дистрибутива
119
	    $distID = abs(intval($_POST["distID"]));
80 alex-w 120
	    $distUA = $_POST["distUA"];
121
 
122
	    $folder1 = "./img/logo/".$distUA."-em.gif";
123
	    $folder2 = "./img/logo/".$distUA.".gif";
124
 
125
	    if (file_exsists($folder1)) { unlink($folder1); }
126
	    if (file_exsists($folder2)) { unlink($folder2); }
2 alex-w 127
 
128
	    $res =& $db->query("DELETE FROM distribution WHERE dist_id='$distID'");
129
	    $res =& $db->query("DELETE FROM sect2dist WHERE dist_id='$distID'");
130
 
131
	    break;
132
    case '4':
133
	    // Добавление новой версии дистрибутива
134
	    $versname = mysql_real_escape_string($_POST["versNam"]);
135
	    $versnumb = mysql_real_escape_string($_POST["versNum"]);
136
	    $verscode = mysql_real_escape_string($_POST["versCN"]);
137
	    $distname = abs(intval($_POST["distName"]));
138
 
139
	    $res =& $db->query("INSERT INTO version SET dist_id='$distname', vname='$versname', version='$versnumb', vcodename='$verscode'");
140
 
141
	    break;
142
    case '5':
143
	    // Правка имеющейся версии дистрибутива
144
	    $versname = mysql_real_escape_string($_POST["versNam"]);
145
	    $versnumb = mysql_real_escape_string($_POST["versNum"]);
146
	    $verscode = mysql_real_escape_string($_POST["versCN"]);
147
	    $distname = abs(intval($_POST["distName"]));
148
	    $versID   = abs(intval($_POST["versID"]));
149
 
150
	    $res =& $db->query("UPDATE version SET dist_id='$distname', vname='$versname', version='$versnumb', vcodename='$verscode' WHERE version_id='$versID'");
151
 
152
	    break;
153
    case '6':
154
	    // Удаление существующей версии дистрибутива
155
	    $versID = abs(intval($_POST["versID"]));
156
 
157
	    $res =& $db->query("DELETE FROM version WHERE version_id='$versID'");
158
	    $res =& $db->query("DELETE FROM ver2rep WHERE ver_id='$versID'");
159
 
160
	    break;
161
    case '7':
162
            // Добавление нового репозитория
163
            $versID  = abs(intval($_POST["vers"]));
164
            $repname = mysql_real_escape_string($_POST["repName"]);
165
            $repinfo = mysql_real_escape_string($_POST["repInfo"]);
8 alex-w 166
            $repsche = abs(intval($_POST["scheme"]));
11 alex-w 167
	    $reptype = abs(intval($_POST["rtype"]));
2 alex-w 168
 
11 alex-w 169
            $res =& $db->query("INSERT INTO repository SET repname='$repname', repdescribe='$repinfo', scheme_id='$repsche', rtype_id='$reptype'");
2 alex-w 170
            $res =& $db->query("SELECT rep_id FROM repository ORDER BY rep_id DESC LIMIT 1");
171
            $res->fetchInto($rep, DB_FETCHMODE_ASSOC);
172
            $rep_id = $rep["rep_id"];
173
 
174
            $res =& $db->query("INSERT INTO ver2rep SET ver_id='$versID', rep_id='$rep_id'");
175
 
176
            for ($i=0;$i<count($_POST["sect"]);$i++) {
177
                $res =& $db->query("INSERT INTO sect2rep SET sect_id='".$_POST["sect"][$i]."', rep_id='$rep_id'");
178
            }
179
            break;
180
    case '8':
181
	    // Правка репозитория
182
	    $repID	= abs(intval($_POST["rep"]));
183
	    $repname	= mysql_real_escape_string($_POST["repName"]);
184
            $repinfo = mysql_real_escape_string($_POST["repInfo"]);
8 alex-w 185
            $repsche = abs(intval($_POST["scheme"]));
11 alex-w 186
	    $reptype = abs(intval($_POST["rtype"]));
2 alex-w 187
 
11 alex-w 188
            $res =& $db->query("UPDATE repository SET repname='$repname', repdescribe='$repinfo', scheme_id='$repsche', rtype_id='$reptype' WHERE rep_id='$repID'");
2 alex-w 189
            $res =& $db->query("DELETE FROM sect2rep WHERE rep_id='$repID'");
190
            for ($i=0;$i<count($_POST["sect"]);$i++) {
191
                $res =& $db->query("INSERT INTO sect2rep SET sect_id='".$_POST["sect"][$i]."', rep_id='$repID'");
192
            }
193
	    break;
194
    case '9':
195
	    // Удаление репозитория
196
	    $repID	= abs(intval($_POST["rep"]));
197
 
198
	    $res =& $db->query("DELETE FROM repository WHERE rep_id='$repID'");
199
	    $res =& $db->query("DELETE FROM sect2rep WHERE rep_id='$repID'");
200
	    $res =& $db->query("DELETE FROM ver2rep WHERE rep_id='$repID'");
201
 
202
	    break;
203
    case '10':
204
	    // Создание секции
205
	    $sectname	= mysql_real_escape_string($_POST["sectName"]);
206
	    $sectinfo	= mysql_real_escape_string($_POST["sectInfo"]);
207
 
208
	    $req =& $db->query("INSERT INTO section SET sectname='$sectname', sectinfo='$sectinfo'");
209
	    $req =& $db->query("SELECT sect_id FROM section ORDER BY sect_id DESC LIMIT 1");
210
	    $req->fetchInto($sect, DB_FETCHMODE_ASSOC);
211
 
212
	    for($i=0;$i<count($_POST["dist"]);$i++) {
213
		$req =& $db->query("INSERT INTO sect2dist SET dist_id='".$_POST["dist"][$i]."', sect_id='".$sect["sect_id"]."'");
214
	    }
215
 
216
	    break;
217
    case '11':
218
	    // Правка секции
219
	    $sectID	= abs(intval($_POST["sectID"]));
220
	    $sectname	= mysql_real_escape_string($_POST["sectName"]);
221
	    $sectinfo	= mysql_real_escape_string($_POST["sectInfo"]);
222
 
223
	    $req =& $db->query("UPDATE section SET sectname='$sectname', sectinfo='$sectinfo' WHERE sect_id='$sectID'");
224
	    $req =& $db->query("DELETE FROM sect2dist WHERE sect_id='$sectID'");
225
 
226
	    for($i=0;$i<count($_POST["dist"]);$i++) {
227
		$req =& $db->query("INSERT INTO sect2dist SET dist_id='".$_POST["dist"][$i]."', sect_id='".$sectID."'");
228
	    }
229
 
230
	    break;
231
    case '12':
232
	    // Удаление секции
233
	    $sectID	= abs(intval($_POST["sectID"]));
234
 
235
	    $req =& $db->query("DELETE FROM section WHERE sect_id='$sectID'");
236
	    $req =& $db->query("DELETE FROM sect2dist WHERE sect_id='$sectID'");
237
	    $req =& $db->query("DELETE FROM sect2rep WHERE sect_id='$sectID'");
238
 
239
	    break;
5 alex-w 240
    case '13':
241
	    // Добавление новой схемы
242
	    $scheme	= mysql_real_escape_string($_POST["scheme"]);
243
 
244
	    $req =& $db->query("INSERT INTO scheme SET scheme='$scheme'");
245
 
246
	    break;
247
    case '14':
248
	    // Правка схемы
249
	    $schemeID	= abs(intval($_POST["schemeID"]));
250
	    $scheme	= mysql_real_escape_string($_POST["scheme"]);
251
 
252
	    $req =& $db->query("UPDATE scheme SET scheme='$scheme' WHERE scheme_id='$schemeID'");
253
 
254
	    break;
255
    case '15':
256
	    // Удаление схемы
257
	    $schemeID	= abs(intval($_POST["schemeID"]));
258
 
259
	    $req =& $db->query("DELETE FROM scheme WHERE scheme_id='$schemeID'");
260
 
261
	    break;
7 alex-w 262
    case '16':
263
	    // Добавление новой настройки Ant
264
	    $option	= mysql_real_escape_string($_POST["setoption"]);
265
	    $value	= mysql_real_escape_string($_POST["setvalue"]);
266
 
267
	    $req =& $db->query("INSERT INTO settings SET opt='$option', optvalue='$value'");
268
 
269
	    break;
270
    case '17':
271
	    // Правка настройки Ant
272
	    $optID	= abs(intval($_POST["optID"]));
273
	    $option	= mysql_real_escape_string($_POST["setoption"]);
274
	    $value	= mysql_real_escape_string($_POST["setvalue"]);
275
 
276
	    $req =& $db->query("UPDATE settings SET opt='$option', optvalue='$value' WHERE opt_id='$optID'");
277
 
278
	    break;
279
    case '18':
280
	    // Удаление настройки
281
	    $optID	= abs(intval($_POST["optID"]));
282
 
283
	    $req =& $db->query("DELETE FROM settings WHERE opt_id='$optID'");
284
 
285
	    break;
11 alex-w 286
    case '19':
287
	    // Добавление нового типа репозитория
288
	    $rtype	= mysql_real_escape_string($_POST["rtype"]);
289
 
290
	    $req =& $db->query("INSERT INTO rtype SET rtype='$rtype'");
291
 
292
	    break;
293
    case '20':
294
	    // Правка существующего типа репозитория
295
	    $rtypeID	= abs(intval($_POST["rtypeID"]));
296
	    $rtype	= mysql_real_escape_string($_POST["rtype"]);
297
 
298
	    $req =& $db->query("UPDATE rtype SET rtype='$rtype' WHERE rtype_id='$rtypeID'");
299
 
300
	    break;
16 alex-w 301
    case '21':
11 alex-w 302
	    // Удаление типа репозитория
303
	    $rtypeID	= abs(intval($_POST["rtypeID"]));
304
 
305
	    $req =& $db->query("DELETE FROM rtype WHERE rtype_id='$rtypeID'");
306
 
307
	    break;
16 alex-w 308
    case '22':
309
            // Смена пароля
310
            // $OID        = abs(intval($_POST["OID"]));
311
            $oldpass    = mysql_real_escape_string($_POST["oldPW"]);
312
            $newpass1   = mysql_real_escape_string($_POST["newPW1"]);
313
            $newpass2   = mysql_real_escape_string($_POST["newPW2"]);
314
 
315
            $errpwd = 0;
316
            $spass = md5($newpass1."ANT");
317
            $soldpass = md5($oldpass."ANT");
318
            if ($soldpass != $_COOKIE[$CookiePasswd]) {
319
                $go .= "?error=1";
320
                $errpwd = 1;
321
            }
322
            if ($newpass1 != $newpass2) {
323
                $go .= "?error=2";
324
                $errpwd = 2;
325
            }
326
 
327
            if ($errpwd==0) {
328
                // fix: Для многопользовательского варианта придется запрос переписать
329
                $req =& $db->query("UPDATE owner SET passwd='$spass' WHERE login='admin'");
330
            }
331
 
332
            break;
70 alex-w 333
    case '23':
334
    	    // Добавление интерфейса
335
	    $ifname = mysql_real_escape_string($_POST["ifname"]);
336
	    $ifinfo = mysql_real_escape_string($_POST["ifinfo"]);
337
	    $ifname = str_replace(".php","",$ifname);
338
	    $req =& $db->query("INSERT INTO interfaces SET interface='$ifname', interfaceinfo='$ifinfo'");
339
    	    break;
340
    case '24':
341
            // Правка интерфейса
342
	    $ifname = mysql_real_escape_string($_POST["ifname"]);
343
	    $ifinfo = mysql_real_escape_string($_POST["ifinfo"]);
344
	    $if	    = abs(intval($_POST["if"]));
345
	    $ifname = str_replace(".php","",$ifname);
346
	    $req =& $db->query("UPDATE interfaces SET interface='$ifname', interfaceinfo='$ifinfo' WHERE if_id='$if'");
347
    	    break;
348
    case '25':
349
            // Удаление интерфейса
350
	    $if = abs(intval($_POST["if"]));
351
	    $req =& $db->query("DELETE FROM interfaces WHERE if_id='$if'");
352
    	    break;
2 alex-w 353
}
354
 
355
header("Location: $go\n\n");
356
 
60 alex-w 357
?>