Хранилища Subversion ant

Редакция

Редакция 157 | Содержимое файла | Сравнить с предыдущей | Последнее изменение | Открыть журнал | RSS

Редакция Автор № строки Строка
154 diffor 1
<?php
2
 
3
require_once dirname(__FILE__)."/sign-valid.php";
4
 
5
$mode = abs(intval($_GET["mode"]));
6
$cat  = abs(intval($_GET["cat"]));
7
$act  = abs(intval($_GET["action"]));
8
$uid  = abs(intval($_GET["uid"]));
9
$err  = abs(intval($_GET["error"]));
10
 
11
// Admin file/interface
12
$admin = "./admin_ng.php";
13
 
14
switch ($err) {
15
    case '1':
16
            $error = "Ошибка ввода пароля: старый пароль неверен!";
17
            break;
18
    case '2':
19
            $error = "Ошибка ввода пароля: новые пароли не совпадают!";
20
            break;
21
}
22
 
23
$menu = "
24
<ul>
25
    <li><a href='".$admin."?mode=0'>Управление</a></li>
26
    <br>
27
    <li><a href='".$admin."?mode=1&cat=0'>Источники</a></li>
28
    <li><a href='".$admin."?mode=1&cat=1'>Дистрибутивы</a></li>
29
    <li><a href='".$admin."?mode=1&cat=2'>Версии</a></li>
30
    <li><a href='".$admin."?mode=1&cat=3'>Секции</a></li>
31
    <br>
32
    <li><a href='./signout.php' style='color:red;'>Выход</a></li>
33
</ul>
34
";
35
 
