Редакция 570 | Редакция 582 | К новейшей редакции | Содержимое файла | Сравнить с предыдущей | Последнее изменение | Открыть журнал | RSS
Редакция | Автор | № строки | Строка |
---|---|---|---|
360 | alex-w | 1 | <?php |
2 | /** |
||
3 | * |
||
554 | alex-w | 4 | * Codename: ant-ng - generator of sources.list for apt-distributives |
360 | alex-w | 5 | * http://alex-w.org.ru/p/antng/ |
6 | * |
||
7 | * Copyright (c) 2009 Alexander Wolf |
||
8 | * Dual licensed under the MIT and GNU LGPL licenses. |
||
9 | * http://alex-w.org.ru/p/antng/license |
||
10 | * |
||
11 | */ |
||
12 | |||
13 | require_once dirname(__FILE__)."/init.php"; |
||
14 | |||
15 | if(!empty($_GET["action"])) { |
||
16 | $action = $_GET["action"]; |
||
17 | } else { |
||
388 | alex-w | 18 | $action = "view"; |
360 | alex-w | 19 | } |
388 | alex-w | 20 | if(!empty($_GET["mode"])) { |
21 | $mode = $_GET["mode"]; |
||
22 | } else { |
||
23 | $mode = "empty"; |
||
24 | } |
||
360 | alex-w | 25 | |
388 | alex-w | 26 | $uuid = $secure->checkInt($_GET["uuid"]); |
27 | |||
368 | alex-w | 28 | $valid = $core->checkCookieSign($_COOKIE[$cookie]); |
443 | alex-w | 29 | |
492 | alex-w | 30 | $scripts = ""; |
443 | alex-w | 31 | |
442 | alex-w | 32 | $menu = "<fieldset><legend>Меню</legend>\n"; |
441 | alex-w | 33 | $menu .= "<div id='rmenu'></div>\n"; |
490 | alex-w | 34 | $menu .= "<ul class='vfix'><li><a href='".$manager."?mode=distributions'>Дистрибутивы</a></li>"; |
35 | $menu .= "<li><a href='".$manager."?mode=versions'>Версии</a></li>"; |
||
542 | alex-w | 36 | $menu .= "<li><a href='".$manager."?mode=sections'>Секции</a></li>"; |
539 | alex-w | 37 | $menu .= "<li><a href='".$manager."?mode=signs'>Подписи</a></li>"; |
490 | alex-w | 38 | $menu .= "<li><a href='".$manager."?mode=repositories'>Репозитории</a></li>"; |
568 | alex-w | 39 | $menu .= "<li><a href='".$manager."?mode=archs'>Архитектуры</a></li>"; |
570 | alex-w | 40 | $menu .= "<li><a href='".$manager."?mode=schemes'>Схемы</a></li>"; |
574 | alex-w | 41 | $menu .= "<li><a href='".$manager."?mode=protos'>Протоколы</a></li>"; |
490 | alex-w | 42 | $menu .= "<li><a href='".$manager."?mode=settings'>Настройки</a></li>"; |
43 | $menu .= "<li><a href='".$manager."?mode=exit'>Выход</a></li></ul>"; |
||
432 | alex-w | 44 | $menu .=" </fieldset>\n"; |
445 | alex-w | 45 | |
46 | $tmpl->assign('scripts', $scripts); |
||
432 | alex-w | 47 | $tmpl->assign('menu', $menu); |
368 | alex-w | 48 | |
388 | alex-w | 49 | switch ($mode) { |
360 | alex-w | 50 | case 'empty': |
368 | alex-w | 51 | if ($valid["ERR"]==1) { |
52 | $tmpl->assign('header', "Вход"); |
||
387 | alex-w | 53 | $tmpl->assign('description', "Вход в панель управления генератором"); |
368 | alex-w | 54 | $tmpl->assign('body', $core->showSigninForm()); |
388 | alex-w | 55 | $tmpl->display('default.tpl'); |
368 | alex-w | 56 | } else { |
486 | alex-w | 57 | $tmpl->assign('header', "CPanel"); |
432 | alex-w | 58 | $tmpl->assign('description', "Панель управления генератором"); |
368 | alex-w | 59 | $tmpl->assign('body', $body); |
388 | alex-w | 60 | $tmpl->display('manager.tpl'); |
61 | } |
||
360 | alex-w | 62 | break; |
63 | case 'exit': |
||
64 | setcookie($cookie, '', time()-10); |
||
65 | header("Location: ./\n\n"); |
||
66 | break; |
||
487 | alex-w | 67 | case 'distributions': |
388 | alex-w | 68 | // Управление дистрибутивами |
506 | alex-w | 69 | $body = "<h3>Управление дистрибутивами</h3>"; |
70 | switch ($action) { |
||
71 | case 'view': |
||
72 | $body .= "<p><a href='".$manager."?mode=distributions&action=new'>Добавить новый дистрибутив</a></p>"; |
||
512 | alex-w | 73 | $body .= $core->showDistributionList("distributions", $maganer, "", "list"); |
506 | alex-w | 74 | break; |
508 | alex-w | 75 | case 'new': |
530 | alex-w | 76 | $body .= "<form action='".$process."' method='post' enctype='multipart/form-data'>\n"; |
508 | alex-w | 77 | $body .= "<input type='hidden' name='mode' value='distributive-add'>\n"; |
511 | alex-w | 78 | $body .= $core->showDistributionForm(0,"Добавление информации о новом дистрибутиве"); |
508 | alex-w | 79 | $body .= "</form>"; |
80 | break; |
||
81 | case 'edit': |
||
530 | alex-w | 82 | $body .= "<form action='".$process."' method='post' enctype='multipart/form-data'>\n"; |
509 | alex-w | 83 | $body .= "<input type='hidden' name='mode' value='distributive-edit'>\n"; |
508 | alex-w | 84 | $body .= "<input type='hidden' name='distID' value='".$uuid."'>\n"; |
511 | alex-w | 85 | $body .= $core->showDistributionForm($uuid, "Редактирование информации о дистрибутиве"); |
508 | alex-w | 86 | $body .= "</form>"; |
87 | break; |
||
88 | case 'delete': |
||
509 | alex-w | 89 | $body .= "<form action='".$process."' method='post'>\n"; |
90 | $body .= "<input type='hidden' name='mode' value='distributive-delete'>\n"; |
||
91 | $body .= "<input type='hidden' name='distID' value='".$uuid."'>\n"; |
||
511 | alex-w | 92 | $body .= $core->showDistributionForm($uuid, "Удаление информации о дистрибутиве"); |
509 | alex-w | 93 | $body .= "</form>"; |
508 | alex-w | 94 | break; |
506 | alex-w | 95 | } |
507 | alex-w | 96 | $tmpl->assign('header', "CPanel"); |
97 | $tmpl->assign('description', "Панель управления генератором"); |
||
98 | $tmpl->assign('body', $body); |
||
99 | $tmpl->display('manager.tpl'); |
||
388 | alex-w | 100 | break; |
484 | alex-w | 101 | case 'versions': |
102 | // Управление версиями |
||
506 | alex-w | 103 | $body = "<h3>Управление версиями</h3>"; |
497 | alex-w | 104 | switch ($action) { |
105 | case 'view': |
||
506 | alex-w | 106 | $body .= "<p><a href='".$manager."?mode=versions&action=new'>Добавить новую версию дистрибутива</a></p>"; |
509 | alex-w | 107 | $body .= $core->showDistVersionsList("versions", 0, "list", $manager); |
497 | alex-w | 108 | break; |
109 | case 'edit': |
||
509 | alex-w | 110 | $body .= "<form action='".$process."' method='post'>\n"; |
111 | $body .= "<input type='hidden' name='mode' value='version-edit'>\n"; |
||
112 | $body .= "<input type='hidden' name='versionID' value='".$uuid."'>\n"; |
||
511 | alex-w | 113 | $body .= $core->showDistVersionsForm($uuid, "Редактирование информации о версии дистрибутива"); |
509 | alex-w | 114 | $body .= "</form>"; |
497 | alex-w | 115 | break; |
509 | alex-w | 116 | case 'delete': |
117 | $body .= "<form action='".$process."' method='post'>\n"; |
||
118 | $body .= "<input type='hidden' name='mode' value='version-delete'>\n"; |
||
119 | $body .= "<input type='hidden' name='versionID' value='".$uuid."'>\n"; |
||
511 | alex-w | 120 | $body .= $core->showDistVersionsForm($uuid, "Удаление информации о версии дистрибутива"); |
509 | alex-w | 121 | $body .= "</form>"; |
503 | alex-w | 122 | break; |
509 | alex-w | 123 | case 'new': |
124 | $body .= "<form action='".$process."' method='post'>\n"; |
||
125 | $body .= "<input type='hidden' name='mode' value='version-add'>\n"; |
||
511 | alex-w | 126 | $body .= $core->showDistVersionsForm(0, "Добавление новой версии дистрибутива"); |
509 | alex-w | 127 | $body .= "</form>"; |
503 | alex-w | 128 | break; |
497 | alex-w | 129 | } |
494 | alex-w | 130 | $tmpl->assign('header', "CPanel"); |
131 | $tmpl->assign('description', "Панель управления генератором"); |
||
132 | $tmpl->assign('body', $body); |
||
133 | $tmpl->display('manager.tpl'); |
||
484 | alex-w | 134 | break; |
522 | alex-w | 135 | case 'sections': |
136 | // Управление секциями (deb) |
||
137 | $body = "<h3>Управление секциями репозиториев</h3>"; |
||
138 | switch ($action) { |
||
139 | case 'view': |
||
140 | $body .= "<p><a href='".$manager."?mode=sections&action=new'>Добавить новую секцию репозитория</a></p>"; |
||
141 | $body .= $core->showSectionsList("sections", $manager); |
||
142 | break; |
||
143 | case 'edit': |
||
144 | $body .= "<form action='".$process."' method='post'>\n"; |
||
145 | $body .= "<input type='hidden' name='mode' value='section-edit'>\n"; |
||
146 | $body .= "<input type='hidden' name='sectionID' value='".$uuid."'>\n"; |
||
147 | $body .= $core->showSectionsForm($uuid, "Редактирование информации о секции"); |
||
148 | $body .= "</form>"; |
||
149 | break; |
||
150 | case 'delete': |
||
151 | $body .= "<form action='".$process."' method='post'>\n"; |
||
152 | $body .= "<input type='hidden' name='mode' value='section-delete'>\n"; |
||
153 | $body .= "<input type='hidden' name='sectionID' value='".$uuid."'>\n"; |
||
154 | $body .= $core->showSectionsForm($uuid, "Удаление информации о секции"); |
||
155 | $body .= "</form>"; |
||
156 | break; |
||
157 | case 'new': |
||
158 | $body .= "<form action='".$process."' method='post'>\n"; |
||
159 | $body .= "<input type='hidden' name='mode' value='section-add'>\n"; |
||
160 | $body .= $core->showSectionsForm(0, "Добавление новой секции"); |
||
161 | $body .= "</form>"; |
||
162 | break; |
||
163 | } |
||
164 | $tmpl->assign('header', "CPanel"); |
||
165 | $tmpl->assign('description', "Панель управления генератором"); |
||
166 | $tmpl->assign('body', $body); |
||
167 | $tmpl->display('manager.tpl'); |
||
168 | break; |
||
539 | alex-w | 169 | case 'signs': |
170 | // Управление подписями (rpm) |
||
171 | $body = "<h3>Управление подписями репозиториев</h3>"; |
||
172 | switch ($action) { |
||
173 | case 'view': |
||
541 | alex-w | 174 | $body .= "<p><a href='".$manager."?mode=signs&action=new'>Добавить новую подпись репозитория</a></p>"; |
539 | alex-w | 175 | $body .= $core->showSignsList("signs", $manager); |
176 | break; |
||
177 | case 'edit': |
||
178 | $body .= "<form action='".$process."' method='post'>\n"; |
||
179 | $body .= "<input type='hidden' name='mode' value='sign-edit'>\n"; |
||
180 | $body .= "<input type='hidden' name='signID' value='".$uuid."'>\n"; |
||
181 | $body .= $core->showSignsForm($uuid, "Редактирование информации о подписи"); |
||
182 | $body .= "</form>"; |
||
183 | break; |
||
184 | case 'delete': |
||
185 | $body .= "<form action='".$process."' method='post'>\n"; |
||
186 | $body .= "<input type='hidden' name='mode' value='sign-delete'>\n"; |
||
187 | $body .= "<input type='hidden' name='signID' value='".$uuid."'>\n"; |
||
188 | $body .= $core->showSignsForm($uuid, "Удаление информации о подписи"); |
||
189 | $body .= "</form>"; |
||
190 | break; |
||
191 | case 'new': |
||
192 | $body .= "<form action='".$process."' method='post'>\n"; |
||
193 | $body .= "<input type='hidden' name='mode' value='sign-add'>\n"; |
||
194 | $body .= $core->showSignsForm(0, "Добавление новой подписи"); |
||
195 | $body .= "</form>"; |
||
196 | break; |
||
197 | } |
||
198 | $tmpl->assign('header', "CPanel"); |
||
199 | $tmpl->assign('description', "Панель управления генератором"); |
||
200 | $tmpl->assign('body', $body); |
||
201 | $tmpl->display('manager.tpl'); |
||
202 | break; |
||
568 | alex-w | 203 | case 'archs': |
204 | // Управление архитектурами |
||
205 | $body = "<h3>Управление архитектурами</h3>"; |
||
206 | switch ($action) { |
||
207 | case 'view': |
||
208 | $body .= "<p><a href='".$manager."?mode=archs&action=new'>Добавить новую архитектуру</a></p>"; |
||
209 | $body .= $core->showArchList("archs", $manager, "list"); |
||
210 | break; |
||
211 | case 'edit': |
||
212 | $body .= "<form action='".$process."' method='post'>\n"; |
||
213 | $body .= "<input type='hidden' name='mode' value='arch-edit'>\n"; |
||
214 | $body .= "<input type='hidden' name='archID' value='".$uuid."'>\n"; |
||
215 | $body .= $core->showArchForm($uuid, "Редактирование информации об архитектуре"); |
||
216 | $body .= "</form>"; |
||
217 | break; |
||
218 | case 'delete': |
||
219 | $body .= "<form action='".$process."' method='post'>\n"; |
||
220 | $body .= "<input type='hidden' name='mode' value='arch-delete'>\n"; |
||
221 | $body .= "<input type='hidden' name='archID' value='".$uuid."'>\n"; |
||
222 | $body .= $core->showArchForm($uuid, "Удаление информации об архитектуре"); |
||
223 | $body .= "</form>"; |
||
224 | break; |
||
225 | case 'new': |
||
226 | $body .= "<form action='".$process."' method='post'>\n"; |
||
227 | $body .= "<input type='hidden' name='mode' value='arch-add'>\n"; |
||
228 | $body .= $core->showArchForm(0, "Добавление новой архитектуре"); |
||
229 | $body .= "</form>"; |
||
230 | break; |
||
231 | } |
||
232 | $tmpl->assign('header', "CPanel"); |
||
233 | $tmpl->assign('description', "Панель управления генератором"); |
||
234 | $tmpl->assign('body', $body); |
||
235 | $tmpl->display('manager.tpl'); |
||
236 | break; |
||
570 | alex-w | 237 | case 'schemes': |
238 | // Управление схемами репозиториев |
||
239 | $body = "<h3>Управление схемами репозиториев</h3>"; |
||
240 | switch ($action) { |
||
241 | case 'view': |
||
242 | $body .= "<p><a href='".$manager."?mode=schemes&action=new'>Добавить новую схему репозитория</a></p>"; |
||
243 | $body .= $core->showSchemeList("schemes", $manager, "list"); |
||
244 | break; |
||
245 | case 'edit': |
||
246 | $body .= "<form action='".$process."' method='post'>\n"; |
||
247 | $body .= "<input type='hidden' name='mode' value='scheme-edit'>\n"; |
||
248 | $body .= "<input type='hidden' name='schemeID' value='".$uuid."'>\n"; |
||
249 | $body .= $core->showSchemeForm($uuid, "Редактирование информации о схеме репозитория"); |
||
250 | $body .= "</form>"; |
||
251 | break; |
||
252 | case 'delete': |
||
253 | $body .= "<form action='".$process."' method='post'>\n"; |
||
254 | $body .= "<input type='hidden' name='mode' value='scheme-delete'>\n"; |
||
255 | $body .= "<input type='hidden' name='schemeID' value='".$uuid."'>\n"; |
||
256 | $body .= $core->showSchemeForm($uuid, "Удаление информации о схеме репозитория"); |
||
257 | $body .= "</form>"; |
||
258 | break; |
||
259 | case 'new': |
||
260 | $body .= "<form action='".$process."' method='post'>\n"; |
||
261 | $body .= "<input type='hidden' name='mode' value='scheme-add'>\n"; |
||
262 | $body .= $core->showSchemeForm(0, "Добавление новой схемы репозитория"); |
||
263 | $body .= "</form>"; |
||
264 | break; |
||
265 | } |
||
266 | $tmpl->assign('header', "CPanel"); |
||
267 | $tmpl->assign('description', "Панель управления генератором"); |
||
268 | $tmpl->assign('body', $body); |
||
269 | $tmpl->display('manager.tpl'); |
||
270 | break; |
||
574 | alex-w | 271 | case 'protos': |
272 | // Управление протоколами доступа |
||
273 | $body = "<h3>Управление протоколами доступа</h3>"; |
||
274 | switch ($action) { |
||
275 | case 'view': |
||
276 | $body .= "<p><a href='".$manager."?mode=protos&action=new'>Добавить новый протокол доступа</a></p>"; |
||
277 | $body .= $core->showProtoList("protos", $manager, "list"); |
||
278 | break; |
||
279 | case 'edit': |
||
280 | $body .= "<form action='".$process."' method='post'>\n"; |
||
281 | $body .= "<input type='hidden' name='mode' value='proto-edit'>\n"; |
||
282 | $body .= "<input type='hidden' name='protoID' value='".$uuid."'>\n"; |
||
283 | $body .= $core->showProtoForm($uuid, "Редактирование информации о протоколе доступа"); |
||
284 | $body .= "</form>"; |
||
285 | break; |
||
286 | case 'delete': |
||
287 | $body .= "<form action='".$process."' method='post'>\n"; |
||
288 | $body .= "<input type='hidden' name='mode' value='proto-delete'>\n"; |
||
289 | $body .= "<input type='hidden' name='protoID' value='".$uuid."'>\n"; |
||
290 | $body .= $core->showProtoForm($uuid, "Удаление информации о протоколе доступа"); |
||
291 | $body .= "</form>"; |
||
292 | break; |
||
293 | case 'new': |
||
294 | $body .= "<form action='".$process."' method='post'>\n"; |
||
295 | $body .= "<input type='hidden' name='mode' value='proto-add'>\n"; |
||
296 | $body .= $core->showProtoForm(0, "Добавление нового протокола доступа"); |
||
297 | $body .= "</form>"; |
||
298 | break; |
||
299 | } |
||
300 | $tmpl->assign('header', "CPanel"); |
||
301 | $tmpl->assign('description', "Панель управления генератором"); |
||
302 | $tmpl->assign('body', $body); |
||
303 | $tmpl->display('manager.tpl'); |
||
304 | break; |
||
484 | alex-w | 305 | case 'repositories': |
306 | // Управление репозиториями |
||
552 | alex-w | 307 | $body = "<h3>Управление репозиториями</h3>"; |
543 | alex-w | 308 | switch ($action) { |
309 | case 'view': |
||
550 | alex-w | 310 | $body .= "<ul><li><a href='".$manager."?mode=repositories&action=new-rpm'>Добавить новый rpm-репозиторий (мастер)</a></li>"; |
311 | $body .= "<li><a href='".$manager."?mode=repositories&action=new-deb'>Добавить новый deb-репозиторий (мастер)</a></li>"; |
||
312 | $body .= "<li><a href='".$manager."?mode=repositories&action=new'>Добавить новый репозиторий (“хакерский” способ)</a></li></ul>"; |
||
548 | alex-w | 313 | $body .= $core->showRepositoriesList("repositories", $manager, "list"); |
543 | alex-w | 314 | break; |
315 | case 'edit': |
||
316 | $body .= "<form action='".$process."' method='post'>\n"; |
||
317 | $body .= "<input type='hidden' name='mode' value='repositories-edit'>\n"; |
||
318 | $body .= "<input type='hidden' name='repositoriesID' value='".$uuid."'>\n"; |
||
553 | alex-w | 319 | $body .= $core->showRepositoriesForm($uuid, "Редактирование информации о репозитории"); |
543 | alex-w | 320 | $body .= "</form>"; |
321 | break; |
||
322 | case 'delete': |
||
323 | $body .= "<form action='".$process."' method='post'>\n"; |
||
324 | $body .= "<input type='hidden' name='mode' value='repositories-delete'>\n"; |
||
325 | $body .= "<input type='hidden' name='repositoriesID' value='".$uuid."'>\n"; |
||
553 | alex-w | 326 | $body .= $core->showRepositoriesForm($uuid, "Удаление информации о репозитории"); |
543 | alex-w | 327 | $body .= "</form>"; |
328 | break; |
||
329 | case 'new-rpm': |
||
330 | $body .= "<form action='".$process."' method='post'>\n"; |
||
331 | $body .= "<input type='hidden' name='mode' value='repositories-add-rpm'>\n"; |
||
553 | alex-w | 332 | $body .= $core->showRepositoriesForm(0, "Добавление нового rpm-репозитория", "rpm"); |
543 | alex-w | 333 | $body .= "</form>"; |
334 | break; |
||
335 | case 'new-deb': |
||
336 | $body .= "<form action='".$process."' method='post'>\n"; |
||
337 | $body .= "<input type='hidden' name='mode' value='repositories-add-deb'>\n"; |
||
553 | alex-w | 338 | $body .= $core->showRepositoriesForm(0, "Добавление нового deb-репозитория", "deb"); |
543 | alex-w | 339 | $body .= "</form>"; |
340 | break; |
||
551 | alex-w | 341 | case 'new': |
342 | $body .= "<form action='".$process."' method='post'>\n"; |
||
343 | $body .= "<input type='hidden' name='mode' value='repositories-add'>\n"; |
||
344 | $body .= "<fieldset><legend>Добавление нового репозитория</legend>\n"; |
||
345 | $body .= "<div class='inputbox'><label for='repscheme'>Строка sources.list:</label> <input type='text' id='repscheme' name='repscheme' value=''></div>\n"; |
||
346 | $body .= "<div class='inputbox'><input type='submit' value=' Обработать строку '></div>\n"; |
||
347 | $body .= "</fieldset></form>"; |
||
348 | break; |
||
543 | alex-w | 349 | } |
513 | alex-w | 350 | |
351 | $tmpl->assign('header', "CPanel"); |
||
352 | $tmpl->assign('description', "Панель управления генератором"); |
||
353 | $tmpl->assign('body', $body); |
||
354 | $tmpl->display('manager.tpl'); |
||
484 | alex-w | 355 | break; |
487 | alex-w | 356 | case 'settings': |
357 | // Настройки генератора |
||
513 | alex-w | 358 | $body = "Функционал еще не готов"; |
359 | |||
360 | $tmpl->assign('header', "CPanel"); |
||
361 | $tmpl->assign('description', "Панель управления генератором"); |
||
362 | $tmpl->assign('body', $body); |
||
363 | $tmpl->display('manager.tpl'); |
||
487 | alex-w | 364 | break; |
360 | alex-w | 365 | } |
366 | |||
367 | ?> |