Редакция 589 |
Редакция 597 |
К новейшей редакции |
Авторство |
Сравнить с предыдущей |
Последнее изменение |
Открыть журнал
| Скачать
| RSS
<?php
/**
*
* Codename: ant-ng - generator of sources.list for apt-distributives
* http://alex-w.org.ru/p/antng/
*
* Copyright (c) 2009 Alexander Wolf
* Dual licensed under the MIT and GNU LGPL licenses.
* http://alex-w.org.ru/p/antng/license
*
*/
require_once dirname(__FILE__)."/init.php";
if(!empty($_GET["action"])) {
$action = $_GET["action"];
} else {
$action = "view";
}
if(!empty($_GET["mode"])) {
$mode = $_GET["mode"];
} else {
$mode = "empty";
}
$uuid = $secure->checkInt($_GET["uuid"]);
$valid = $core->checkCookieSign($_COOKIE[$cookie]);
$scripts = "";
$menu = "<fieldset><legend>Меню</legend>\n";
$menu .= "<div id='rmenu'></div>\n";
$menu .= "<ul class='vfix'><li><a href='".$manager."?mode=distributions'>Дистрибутивы</a></li>";
$menu .= "<li><a href='".$manager."?mode=versions'>Версии</a></li>";
$menu .= "<li><a href='".$manager."?mode=sections'>Секции</a></li>";
$menu .= "<li><a href='".$manager."?mode=signs'>Подписи</a></li>";
$menu .= "<li><a href='".$manager."?mode=repositories'>Репозитории</a></li>";
$menu .= "<li><a href='".$manager."?mode=archs'>Архитектуры</a></li>";
$menu .= "<li><a href='".$manager."?mode=schemes'>Схемы</a></li>";
$menu .= "<li><a href='".$manager."?mode=protos'>Протоколы</a></li>";
$menu .= "<li><a href='".$manager."?mode=hosts'>Хосты репозиториев</a></li>";
$menu .= "<li><a href='".$manager."?mode=folders'>Корневые папки</a></li>";
$menu .= "<li><a href='".$manager."?mode=settings'>Настройки</a></li>";
$menu .= "<li><a href='".$manager."?mode=exit'>Выход</a></li></ul>";
$menu .=" </fieldset>\n";
$tmpl->assign('scripts', $scripts);
$tmpl->assign('menu', $menu);
switch ($mode) {
case 'empty':
if ($valid["ERR"]==1) {
$tmpl->assign('header', "Вход");
$tmpl->assign('description', "Вход в панель управления генератором");
$tmpl->assign('body', $core->showSigninForm());
$tmpl->display('default.tpl');
} else {
$tmpl->assign('header', "CPanel");
$tmpl->assign('description', "Панель управления генератором");
$tmpl->assign('body', $body);
$tmpl->display('manager.tpl');
}
break;
case 'exit':
setcookie($cookie, '', time()-10);
header("Location: ./\n\n");
break;
case 'distributions':
// Управление дистрибутивами
$body = "<h3>Управление дистрибутивами</h3>";
switch ($action) {
case 'view':
$body .= "<p><a href='".$manager."?mode=distributions&action=new'>Добавить новый дистрибутив</a></p>";
$body .= $core->showDistributionList("distributions", $maganer, "", "list");
break;
case 'new':
$body .= "<form action='".$process."' method='post' enctype='multipart/form-data'>\n";
$body .= "<input type='hidden' name='mode' value='distributive-add'>\n";
$body .= $core->showDistributionForm(0,"Добавление информации о новом дистрибутиве");
$body .= "</form>";
break;
case 'edit':
$body .= "<form action='".$process."' method='post' enctype='multipart/form-data'>\n";
$body .= "<input type='hidden' name='mode' value='distributive-edit'>\n";
$body .= "<input type='hidden' name='distID' value='".$uuid."'>\n";
$body .= $core->showDistributionForm($uuid, "Редактирование информации о дистрибутиве");
$body .= "</form>";
break;
case 'delete':
$body .= "<form action='".$process."' method='post'>\n";
$body .= "<input type='hidden' name='mode' value='distributive-delete'>\n";
$body .= "<input type='hidden' name='distID' value='".$uuid."'>\n";
$body .= $core->showDistributionForm($uuid, "Удаление информации о дистрибутиве");
$body .= "</form>";
break;
}
$tmpl->assign('header', "CPanel");
$tmpl->assign('description', "Панель управления генератором");
$tmpl->assign('body', $body);
$tmpl->display('manager.tpl');
break;
case 'versions':
// Управление версиями
$body = "<h3>Управление версиями</h3>";
switch ($action) {
case 'view':
$body .= "<p><a href='".$manager."?mode=versions&action=new'>Добавить новую версию дистрибутива</a></p>";
$body .= $core->showDistVersionsList("versions", 0, "list", $manager);
break;
case 'edit':
$body .= "<form action='".$process."' method='post'>\n";
$body .= "<input type='hidden' name='mode' value='version-edit'>\n";
$body .= "<input type='hidden' name='versionID' value='".$uuid."'>\n";
$body .= $core->showDistVersionsForm($uuid, "Редактирование информации о версии дистрибутива");
$body .= "</form>";
break;
case 'delete':
$body .= "<form action='".$process."' method='post'>\n";
$body .= "<input type='hidden' name='mode' value='version-delete'>\n";
$body .= "<input type='hidden' name='versionID' value='".$uuid."'>\n";
$body .= $core->showDistVersionsForm($uuid, "Удаление информации о версии дистрибутива");
$body .= "</form>";
break;
case 'new':
$body .= "<form action='".$process."' method='post'>\n";
$body .= "<input type='hidden' name='mode' value='version-add'>\n";
$body .= $core->showDistVersionsForm(0, "Добавление новой версии дистрибутива");
$body .= "</form>";
break;
}
$tmpl->assign('header', "CPanel");
$tmpl->assign('description', "Панель управления генератором");
$tmpl->assign('body', $body);
$tmpl->display('manager.tpl');
break;
case 'sections':
// Управление секциями (deb)
$body = "<h3>Управление секциями репозиториев</h3>";
switch ($action) {
case 'view':
$body .= "<p><a href='".$manager."?mode=sections&action=new'>Добавить новую секцию репозитория</a></p>";
$body .= $core->showSectionsList("sections", $manager);
break;
case 'edit':
$body .= "<form action='".$process."' method='post'>\n";
$body .= "<input type='hidden' name='mode' value='section-edit'>\n";
$body .= "<input type='hidden' name='sectionID' value='".$uuid."'>\n";
$body .= $core->showSectionsForm($uuid, "Редактирование информации о секции");
$body .= "</form>";
break;
case 'delete':
$body .= "<form action='".$process."' method='post'>\n";
$body .= "<input type='hidden' name='mode' value='section-delete'>\n";
$body .= "<input type='hidden' name='sectionID' value='".$uuid."'>\n";
$body .= $core->showSectionsForm($uuid, "Удаление информации о секции");
$body .= "</form>";
break;
case 'new':
$body .= "<form action='".$process."' method='post'>\n";
$body .= "<input type='hidden' name='mode' value='section-add'>\n";
$body .= $core->showSectionsForm(0, "Добавление новой секции");
$body .= "</form>";
break;
}
$tmpl->assign('header', "CPanel");
$tmpl->assign('description', "Панель управления генератором");
$tmpl->assign('body', $body);
$tmpl->display('manager.tpl');
break;
case 'signs':
// Управление подписями (rpm)
$body = "<h3>Управление подписями репозиториев</h3>";
switch ($action) {
case 'view':
$body .= "<p><a href='".$manager."?mode=signs&action=new'>Добавить новую подпись репозитория</a></p>";
$body .= $core->showSignsList("signs", $manager);
break;
case 'edit':
$body .= "<form action='".$process."' method='post'>\n";
$body .= "<input type='hidden' name='mode' value='sign-edit'>\n";
$body .= "<input type='hidden' name='signID' value='".$uuid."'>\n";
$body .= $core->showSignsForm($uuid, "Редактирование информации о подписи");
$body .= "</form>";
break;
case 'delete':
$body .= "<form action='".$process."' method='post'>\n";
$body .= "<input type='hidden' name='mode' value='sign-delete'>\n";
$body .= "<input type='hidden' name='signID' value='".$uuid."'>\n";
$body .= $core->showSignsForm($uuid, "Удаление информации о подписи");
$body .= "</form>";
break;
case 'new':
$body .= "<form action='".$process."' method='post'>\n";
$body .= "<input type='hidden' name='mode' value='sign-add'>\n";
$body .= $core->showSignsForm(0, "Добавление новой подписи");
$body .= "</form>";
break;
}
$tmpl->assign('header', "CPanel");
$tmpl->assign('description', "Панель управления генератором");
$tmpl->assign('body', $body);
$tmpl->display('manager.tpl');
break;
case 'archs':
// Управление архитектурами
$body = "<h3>Управление архитектурами</h3>";
switch ($action) {
case 'view':
$body .= "<p><a href='".$manager."?mode=archs&action=new'>Добавить новую архитектуру</a></p>";
$body .= $core->showArchList("archs", $manager, "list");
break;
case 'edit':
$body .= "<form action='".$process."' method='post'>\n";
$body .= "<input type='hidden' name='mode' value='arch-edit'>\n";
$body .= "<input type='hidden' name='archID' value='".$uuid."'>\n";
$body .= $core->showArchForm($uuid, "Редактирование информации об архитектуре");
$body .= "</form>";
break;
case 'delete':
$body .= "<form action='".$process."' method='post'>\n";
$body .= "<input type='hidden' name='mode' value='arch-delete'>\n";
$body .= "<input type='hidden' name='archID' value='".$uuid."'>\n";
$body .= $core->showArchForm($uuid, "Удаление информации об архитектуре");
$body .= "</form>";
break;
case 'new':
$body .= "<form action='".$process."' method='post'>\n";
$body .= "<input type='hidden' name='mode' value='arch-add'>\n";
$body .= $core->showArchForm(0, "Добавление новой архитектуре");
$body .= "</form>";
break;
}
$tmpl->assign('header', "CPanel");
$tmpl->assign('description', "Панель управления генератором");
$tmpl->assign('body', $body);
$tmpl->display('manager.tpl');
break;
case 'schemes':
// Управление схемами репозиториев
$body = "<h3>Управление схемами репозиториев</h3>";
switch ($action) {
case 'view':
$body .= "<p><a href='".$manager."?mode=schemes&action=new'>Добавить новую схему репозитория</a></p>";
$body .= $core->showSchemeList("schemes", $manager, "list");
break;
case 'edit':
$body .= "<form action='".$process."' method='post'>\n";
$body .= "<input type='hidden' name='mode' value='scheme-edit'>\n";
$body .= "<input type='hidden' name='schemeID' value='".$uuid."'>\n";
$body .= $core->showSchemeForm($uuid, "Редактирование информации о схеме репозитория");
$body .= "</form>";
break;
case 'delete':
$body .= "<form action='".$process."' method='post'>\n";
$body .= "<input type='hidden' name='mode' value='scheme-delete'>\n";
$body .= "<input type='hidden' name='schemeID' value='".$uuid."'>\n";
$body .= $core->showSchemeForm($uuid, "Удаление информации о схеме репозитория");
$body .= "</form>";
break;
case 'new':
$body .= "<form action='".$process."' method='post'>\n";
$body .= "<input type='hidden' name='mode' value='scheme-add'>\n";
$body .= $core->showSchemeForm(0, "Добавление новой схемы репозитория");
$body .= "</form>";
break;
}
$tmpl->assign('header', "CPanel");
$tmpl->assign('description', "Панель управления генератором");
$tmpl->assign('body', $body);
$tmpl->display('manager.tpl');
break;
case 'protos':
// Управление протоколами доступа
$body = "<h3>Управление протоколами доступа</h3>";
switch ($action) {
case 'view':
$body .= "<p><a href='".$manager."?mode=protos&action=new'>Добавить новый протокол доступа</a></p>";
$body .= $core->showProtoList("protos", $manager, "list");
break;
case 'edit':
$body .= "<form action='".$process."' method='post'>\n";
$body .= "<input type='hidden' name='mode' value='proto-edit'>\n";
$body .= "<input type='hidden' name='protoID' value='".$uuid."'>\n";
$body .= $core->showProtoForm($uuid, "Редактирование информации о протоколе доступа");
$body .= "</form>";
break;
case 'delete':
$body .= "<form action='".$process."' method='post'>\n";
$body .= "<input type='hidden' name='mode' value='proto-delete'>\n";
$body .= "<input type='hidden' name='protoID' value='".$uuid."'>\n";
$body .= $core->showProtoForm($uuid, "Удаление информации о протоколе доступа");
$body .= "</form>";
break;
case 'new':
$body .= "<form action='".$process."' method='post'>\n";
$body .= "<input type='hidden' name='mode' value='proto-add'>\n";
$body .= $core->showProtoForm(0, "Добавление нового протокола доступа");
$body .= "</form>";
break;
}
$tmpl->assign('header', "CPanel");
$tmpl->assign('description', "Панель управления генератором");
$tmpl->assign('body', $body);
$tmpl->display('manager.tpl');
break;
case 'hosts':
// Управление хостами репозиториев
$body = "<h3>Управление хостами репозиториев</h3>";
switch ($action) {
case 'view':
$body .= "<p><a href='".$manager."?mode=hosts&action=new'>Добавить новый хост репозитория</a></p>";
$body .= $core->showHostsList("hosts", $manager, "list");
break;
case 'edit':
$body .= "<form action='".$process."' method='post'>\n";
$body .= "<input type='hidden' name='mode' value='host-edit'>\n";
$body .= "<input type='hidden' name='hostID' value='".$uuid."'>\n";
$body .= $core->showHostForm($uuid, "Редактирование информации о хосте репозитория");
$body .= "</form>";
break;
case 'delete':
$body .= "<form action='".$process."' method='post'>\n";
$body .= "<input type='hidden' name='mode' value='host-delete'>\n";
$body .= "<input type='hidden' name='hostID' value='".$uuid."'>\n";
$body .= $core->showHostForm($uuid, "Удаление информации о хосте репозитория");
$body .= "</form>";
break;
case 'new':
$body .= "<form action='".$process."' method='post'>\n";
$body .= "<input type='hidden' name='mode' value='host-add'>\n";
$body .= $core->showHostForm(0, "Добавление нового хоста репозитория");
$body .= "</form>";
break;
}
$tmpl->assign('header', "CPanel");
$tmpl->assign('description', "Панель управления генератором");
$tmpl->assign('body', $body);
$tmpl->display('manager.tpl');
break;
case 'folders':
// Управление коревыми папками
$body = "<h3>Управление коревыми папками репозиториев</h3>";
switch ($action) {
case 'view':
$body .= "<p><a href='".$manager."?mode=folders&action=new'>Добавить новую корневую папку репозитория</a></p>";
$body .= $core->showFoldersList("folders", $manager, "list");
break;
case 'edit':
$body .= "<form action='".$process."' method='post'>\n";
$body .= "<input type='hidden' name='mode' value='folder-edit'>\n";
$body .= "<input type='hidden' name='folderID' value='".$uuid."'>\n";
$body .= $core->showFolderForm($uuid, "Редактирование информации о корневой папке репозитория");
$body .= "</form>";
break;
case 'delete':
$body .= "<form action='".$process."' method='post'>\n";
$body .= "<input type='hidden' name='mode' value='folder-delete'>\n";
$body .= "<input type='hidden' name='folderID' value='".$uuid."'>\n";
$body .= $core->showFolderForm($uuid, "Удаление информации о корневой папке репозитория");
$body .= "</form>";
break;
case 'new':
$body .= "<form action='".$process."' method='post'>\n";
$body .= "<input type='hidden' name='mode' value='folder-add'>\n";
$body .= $core->showFolderForm(0, "Добавление новой корневой папки репозитория");
$body .= "</form>";
break;
}
$tmpl->assign('header', "CPanel");
$tmpl->assign('description', "Панель управления генератором");
$tmpl->assign('body', $body);
$tmpl->display('manager.tpl');
break;
case 'repositories':
// Управление репозиториями
$body = "<h3>Управление репозиториями</h3>";
switch ($action) {
case 'view':
$body .= "<ul><li><a href='".$manager."?mode=repositories&action=new-master'>Добавить новый репозиторий (мастер)</a></li>";
$body .= "<li><a href='".$manager."?mode=repositories&action=new'>Добавить новый репозиторий (“хакерский” способ)</a></li></ul>";
$body .= $core->showRepositoriesList("repositories", $manager, "list");
break;
case 'edit':
$body .= "<form action='".$process."' method='post'>\n";
$body .= "<input type='hidden' name='mode' value='repositories-edit'>\n";
$body .= "<input type='hidden' name='repositoriesID' value='".$uuid."'>\n";
$body .= $core->showRepositoriesForm($uuid, "Редактирование информации о репозитории");
$body .= "</form>";
break;
case 'delete':
$body .= "<form action='".$process."' method='post'>\n";
$body .= "<input type='hidden' name='mode' value='repositories-delete'>\n";
$body .= "<input type='hidden' name='repositoriesID' value='".$uuid."'>\n";
$body .= $core->showRepositoriesForm($uuid, "Удаление информации о репозитории");
$body .= "</form>";
break;
case 'new-master':
$body .= "<form action='".$process."' method='post'>\n";
$body .= "<input type='hidden' name='mode' value='repositories-add-rpm'>\n";
$body .= $core->showRepositoriesForm(0, "Добавление нового rpm-репозитория");
$body .= "</form>";
break;
case 'new':
$body .= "<form action='".$process."' method='post'>\n";
$body .= "<input type='hidden' name='mode' value='repositories-add'>\n";
$body .= "<fieldset><legend>Добавление нового репозитория</legend>\n";
$body .= "<div class='inputbox'><label for='repscheme'>Строка sources.list:</label> <input type='text' id='repscheme' name='repscheme' value=''></div>\n";
$body .= "<div class='inputbox'><input type='submit' value=' Обработать строку '></div>\n";
$body .= "</fieldset></form>";
break;
}
$tmpl->assign('header', "CPanel");
$tmpl->assign('description', "Панель управления генератором");
$tmpl->assign('body', $body);
$tmpl->display('manager.tpl');
break;
case 'settings':
// Настройки генератора
$body = "Функционал еще не готов";
$tmpl->assign('header', "CPanel");
$tmpl->assign('description', "Панель управления генератором");
$tmpl->assign('body', $body);
$tmpl->display('manager.tpl');
break;
}
?>