Хранилища Subversion ant

Редакция

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