Хранилища Subversion ant

Редакция

Содержимое файла | Последнее изменение | Открыть журнал | RSS

Редакция Автор № строки Строка
154 diffor 1
<?php
2
 
3
/**
4
 * Project:     Ant: sources.list generator
5
 * File:        process.php
6
 *
7
 * This application is free software; you can redistribute it and/or
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
 *
12
 * This application is distributed in the hope that it will be useful,
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
 
24
require_once dirname(__FILE__)."/sign-valid.php";
25
 
26
$cat = abs(intval($_POST["cat"]));
27
$act = abs(intval($_POST["act"]));
28
 
29
$go = "./admin_ng.php";
30
 
31
switch ($cat) {
32
    case '0':
33
        switch ($act) {
34
            case '0':
35
            break;
36
            case '1':
37
                // Добавление нового источника
38
                $origin = mysql_real_escape_string($_POST["origin"]);
39
                $desk = mysql_real_escape_string($_POST["desk"]);
40
                $basedir = mysql_real_escape_string($_POST["basedir"]);
41
                $homeurl = mysql_real_escape_string($_POST["homeurl"]);
42
                $keyurl = mysql_real_escape_string($_POST["keyurl"]);
43
                $res =& $db->query("INSERT INTO origin SET origin='$origin', desk='$desk', basedir='$basedir', homeurl='$homeurl', keyurl='$keyurl'");
44
                $go .= "?mode=1&cat=$cat";
45
                break;
46
            case '2':
47
                // Правка существующего источника
48
                $origin = mysql_real_escape_string($_POST["origin"]);
49
                $desk = mysql_real_escape_string($_POST["desk"]);
50
                $basedir = mysql_real_escape_string($_POST["basedir"]);
51
                $homeurl = mysql_real_escape_string($_POST["homeurl"]);
52
                $keyurl = mysql_real_escape_string($_POST["keyurl"]);
53
                $id = abs(intval($_POST["originID"]));
54
                $res =& $db->query("UPDATE origin SET origin='$origin', desk='$desk', basedir='$basedir', homeurl='$homeurl', keyurl='$keyurl' WHERE id='$id'");
55
                $go .= "?mode=1&cat=$cat";
56
            break;
57
            case '3':
58
                // Удаление существующего источника
59
                $id = abs(intval($_POST["originID"]));
60
                $res =& $db->query("DELETE FROM origin WHERE id='$id'");
61
                $go .= "?mode=1&cat=$cat";
62
            break;
63
        }
64
    break;
65
    case '1':
66
        switch ($act) {
67
            case '0':
68
            break;
69
            case '1':
70
                // Добавление нового дистрибутива
71
                $distname = mysql_real_escape_string($_POST["distName"]);
72
                $distua   = mysql_real_escape_string($_POST["distUA"]);
73
                $disttype = abs(intval($_POST["distType"]));
74
 
75
                $distlogo = 0;
76
                if ($_FILES["distLOGO"]["type"]!=0) {
77
                    $folder   = dirname(__FILE__)."/img/logo/".stripslashes($distua)."-orig.png";
78
                    $folderN  = dirname(__FILE__)."/img/logo/".stripslashes($distua).".png";
79
                    $folderEM = dirname(__FILE__)."/img/logo/".stripslashes($distua)."-em.png";
80
                    if (move_uploaded_file($_FILES["distLOGO"]["tmp_name"],$folder)) {
81
                        chmod($folder, 0644);
82
                        list($width, $height) = GetImageSize($folder);
83
                        $percent = 32/$height;
84
                        $newwidth = $width * $percent;
85
                        $newheight = $height * $percent;
86
 
87
                        $output = ImageCreateTrueColor($newwidth, $newheight);
88
                        $source = ImageCreateFromPNG($folder);
89
 
90
                        ImageCopyResampled($output, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
91
                        ImagePNG($output, $folderEM);
92
 
93
                        $percent = 15/$height;
94
                        $newwidth = $width * $percent;
95
                        $newheight = $height * $percent;
96
 
97
                        $output = ImageCreateTrueColor($newwidth, $newheight);
98
 
99
                        ImageCopyResized($output, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
100
                        ImagePNG($output, $folderN);
101
 
102
                        unlink($folder);
103
                        $distlogo = 1;
104
                    }
105
                }
106
 
107
                $res =& $db->query("INSERT INTO distribution SET distname='$distname', distua='$distua', disttype='$disttype', distlogo='$distlogo'");
108
                // ChangeLog recording
109
                $res =& $db->query("SELECT * FROM dtype WHERE type_id='$disttype'");
110
                $res->fetchInto($log, DB_FETCHMODE_ASSOC);
111
                $title = "Добавлен новый дистрибутив";
112
                $dinfo = "В Ant добавлена поддержка основанного на ".stripslashes($log["type"])."-пакетах дистрибутива ".$distname.".";
113
                $res =& $db->query("INSERT INTO changelog SET log_record=NOW(), log_title='$title', log_desc='$dinfo'");
114
 
115
                $go .= "?mode=1&cat=$cat";
116
            break;
117
            case '2':
118
                // Правка существующего дистрибутива
119
                $distname = mysql_real_escape_string($_POST["distName"]);
120
                $distua   = mysql_real_escape_string($_POST["distUA"]);
121
                $disttype = abs(intval($_POST["distType"]));
122
                $distID = abs(intval($_POST["distID"]));
123
 
124
                if ($_FILES["distLOGO"]["type"]!='') {
125
                    $folder   = dirname(__FILE__)."/img/logo/".$distua."-orig.png";
126
                    $folderN  = dirname(__FILE__)."/img/logo/".$distua.".png";
127
                    $folderEM = dirname(__FILE__)."/img/logo/".$distua."-em.png";
128
                    if (move_uploaded_file($_FILES["distLOGO"]["tmp_name"],$folder)) {
129
                        chmod ($folder, 0644);
130
                        list($width, $height) = GetImageSize($folder);
131
                        $percent = 32/$height;
132
                        $newwidth = $width * $percent;
133
                        $newheight = $height * $percent;
134
 
135
                        $output = ImageCreateTrueColor($newwidth, $newheight);
136
                        $black  = ImageColorAllocate($output, 0, 0, 0);
137
                        $source = ImageCreateFromPNG($folder);
138
 
139
                        ImageCopyResampled($output, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
140
                        ImageColorTransparent($output, $black);
141
                        ImagePNG($output, $folderEM);
142
 
143
                        $percent = 15/$height;
144
                        $newwidth = $width * $percent;
145
                        $newheight = $height * $percent;
146
 
147
                        $output = ImageCreateTrueColor($newwidth, $newheight);
148
                        $black  = ImageColorAllocate($output, 0, 0, 0);
149
 
150
                        ImageCopyResized($output, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
151
                        ImageColorTransparent($output, $black);
152
                        ImagePNG($output, $folderN);
153
 
154
                        unlink($folder);
155
 
156
                        $res =& $db->query("UPDATE distribution SET distlogo='1' WHERE dist_id='$distID'");
157
 
158
                    }
159
                }
160
 
161
                $res =& $db->query("UPDATE distribution SET distname='$distname', distua='$distua', disttype='$disttype', WHERE dist_id='$distID'");
162
 
163
                $go .= "?mode=1&cat=$cat";
164
            break;
165
            case '3':
166
                // Удаление существующего дистрибутива
167
                $distID = abs(intval($_POST["distID"]));
168
                $distUA = $_POST["distUA"];
169
 
170
                $folder1 = dirname(__FILE__)."/img/logo/".$distUA."-em.png";
171
                $folder2 = dirname(__FILE__)."/img/logo/".$distUA.".png";
172
 
173
                if (file_exists($folder1)) { unlink($folder1); }
174
                if (file_exists($folder2)) { unlink($folder2); }
175
 
176
                $res =& $db->query("SELECT * FROM distribution d JOIN dtype t ON d.disttype=t.type_id WHERE d.dist_id='$distID'");
177
                $res->fetchInto($log, DB_FETCHMODE_ASSOC);
178
 
179
                $res =& $db->query("DELETE FROM distribution WHERE dist_id='$distID'");
180
                $res =& $db->query("DELETE FROM sect2dist WHERE dist_id='$distID'");
181
                $res =& $db->query("DELETE FROM version WHERE dist_id='$distID'");
182
 
183
                // ChangeLog recording
184
                $title = "Удаление поддержки дистрибутива";
185
                $dinfo = "Из Ant удалена поддержка основанного на ".stripslashes($log["type"])."-пакетах дистрибутива ".stripslashes($log["distname"]).".";
186
                $res =& $db->query("INSERT INTO changelog SET log_record=NOW(), log_title='$title', log_desc='$dinfo'");
187
 
188
                $go .= "?mode=1&cat=$cat";
189
            break;
190
        }
191
    break;
192
    case '2':
193
    break;
194
    case '3':
195
    break;
196
}
197
 
198
header("Location: $go\n\n");
199
 
200
?>