Хранилища Subversion ant

Редакция

Редакция 155 | К новейшей редакции | Содержимое файла | Сравнить с предыдущей | Последнее изменение | Открыть журнал | 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':
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>";
44
                        while ($orig->fetchInto($info, DB_FETCHMODE_ASSOC)) {
45
                            $display .= "<tr><td><a href='".$admin."?mode=0&cat=1&uid=".stripslashes($info["id"])."'>".stripslashes($info["origin"])."</a></td>";
46
                            $display .= "<td>";
47
                            // --- replace to join
48
                            // meybe it? select 2value from 2table where 2id in(select 2id from 3table where 1id=$peremenaya)
49
                            $dist =& $db->query("SELECT distribution.distname
50
                            FROM distribution, orig2dist
51
                            WHERE '".stripslashes($info["id"])."' = orig2dist.orig_id
52
                            AND orig2dist.dist_id = distribution.dist_id");
53
                            // --- 
54
                                while ($dist->fetchInto($info2, DB_FETCHMODE_ASSOC)) {
55
                                $display .= stripslashes($info2["distname"])." | ";
56
                                }
57
                            $display .=" </td>";
58
                        }
59
                        $display .= "</table>";
60
            break;
61
            case '1':
62
                        //Список дистрибутивов для источника
63
                        $orig =& $db->query("SELECT * FROM origin WHERE origin.id=$uid");
64
                        $orig->fetchInto($info, DB_FETCHMODE_ASSOC);
65
                        $display = "<a href='".$admin."?mode=0'>Управление</a> - <a href='".$admin."?mode=1'>Источник: ".$info["origin"]."</a><br><br><br>";
66
                        $distr =& $db->query("SELECT * FROM distribution,orig2dist,origin WHERE distribution.dist_id=orig2dist.dist_id AND orig2dist.orig_id='16'");
67
                        $display .= "<table><tr><td>Дистрибутив</td><td>Секции</td></tr>";
68
                        while ($distr->fetchInto($info, DB_FETCHMODE_ASSOC)) {
69
                            $display .= "<tr><td><a href='".$admin."?mode=0&cat=1&uid=".stripslashes($info["id"])."'>".stripslashes($info["distname"])."</td>";
70
                        }
71
                        $display .= "</table>";
72
        }
154 diffor 73
    break;
74
    case '1':