36
switch ($mode) {
37
    case '0':
155 diffor 38
        switch ($cat) {
39
            case '0':
158 diffor 40
                // Список всех источников
41
                $display = "<a href='".$admin."?mode=0'>Управление</a><br><br><br>";
42
                $orig =& $db->query("SELECT * FROM origin");
43
                $display .= "<table><tr><td>Источник</td><td>Дистрибутивы</td></tr>";
44
                while ($orig->fetchInto($info, DB_FETCHMODE_ASSOC)) {
45
                    $display .= "<tr><td><a href='".$admin."?mode=0&cat=1&orig=".stripslashes($info["orig_id"])."'>".stripslashes($info["origin"])."</a></td>";
46
                    $display .= "<td>";
47
                    // --- replace to join
48
                    //$dist =& $db->query("SELECT distribution.distname
49
                    //FROM distribution, orig2dist
50
                    //WHERE '".stripslashes($info["id"])."' = orig2dist.orig_id
51
                    //AND orig2dist.dist_id = distribution.dist_id");
52
                    // --- 
53
                    //while ($dist->fetchInto($info2, DB_FETCHMODE_ASSOC)) {
54
                    //$display .= stripslashes($info2["distname"])." | ";
55
                    //}
56
                    $display .=" </td></tr>";
57
                }
58
                $display .= "</table>";
155 diffor 59
            break;
60
            case '1':
158 diffor 61
                //Список дистрибутивов для источника
62
                $orig  = abs(intval($_GET["orig"]));
63
                $origname = $db->getOne("SELECT origin FROM origin WHERE origin.orig_id=$orig");
64
                $display = "<a href='".$admin."?mode=0'>Управление</a> - <a href='".$admin."?mode=0&cat=$cat&orig=$orig'>Источник: ".$origname."</a><br><br><br>";
65
 
66
                $distr =& $db->query("SELECT * FROM distribution");
67
                $display .= "<table><tr><td></td><td>Дистрибутив</td><td>Версии</td></tr>";
68
                while ($distr->fetchInto($info, DB_FETCHMODE_ASSOC)) {
69
                    $count = $db->getOne("SELECT COUNT(*) FROM orig2dist WHERE orig2dist.orig_id='$orig' AND orig2dist.dist_id='".stripslashes($info["dist_id"])."'");
70
                    $display .= "<tr>";
71
                    $display .= "<td><input type='checkbox' name='nam1' value='val'";
72
                    if ($count>0) { $display .= " checked"; }
73
                    $display .= "></td>";
74
                    $display .= "<td><a href='".$admin."?mode=0&cat=2&orig=$orig&dist=".stripslashes($info["dist_id"])."'>".stripslashes($info["distname"])."</td>";
75
                    $display .= "<td></td></tr>";
76
                }
77
                $display .= "</table>";
78
                    $display .= "<form><button>Применить</button></form>";
79
            break;
80
            case '2':
81
                //Список версий для дистрибутива
82
                $orig  = abs(intval($_GET["orig"]));
83
                $origname = $db->getOne("SELECT origin FROM origin WHERE origin.orig_id=$orig");
84
                $dist  = abs(intval($_GET["dist"]));
85
                $distname = $db->getOne("SELECT distname FROM distribution WHERE dist_id=$dist");
86
                $display = "<a href='".$admin."?mode=0'>Управление</a> - <a href='".$admin."?mode=0&cat=$cat&orig=$orig'>Источник: ".$origname."</a>";
87
                $display .= " - <a href='".$admin."?mode=0&cat=$cat&orig=$orig&dist=$dist'>Дистрибутив: ".$distname."</a><br><br><br>";
88
 
89
                $distr =& $db->query("SELECT * FROM version");
90
                $display .= "<table><tr><td></td><td>Версии</td><td>Секции</td></tr>";
91
                while ($distr->fetchInto($info, DB_FETCHMODE_ASSOC)) {
92
                    //$count = $db->getOne("SELECT COUNT(*) FROM orig2dist WHERE orig2dist.orig_id='$uid' AND orig2dist.dist_id='".stripslashes($info["dist_id"])."'");
93
                    $display .= "<tr>";
94
                    $display .= "<td><input type='checkbox' name='nam1' value='val'";
95
                    //if ($count>0) { $display .= " checked"; }
96
                    $display .= "></td>";
97
                    $display .= "<td><a href='".$admin."?mode=0&cat=2&orig=$orig&dist=".stripslashes($info["ver_id"])."'>".stripslashes($info["vname"])."</td>";
98
                    $display .= "<td></td></tr>";
99
                }
100
                $display .= "</table>";
101
                    $display .= "<form><button>Применить</button></form>";
102
 
103
 
104
            break;
155 diffor 105
        }
154 diffor 106
    break;
107
    case '1':
155 diffor 108
        switch ($cat) {
154 diffor 109
            case '0':
110
                switch($act) {
111
                    case '0':
112
                        // Список источников
113
                        $orig =& $db->query("SELECT * FROM origin");
155 diffor 114
                        $display = "<h3>Источник - Список</h3>";
115
                        $display .= "<table><tr><td>Источник</td><td>Действие</td><td>Описание</td><td>Корень</td><td>Домашняя страница</td><td>Ссылка на ключ</td></tr>";
154 diffor 116
                        while ($orig->fetchInto($info, DB_FETCHMODE_ASSOC)) {
117
                            $display .= "<tr><td>".stripslashes($info["origin"])."</td>";
118
                            $display .= "<td><a href='".$admin."?mode=1&cat=0&action=2&uid=".$info["id"]."'><img src='img/edit.png' alt='Править'></a><a href='".$admin."?mode=1&cat=0&action=3&uid=".$info["id"]."'><img src='img/delete.png' alt='Удалить'></a></td>";
119
                            $display .= "<td>".stripslashes($info["desk"])."</td><td>".stripslashes($info["basedir"])."</td><td>".stripslashes($info["homeurl"])."</td><td>".stripslashes($info["keyurl"])."</td></tr>";
120
                        }
121
                        $display .= "</table>";
122
                        $display .= "<p><a href='".$admin."?mode=1&cat=0&action=1'><img src='img/add.png' alt='Добавить'>Добавить новый источник</a></p>";
123
                    break;
124
                    case '1':
125
                        // Добавление нового источника
126
                        $display  = "<h3>Источник - Добавление</h3>";
127
                        $display .= "<form action='./process_ng.php' method='POST' enctype='multipart/form-data'>\n";
128
                        $display .= "<input type='hidden' name='cat' value='$cat'>\n";
129
                        $display .= "<input type='hidden' name='act' value='$act'>\n";
130
                        $display .= "Название : <input type='text' name='origin'><br>\n";
131
                        $display .= "Описание :<br> <textarea name='desk'></textarea><br>\n";
132
                        $display .= "Корень: <input type='text' name='basedir'><br>\n";
133
                        $display .= "Домашняя страница: <input type='text' name='homeurl'><br>\n";
134
                        $display .= "Ссылка на ключ: <input type='text' name='keyurl'><br>\n";
135
                        $display .= "<input type='submit' value='Создать'></form>\n";
136
                    break;
137
                    case '2':
138
                        // Правка существующего источника
139
                        $orig =& $db->query("SELECT * FROM origin WHERE id='$uid'");
140
                        $orig->fetchInto($info, DB_FETCHMODE_ASSOC);
141
                        $type .= "</select>\n";
142
                        $display  = "<h3>Источник - Правка : <em>'".stripslashes($info["origin"])."'</em></h3>";
143
                        $display .= "<form action='./process_ng.php' method='POST' enctype='multipart/form-data'>\n";
144
                        $display .= "<input type='hidden' name='cat' value='$cat'>\n";
145
                        $display .= "<input type='hidden' name='act' value='$act'>\n";
146
                        $display .= "<input type='hidden' name='originID' value='$uid'>\n";
147
                        $display .= "Название : <input type='text' name='origin' value='".stripslashes($info["origin"])."'><br>\n";
148
                        $display .= "Описание :<br> <textarea name='desk' value='".stripslashes($info["desk"])."'></textarea><br>\n";
149
                        $display .= "Корень: <input type='text' name='basedir' value='".stripslashes($info["basedir"])."'><br>\n";
150
                        $display .= "Домашняя страница: <input type='text' name='homeurl' value='".stripslashes($info["homeurl"])."'><br>\n";
151
                        $display .= "Ссылка на ключ: <input type='text' name='keyurl' value='".stripslashes($info["keyurl"])."'><br>\n";
152
                        $display .= "<input type='submit' value='Править'></form>\n";
153
                    break;
154
                    case '3':
155
                        // Удаление существующего источника
156
                        $orig =& $db->query("SELECT * FROM origin WHERE id='$uid'");
157
                        $orig->fetchInto($info, DB_FETCHMODE_ASSOC);
158
                        $display  = "<h3>Удаление источника репозиториев <em>'".stripslashes($info["origin"])."'</em></h3>";
159
                        $display .= "<form action='./process_ng.php' method='POST' enctype='multipart/form-data'>\n";
160
                        $display .= "<input type='hidden' name='cat' value='$cat'>\n";
161
                        $display .= "<input type='hidden' name='act' value='$act'>\n";
162
                        $display .= "<input type='hidden' name='originID' value='$uid'>\n";
163
                        $display .= "<input type='submit' value='Удалить'></form>\n";
164
                    break;
165
                }
166
            break;
167
            case '1':
168
                switch($act) {
169
                    case '0':
170
                        // Список дистрибутивов
155 diffor 171
                        $display = "<h3>Дистрибутив - Список</h3>";
154 diffor 172
                        $distr =& $db->query("SELECT * FROM distribution");
155 diffor 173
                        $display .= "<table><tr><td>Дистрибутив</td><td>Действие</td><td>Описание</td><td>URL</td><td>Ссылка на ключ</td></tr>";
154 diffor 174
                        while ($distr->fetchInto($info, DB_FETCHMODE_ASSOC)) {
175
                            $display .= "<tr><td>".stripslashes($info["distname"])."</td>";
176
                            $display .= "<td><a href='".$admin."?mode=1&cat=1&action=2&uid=".$info["dist_id"]."'><img src='img/edit.png' alt='Править'></a><a href='".$admin."?mode=1&cat=1&action=3&uid=".$info["dist_id"]."'><img src='img/delete.png' alt='Удалить'></a></td>";
177
                            $display .= "<td>".stripslashes($info["origin"])."</td></tr>";
178
                        }
179
                        $display .= "</table>";
180
                        $display .= "<p><a href='".$admin."?mode=1&cat=1&action=1'><img src='img/add.png' alt='Добавить'>Добавить новый дистрибутив</a></p>";
181
                    break;
182
                    case '1':
183
                        // Добавление нового дистрибутива
184
                        $dtype =& $db->query("SELECT * FROM dtype");
185
                        $type = "<select name='distType'>";
186
                        while ($dtype->fetchInto($dtinfo, DB_FETCHMODE_ASSOC)) {
187
                            $type .= "<option value='".$dtinfo["type_id"]."'>".stripslashes($dtinfo["type"])."</option>";
188
                        }
189
                        $type .= "</select>\n";
190
                        $display  = "<h3>Дистрибутив - Добавление</h3>";
191
                        $display .= "<form action='./process_ng.php' method='POST' enctype='multipart/form-data'>\n";
192
                        $display .= "<input type='hidden' name='cat' value='$cat'>\n";
193
                        $display .= "<input type='hidden' name='act' value='$act'>\n";
194
                        $display .= "Название дистрибутива: <input type='text' name='distName'><br>\n";
195
                        $display .= "Представление в строке User-Agent'а: <input type='text' name='distUA'><br>\n";
196
                        $display .= "Тип дистрибутива: ".$type."<br>";
197
                        $display .= "Логотип дистрибутива (Прозрачный PNG): <input type='file' name='distLOGO'><br>";
198
                        $display .= "<input type='submit' value='Создать'></form>\n";
199
                    break;
200
                    case '2':
201
                        // Правка существующего дистрибутива
202
                        $dist =& $db->query("SELECT * FROM distribution WHERE dist_id='$uid'");
203
                        $dist->fetchInto($info, DB_FETCHMODE_ASSOC);
204
                        $dtype =& $db->query("SELECT * FROM dtype");
205
                        $type = "<select name='distType'>";
206
                        while ($dtype->fetchInto($dtinfo, DB_FETCHMODE_ASSOC)) {
207
                            if ($info["disttype"]==$dtinfo["type_id"]) {
208
                                $type .= "<option value='".$dtinfo["type_id"]."' selected>".stripslashes($dtinfo["type"])."</option>";
209
                            } else {
210
                                $type .= "<option value='".$dtinfo["type_id"]."'>".stripslashes($dtinfo["type"])."</option>";
211
                            }
212
                        }
213
                        $type .= "</select>\n";
214
                        $display  = "<h3>Дистрибутив - Правка: <em class='".stripslashes($info["distua"])."-em'>".stripslashes($info["distname"])."</em></h3>";
215
                        $display .= "<form action='./process_ng.php' method='POST' enctype='multipart/form-data'>\n";
216
                        $display .= "<input type='hidden' name='cat' value='$cat'>\n";
217
                        $display .= "<input type='hidden' name='act' value='$act'>\n";
218
                        $display .= "<input type='hidden' name='distID' value='$uid'>\n";
219
                        $display .= "Название дистрибутива: <input type='text' name='distName' value='".stripslashes($info["distname"])."'><br>\n";
220
                        $display .= "Представление в строке User-Agent'a: <input type='text' name='distUA' value='".stripslashes($info["distua"])."'><br>\n";
221
                        $display .= "Тип дистрибутива: ".$type."<br>";
222
                        $display .= "Логотип дистрибутива (Прозрачный PNG): <input type='file' name='distLOGO'><br>";
223
                        $display .= "<input type='submit' value='Править'></form>\n";
224
                    break;
225
                    case '3':
226
                        // Удаление существующего дистрибутива
227
                        $dist =& $db->query("SELECT * FROM distribution WHERE dist_id='$uid'");
228
                        $dist->fetchInto($info, DB_FETCHMODE_ASSOC);
229
                        $display  = "<h3>Удаление apt-дистрибутива <em class='".stripslashes($info["distua"])."-em'>".stripslashes($info["distname"])."</em></h3>";
230
                        $display .= "<form action='./process_ng.php' method='POST'>\n";
231
                        $display .= "<input type='hidden' name='cat' value='$cat'>\n";
232
                        $display .= "<input type='hidden' name='act' value='$act'>\n";
233
                        $display .= "<input type='hidden' name='distID' value='$uid'>\n";
234
                        $display .= "<input type='hidden' name='distUA' value='".stripslashes($info["distua"])."'>\n";
235
                        $display .= "<input type='submit' value='Удалить'></form>\n";
236
                    break;
237
                }
238
            break;
239
            case '2':
240
            break;
241
            case '3':
242
            break;
243
            case '4':
244
            break;
245
        }
246
    break;
247
}
248
 
249
$smarty->assign('feedaddr',$_SERVER["HTTP_HOST"].dirname($_SERVER["PHP_SELF"]));
250
$smarty->assign('error',$error);
251
$smarty->assign('menu',$menu);
252
$smarty->assign('display',$display);
253
$smarty->assign('antversion',$core->getSetting('version',$db));
254
$smarty->assign('title',$core->getSetting('codename',$db));
255
$smarty->assign('style',$core->getCSSList($db));
157 diffor 256
$smarty->display('admin_ng.tpl');
154 diffor 257
 
258
?>