Редакция 154 |
Редакция 157 |
К новейшей редакции |
Авторство |
Сравнить с предыдущей |
Последнее изменение |
Открыть журнал
| RSS
<?php
require_once dirname(__FILE__)."/sign-valid.php";
$mode = abs(intval($_GET["mode"]));
$cat = abs(intval($_GET["cat"]));
$act = abs(intval($_GET["action"]));
$uid = abs(intval($_GET["uid"]));
$err = abs(intval($_GET["error"]));
// Admin file/interface
$admin = "./admin_ng.php";
switch ($err) {
case '1':
$error = "Ошибка ввода пароля: старый пароль неверен!";
break;
case '2':
$error = "Ошибка ввода пароля: новые пароли не совпадают!";
break;
}
$menu = "
<ul>
<li><a href='".$admin."?mode=0'>Управление</a></li>
<br>
<li><a href='".$admin."?mode=1&cat=0'>Источники</a></li>
<li><a href='".$admin."?mode=1&cat=1'>Дистрибутивы</a></li>
<li><a href='".$admin."?mode=1&cat=2'>Версии</a></li>
<li><a href='".$admin."?mode=1&cat=3'>Секции</a></li>
<br>
<li><a href='./signout.php' style='color:red;'>Выход</a></li>
</ul>
";
switch ($mode) {
case '0':
switch ($cat) {
case '0':
// Список всех источников
$display = "<a href='".$admin."?mode=0'>Управление</a><br><br><br>";
$orig =& $db->query("SELECT * FROM origin");
$display .= "<table><tr><td>Источник</td><td>Дистрибутивы</td>";
while ($orig->fetchInto($info, DB_FETCHMODE_ASSOC
)) {
$display .= "<tr><td><a href='".$admin."?mode=0&cat=1&uid=".stripslashes($info["id"])."'>".stripslashes($info["origin"])."</a></td>";
$display .= "<td>";
// --- replace to join
// meybe it? select 2value from 2table where 2id in(select 2id from 3table where 1id=$peremenaya)
$dist =& $db->query("SELECT distribution.distname
FROM distribution, orig2dist
WHERE '".stripslashes($info["id"])."' = orig2dist.orig_id
AND orig2dist.dist_id = distribution.dist_id");
// ---
while ($dist->fetchInto($info2, DB_FETCHMODE_ASSOC
)) {
$display .= stripslashes($info2["distname"])." | ";
}
$display .=" </td>";
}
$display .= "</table>";
break;
case '1':
//Список дистрибутивов для источника
$orig =& $db->query("SELECT * FROM origin WHERE origin.id=$uid");
$orig->fetchInto($info, DB_FETCHMODE_ASSOC
);
$display = "<a href='".$admin."?mode=0'>Управление</a> - <a href='".$admin."?mode=1'>Источник: ".$info["origin"]."</a><br><br><br>";
$distr =& $db->query("SELECT * FROM distribution,orig2dist,origin WHERE distribution.dist_id=orig2dist.dist_id AND orig2dist.orig_id='16'");
$display .= "<table><tr><td>Дистрибутив</td><td>Секции</td></tr>";
while ($distr->fetchInto($info, DB_FETCHMODE_ASSOC
)) {
$display .= "<tr><td><a href='".$admin."?mode=0&cat=1&uid=".stripslashes($info["id"])."'>".stripslashes($info["distname"])."</td>";
}
$display .= "</table>";
}
break;
case '1':
switch ($cat) {
case '0':
switch($act) {
case '0':
// Список источников
$orig =& $db->query("SELECT * FROM origin");
$display = "<h3>Источник - Список</h3>";
$display .= "<table><tr><td>Источник</td><td>Действие</td><td>Описание</td><td>Корень</td><td>Домашняя страница</td><td>Ссылка на ключ</td></tr>";
while ($orig->fetchInto($info, DB_FETCHMODE_ASSOC
)) {
$display .= "<tr><td>".stripslashes($info["origin"])."</td>";
$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>";
$display .= "<td>".stripslashes($info["desk"])."</td><td>".stripslashes($info["basedir"])."</td><td>".stripslashes($info["homeurl"])."</td><td>".stripslashes($info["keyurl"])."</td></tr>";
}
$display .= "</table>";
$display .= "<p><a href='".$admin."?mode=1&cat=0&action=1'><img src='img/add.png' alt='Добавить'>Добавить новый источник</a></p>";
break;
case '1':
// Добавление нового источника
$display = "<h3>Источник - Добавление</h3>";
$display .= "<form action='./process_ng.php' method='POST' enctype='multipart/form-data'>\n";
$display .= "<input type='hidden' name='cat' value='$cat'>\n";
$display .= "<input type='hidden' name='act' value='$act'>\n";
$display .= "Название : <input type='text' name='origin'><br>\n";
$display .= "Описание :<br> <textarea name='desk'></textarea><br>\n";
$display .= "Корень: <input type='text' name='basedir'><br>\n";
$display .= "Домашняя страница: <input type='text' name='homeurl'><br>\n";
$display .= "Ссылка на ключ: <input type='text' name='keyurl'><br>\n";
$display .= "<input type='submit' value='Создать'></form>\n";
break;
case '2':
// Правка существующего источника
$orig =& $db->query("SELECT * FROM origin WHERE id='$uid'");
$orig->fetchInto($info, DB_FETCHMODE_ASSOC
);
$type .= "</select>\n";
$display = "<h3>Источник - Правка : <em>'".stripslashes($info["origin"])."'</em></h3>";
$display .= "<form action='./process_ng.php' method='POST' enctype='multipart/form-data'>\n";
$display .= "<input type='hidden' name='cat' value='$cat'>\n";
$display .= "<input type='hidden' name='act' value='$act'>\n";
$display .= "<input type='hidden' name='originID' value='$uid'>\n";
$display .= "Название : <input type='text' name='origin' value='".stripslashes($info["origin"])."'><br>\n";
$display .= "Описание :<br> <textarea name='desk' value='".stripslashes($info["desk"])."'></textarea><br>\n";
$display .= "Корень: <input type='text' name='basedir' value='".stripslashes($info["basedir"])."'><br>\n";
$display .= "Домашняя страница: <input type='text' name='homeurl' value='".stripslashes($info["homeurl"])."'><br>\n";
$display .= "Ссылка на ключ: <input type='text' name='keyurl' value='".stripslashes($info["keyurl"])."'><br>\n";
$display .= "<input type='submit' value='Править'></form>\n";
break;
case '3':
// Удаление существующего источника
$orig =& $db->query("SELECT * FROM origin WHERE id='$uid'");
$orig->fetchInto($info, DB_FETCHMODE_ASSOC
);
$display = "<h3>Удаление источника репозиториев <em>'".stripslashes($info["origin"])."'</em></h3>";
$display .= "<form action='./process_ng.php' method='POST' enctype='multipart/form-data'>\n";
$display .= "<input type='hidden' name='cat' value='$cat'>\n";
$display .= "<input type='hidden' name='act' value='$act'>\n";
$display .= "<input type='hidden' name='originID' value='$uid'>\n";
$display .= "<input type='submit' value='Удалить'></form>\n";
break;
}
break;
case '1':
switch($act) {
case '0':
// Список дистрибутивов
$display = "<h3>Дистрибутив - Список</h3>";
$distr =& $db->query("SELECT * FROM distribution");
$display .= "<table><tr><td>Дистрибутив</td><td>Действие</td><td>Описание</td><td>URL</td><td>Ссылка на ключ</td></tr>";
while ($distr->fetchInto($info, DB_FETCHMODE_ASSOC
)) {
$display .= "<tr><td>".stripslashes($info["distname"])."</td>";
$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>";
$display .= "<td>".stripslashes($info["origin"])."</td></tr>";
}
$display .= "</table>";
$display .= "<p><a href='".$admin."?mode=1&cat=1&action=1'><img src='img/add.png' alt='Добавить'>Добавить новый дистрибутив</a></p>";
break;
case '1':
// Добавление нового дистрибутива
$dtype =& $db->query("SELECT * FROM dtype");
$type = "<select name='distType'>";
while ($dtype->fetchInto($dtinfo, DB_FETCHMODE_ASSOC
)) {
$type .= "<option value='".$dtinfo["type_id"]."'>".stripslashes($dtinfo["type"])."</option>";
}
$type .= "</select>\n";
$display = "<h3>Дистрибутив - Добавление</h3>";
$display .= "<form action='./process_ng.php' method='POST' enctype='multipart/form-data'>\n";
$display .= "<input type='hidden' name='cat' value='$cat'>\n";
$display .= "<input type='hidden' name='act' value='$act'>\n";
$display .= "Название дистрибутива: <input type='text' name='distName'><br>\n";
$display .= "Представление в строке User-Agent'а: <input type='text' name='distUA'><br>\n";
$display .= "Тип дистрибутива: ".$type."<br>";
$display .= "Логотип дистрибутива (Прозрачный PNG): <input type='file' name='distLOGO'><br>";
$display .= "<input type='submit' value='Создать'></form>\n";
break;
case '2':
// Правка существующего дистрибутива
$dist =& $db->query("SELECT * FROM distribution WHERE dist_id='$uid'");
$dist->fetchInto($info, DB_FETCHMODE_ASSOC
);
$dtype =& $db->query("SELECT * FROM dtype");
$type = "<select name='distType'>";
while ($dtype->fetchInto($dtinfo, DB_FETCHMODE_ASSOC
)) {
if ($info["disttype"]==$dtinfo["type_id"]) {
$type .= "<option value='".$dtinfo["type_id"]."' selected>".stripslashes($dtinfo["type"])."</option>";
} else {
$type .= "<option value='".$dtinfo["type_id"]."'>".stripslashes($dtinfo["type"])."</option>";
}
}
$type .= "</select>\n";
$display = "<h3>Дистрибутив - Правка: <em class='".stripslashes($info["distua"])."-em'>".stripslashes($info["distname"])."</em></h3>";
$display .= "<form action='./process_ng.php' method='POST' enctype='multipart/form-data'>\n";
$display .= "<input type='hidden' name='cat' value='$cat'>\n";
$display .= "<input type='hidden' name='act' value='$act'>\n";
$display .= "<input type='hidden' name='distID' value='$uid'>\n";
$display .= "Название дистрибутива: <input type='text' name='distName' value='".stripslashes($info["distname"])."'><br>\n";
$display .= "Представление в строке User-Agent'a: <input type='text' name='distUA' value='".stripslashes($info["distua"])."'><br>\n";
$display .= "Тип дистрибутива: ".$type."<br>";
$display .= "Логотип дистрибутива (Прозрачный PNG): <input type='file' name='distLOGO'><br>";
$display .= "<input type='submit' value='Править'></form>\n";
break;
case '3':
// Удаление существующего дистрибутива
$dist =& $db->query("SELECT * FROM distribution WHERE dist_id='$uid'");
$dist->fetchInto($info, DB_FETCHMODE_ASSOC
);
$display = "<h3>Удаление apt-дистрибутива <em class='".stripslashes($info["distua"])."-em'>".stripslashes($info["distname"])."</em></h3>";
$display .= "<form action='./process_ng.php' method='POST'>\n";
$display .= "<input type='hidden' name='cat' value='$cat'>\n";
$display .= "<input type='hidden' name='act' value='$act'>\n";
$display .= "<input type='hidden' name='distID' value='$uid'>\n";
$display .= "<input type='hidden' name='distUA' value='".stripslashes($info["distua"])."'>\n";
$display .= "<input type='submit' value='Удалить'></form>\n";
break;
}
break;
case '2':
break;
case '3':
break;
case '4':
break;
}
break;
}
$smarty->assign('feedaddr',$_SERVER["HTTP_HOST"].dirname($_SERVER["PHP_SELF"]));
$smarty->assign('error',$error);
$smarty->assign('menu',$menu);
$smarty->assign('display',$display);
$smarty->assign('antversion',$core->getSetting('version',$db));
$smarty->assign('title',$core->getSetting('codename',$db));
$smarty->assign('style',$core->getCSSList($db));
$smarty->display('admin.tpl');
?>