Хранилища Subversion ant

Редакция

Редакция 70 | Редакция 82 | К новейшей редакции | Содержимое файла | Сравнить с предыдущей | Последнее изменение | Открыть журнал | 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) {
41
                $folder   = "./img/logo/".stripslashes($distua)."-orig.gif";
42
                $folderN  = "./img/logo/".stripslashes($distua).".gif";
43
                $folderEM = "./img/logo/".stripslashes($distua)."-em.gif";
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);
52
                        $source = ImageCreateFromGIF($folder);
53
 
54
                        ImageCopyResized($output, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
55
                        ImageGIF($output, $folderEM);
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);
64
                        ImageGIF($output, $folderN);
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
                $folder   = "./img/logo/".stripslashes($distua)."-orig.gif";
83
                $folderN  = "./img/logo/".stripslashes($distua).".gif";
84
                $folderEM = "./img/logo/".stripslashes($distua)."-em.gif";
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);
93
                        $source = ImageCreateFromGIF($folder);
94
 
95
                        ImageCopyResized($output, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
96
                        ImageGIF($output, $folderEM);
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);
105
                        ImageGIF($output, $folderN);
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
?>