155 diffor 75
        switch ($cat) {
154 diffor 76
            case '0':
77
                switch($act) {
78
                    case '0':
79
                        // Список источников
80
                        $orig =& $db->query("SELECT * FROM origin");
155 diffor 81
                        $display = "<h3>Источник - Список</h3>";
82
                        $display .= "<table><tr><td>Источник</td><td>Действие</td><td>Описание</td><td>Корень</td><td>Домашняя страница</td><td>Ссылка на ключ</td></tr>";
154 diffor 83
                        while ($orig->fetchInto($info, DB_FETCHMODE_ASSOC)) {
84
                            $display .= "<tr><td>".stripslashes($info["origin"])."</td>";
85
                            $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>";
86
                            $display .= "<td>".stripslashes($info["desk"])."</td><td>".stripslashes($info["basedir"])."</td><td>".stripslashes($info["homeurl"])."</td><td>".stripslashes($info["keyurl"])."</td></tr>";
87
                        }
88
                        $display .= "</table>";
89
                        $display .= "<p><a href='".$admin."?mode=1&cat=0&action=1'><img src='img/add.png' alt='Добавить'>Добавить новый источник</a></p>";
90
                    break;
91
                    case '1':
92
                        // Добавление нового источника
93
                        $display  = "<h3>Источник - Добавление</h3>";
94
                        $display .= "<form action='./process_ng.php' method='POST' enctype='multipart/form-data'>\n";
95
                        $display .= "<input type='hidden' name='cat' value='$cat'>\n";
96
                        $display .= "<input type='hidden' name='act' value='$act'>\n";
97
                        $display .= "Название : <input type='text' name='origin'><br>\n";
98
                        $display .= "Описание :<br> <textarea name='desk'></textarea><br>\n";
99
                        $display .= "Корень: <input type='text' name='basedir'><br>\n";
100
                        $display .= "Домашняя страница: <input type='text' name='homeurl'><br>\n";
101
                        $display .= "Ссылка на ключ: <input type='text' name='keyurl'><br>\n";
102
                        $display .= "<input type='submit' value='Создать'></form>\n";
103
                    break;
104
                    case '2':
105
                        // Правка существующего источника
106
                        $orig =& $db->query("SELECT * FROM origin WHERE id='$uid'");
107
                        $orig->fetchInto($info, DB_FETCHMODE_ASSOC);
108
                        $type .= "</select>\n";
109
                        $display  = "<h3>Источник - Правка : <em>'".stripslashes($info["origin"])."'</em></h3>";
110
                        $display .= "<form action='./process_ng.php' method='POST' enctype='multipart/form-data'>\n";
111
                        $display .= "<input type='hidden' name='cat' value='$cat'>\n";
112
                        $display .= "<input type='hidden' name='act' value='$act'>\n";
113
                        $display .= "<input type='hidden' name='originID' value='$uid'>\n";
114
                        $display .= "Название : <input type='text' name='origin' value='".stripslashes($info["origin"])."'><br>\n";
115
                        $display .= "Описание :<br> <textarea name='desk' value='".stripslashes($info["desk"])."'></textarea><br>\n";
116
                        $display .= "Корень: <input type='text' name='basedir' value='".stripslashes($info["basedir"])."'><br>\n";
117
                        $display .= "Домашняя страница: <input type='text' name='homeurl' value='".stripslashes($info["homeurl"])."'><br>\n";
118
                        $display .= "Ссылка на ключ: <input type='text' name='keyurl' value='".stripslashes($info["keyurl"])."'><br>\n";
119
                        $display .= "<input type='submit' value='Править'></form>\n";
120
                    break;
121
                    case '3':
122
                        // Удаление существующего источника
123
                        $orig =& $db->query("SELECT * FROM origin WHERE id='$uid'");
124
                        $orig->fetchInto($info, DB_FETCHMODE_ASSOC);
125
                        $display  = "<h3>Удаление источника репозиториев <em>'".stripslashes($info["origin"])."'</em></h3>";
126
                        $display .= "<form action='./process_ng.php' method='POST' enctype='multipart/form-data'>\n";
127
                        $display .= "<input type='hidden' name='cat' value='$cat'>\n";
128
                        $display .= "<input type='hidden' name='act' value='$act'>\n";
129
                        $display .= "<input type='hidden' name='originID' value='$uid'>\n";
130
                        $display .= "<input type='submit' value='Удалить'></form>\n";
131
                    break;
132
                }
133
            break;
134
            case '1':
135
                switch($act) {
136
                    case '0':
137
                        // Список дистрибутивов
155 diffor 138
                        $display = "<h3>Дистрибутив - Список</h3>";
154 diffor 139
                        $distr =& $db->query("SELECT * FROM distribution");
155 diffor 140
                        $display .= "<table><tr><td>Дистрибутив</td><td>Действие</td><td>Описание</td><td>URL</td><td>Ссылка на ключ</td></tr>";
154 diffor 141
                        while ($distr->fetchInto($info, DB_FETCHMODE_ASSOC)) {
142
                            $display .= "<tr><td>".stripslashes($info["distname"])."</td>";
143
                            $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>";
144
                            $display .= "<td>".stripslashes($info["origin"])."</td></tr>";
145
                        }
146
                        $display .= "</table>";
147
                        $display .= "<p><a href='".$admin."?mode=1&cat=1&action=1'><img src='img/add.png' alt='Добавить'>Добавить новый дистрибутив</a></p>";
148
                    break;
149
                    case '1':
150
                        // Добавление нового дистрибутива
151
                        $dtype =& $db->query("SELECT * FROM dtype");
152
                        $type = "<select name='distType'>";
153
                        while ($dtype->fetchInto($dtinfo, DB_FETCHMODE_ASSOC)) {
154
                            $type .= "<option value='".$dtinfo["type_id"]."'>".stripslashes($dtinfo["type"])."</option>";
155
                        }
156
                        $type .= "</select>\n";
157
                        $display  = "<h3>Дистрибутив - Добавление</h3>";
158
                        $display .= "<form action='./process_ng.php' method='POST' enctype='multipart/form-data'>\n";
159
                        $display .= "<input type='hidden' name='cat' value='$cat'>\n";
160
                        $display .= "<input type='hidden' name='act' value='$act'>\n";
161
                        $display .= "Название дистрибутива: <input type='text' name='distName'><br>\n";
162
                        $display .= "Представление в строке User-Agent'а: <input type='text' name='distUA'><br>\n";
163
                        $display .= "Тип дистрибутива: ".$type."<br>";
164
                        $display .= "Логотип дистрибутива (Прозрачный PNG): <input type='file' name='distLOGO'><br>";
165
                        $display .= "<input type='submit' value='Создать'></form>\n";
166
                    break;
167
                    case '2':
168
                        // Правка существующего дистрибутива
169
                        $dist =& $db->query("SELECT * FROM distribution WHERE dist_id='$uid'");
170
                        $dist->fetchInto($info, DB_FETCHMODE_ASSOC);
171
                        $dtype =& $db->query("SELECT * FROM dtype");
172
                        $type = "<select name='distType'>";
173
                        while ($dtype->fetchInto($dtinfo, DB_FETCHMODE_ASSOC)) {
174
                            if ($info["disttype"]==$dtinfo["type_id"]) {
175
                                $type .= "<option value='".$dtinfo["type_id"]."' selected>".stripslashes($dtinfo["type"])."</option>";
176
                            } else {
177
                                $type .= "<option value='".$dtinfo["type_id"]."'>".stripslashes($dtinfo["type"])."</option>";
178
                            }
179
                        }
180
                        $type .= "</select>\n";
181
                        $display  = "<h3>Дистрибутив - Правка: <em class='".stripslashes($info["distua"])."-em'>".stripslashes($info["distname"])."</em></h3>";
182
                        $display .= "<form action='./process_ng.php' method='POST' enctype='multipart/form-data'>\n";
183
                        $display .= "<input type='hidden' name='cat' value='$cat'>\n";
184
                        $display .= "<input type='hidden' name='act' value='$act'>\n";
185
                        $display .= "<input type='hidden' name='distID' value='$uid'>\n";
186
                        $display .= "Название дистрибутива: <input type='text' name='distName' value='".stripslashes($info["distname"])."'><br>\n";
187
                        $display .= "Представление в строке User-Agent'a: <input type='text' name='distUA' value='".stripslashes($info["distua"])."'><br>\n";
188
                        $display .= "Тип дистрибутива: ".$type."<br>";
189
                        $display .= "Логотип дистрибутива (Прозрачный PNG): <input type='file' name='distLOGO'><br>";
190
                        $display .= "<input type='submit' value='Править'></form>\n";
191
                    break;
192
                    case '3':
193
                        // Удаление существующего дистрибутива
194
                        $dist =& $db->query("SELECT * FROM distribution WHERE dist_id='$uid'");
195
                        $dist->fetchInto($info, DB_FETCHMODE_ASSOC);
196
                        $display  = "<h3>Удаление apt-дистрибутива <em class='".stripslashes($info["distua"])."-em'>".stripslashes($info["distname"])."</em></h3>";
197
                        $display .= "<form action='./process_ng.php' method='POST'>\n";
198
                        $display .= "<input type='hidden' name='cat' value='$cat'>\n";
199
                        $display .= "<input type='hidden' name='act' value='$act'>\n";
200
                        $display .= "<input type='hidden' name='distID' value='$uid'>\n";
201
                        $display .= "<input type='hidden' name='distUA' value='".stripslashes($info["distua"])."'>\n";
202
                        $display .= "<input type='submit' value='Удалить'></form>\n";
203
                    break;
204
                }
205
            break;
206
            case '2':
207
            break;
208
            case '3':
209
            break;
210
            case '4':
211
            break;
212
        }
213
    break;
214
}
215
 
216
$smarty->assign('feedaddr',$_SERVER["HTTP_HOST"].dirname($_SERVER["PHP_SELF"]));
217
$smarty->assign('error',$error);
218
$smarty->assign('menu',$menu);
219
$smarty->assign('display',$display);
220
$smarty->assign('antversion',$core->getSetting('version',$db));
221
$smarty->assign('title',$core->getSetting('codename',$db));
222
$smarty->assign('style',$core->getCSSList($db));
157 diffor 223
$smarty->display('admin_ng.tpl');
154 diffor 224
 
225
?>