/trunk/process.php |
---|
69,8 → 69,9 |
$repname = mysql_real_escape_string($_POST["repName"]); |
$repinfo = mysql_real_escape_string($_POST["repInfo"]); |
$repsche = abs(intval($_POST["scheme"])); |
$reptype = abs(intval($_POST["rtype"])); |
$res =& $db->query("INSERT INTO repository SET repname='$repname', repdescribe='$repinfo', scheme_id='$repsche'"); |
$res =& $db->query("INSERT INTO repository SET repname='$repname', repdescribe='$repinfo', scheme_id='$repsche', rtype_id='$reptype'"); |
$res =& $db->query("SELECT rep_id FROM repository ORDER BY rep_id DESC LIMIT 1"); |
$res->fetchInto($rep, DB_FETCHMODE_ASSOC); |
$rep_id = $rep["rep_id"]; |
87,8 → 88,9 |
$repname = mysql_real_escape_string($_POST["repName"]); |
$repinfo = mysql_real_escape_string($_POST["repInfo"]); |
$repsche = abs(intval($_POST["scheme"])); |
$reptype = abs(intval($_POST["rtype"])); |
$res =& $db->query("UPDATE repository SET repname='$repname', repdescribe='$repinfo', scheme_id='$repsche' WHERE rep_id='$repID'"); |
$res =& $db->query("UPDATE repository SET repname='$repname', repdescribe='$repinfo', scheme_id='$repsche', rtype_id='$reptype' WHERE rep_id='$repID'"); |
$res =& $db->query("DELETE FROM sect2rep WHERE rep_id='$repID'"); |
for ($i=0;$i<count($_POST["sect"]);$i++) { |
$res =& $db->query("INSERT INTO sect2rep SET sect_id='".$_POST["sect"][$i]."', rep_id='$repID'"); |
186,6 → 188,28 |
$req =& $db->query("DELETE FROM settings WHERE opt_id='$optID'"); |
break; |
case '19': |
// Добавление нового типа репозитория |
$rtype = mysql_real_escape_string($_POST["rtype"]); |
$req =& $db->query("INSERT INTO rtype SET rtype='$rtype'"); |
break; |
case '20': |
// Правка существующего типа репозитория |
$rtypeID = abs(intval($_POST["rtypeID"])); |
$rtype = mysql_real_escape_string($_POST["rtype"]); |
$req =& $db->query("UPDATE rtype SET rtype='$rtype' WHERE rtype_id='$rtypeID'"); |
break; |
case '18': |
// Удаление типа репозитория |
$rtypeID = abs(intval($_POST["rtypeID"])); |
$req =& $db->query("DELETE FROM rtype WHERE rtype_id='$rtypeID'"); |
break; |
} |
header("Location: $go\n\n"); |
/trunk/css/ant.css |
---|
Новый файл |
0,0 → 1,38 |
#ant { |
font: 12pt/20pt Georgia; |
} |
#ant input { |
margin: 0 5px 0 15px; |
font: 12pt Georgia; |
} |
#ant p { |
margin: 0; |
} |
#footer { |
margin: 5px 0; |
padding: 5px 0; |
border-top: 1px solid #a9a9a9; |
font: 10pt Georgia; |
color: #a9a9a9; |
} |
#footer a { |
color: #a9a9a9; |
text-decoration: none; |
} |
pre { |
font: 12pt Arial; |
border: 1px solid #000; |
margin: 10px 0; |
padding: 10px; |
background-color: #dcdcdc; |
} |
#sourceslist { |
font-family: Arial; |
padding: 1px 3px; |
} |
/trunk/index.php |
---|
5,9 → 5,13 |
$dist = abs(intval($_GET["d"])); |
$vers = abs(intval($_GET["v"])); |
$query =& $db->query("SELECT * FROM settings WHERE opt LIKE 'version'"); |
$query->fetchInto($antv, DB_FETCHMODE_ASSOC); |
$antversion = $antv["optvalue"]; |
$query =& $db->query("SELECT * FROM distribution"); |
while ($query->fetchInto($data, DB_FETCHMODE_ASSOC)) { |
$linux .= "<input type='radio' name='d' value='".$data["dist_id"]."'>".stripslashes($data["distname"])."<br>\n"; |
$linux .= "<p><input type='radio' name='d' value='".$data["dist_id"]."'>".stripslashes($data["distname"])."</p>\n"; |
} |
if (!isset($status)) { $status = 0; }; |
14,7 → 18,7 |
if (isset($dist)) { |
$query =& $db->query("SELECT * FROM version v JOIN distribution d ON d.dist_id=v.dist_id WHERE v.dist_id='$dist'"); |
$distvers = "<input type='hidden' name='d' value='".$dist."'>\n"; |
$distvers = "<p><input type='hidden' name='d' value='".$dist."'></p>\n"; |
while ($query->fetchInto($version, DB_FETCHMODE_ASSOC)) { |
if ($version["vname"]!="") { |
$distname = "“".stripslashes($version["vname"])."”"; |
21,7 → 25,7 |
} else { |
$distname = ""; |
} |
$distvers .= "<input type='radio' name='v' value='".$version["version_id"]."'>".stripslashes($version["distname"])." ".stripslashes($version["version"])." ".$distname."<br>\n"; |
$distvers .= "<p><input type='radio' name='v' value='".$version["version_id"]."'>".stripslashes($version["distname"])." ".stripslashes($version["version"])." ".$distname."</p>\n"; |
} |
} |
37,9 → 41,9 |
if ($infodist["vname"]!="") { |
$distname = "“".stripslashes($infodist["vname"])."”"; |
} |
$info = "Доступные репозитории для <em>".stripslashes($infodist["distname"])." ".stripslashes($infodist["version"])." ".$distname."</em>"; |
$query =& $db->query("SELECT * FROM repository r JOIN ver2rep v ON r.rep_id=v.rep_id JOIN version v2 ON v.ver_id=v2.version_id JOIN scheme s ON s.scheme_id=r.scheme_id WHERE v.ver_id='$vers' ORDER BY r.scheme_id ASC"); |
$result = "<pre>"; |
$info = "<h2>Доступные репозитории для <em>".stripslashes($infodist["distname"])." ".stripslashes($infodist["version"])." ".$distname."</em></h2>"; |
$query =& $db->query("SELECT * FROM repository r JOIN ver2rep v ON r.rep_id=v.rep_id JOIN version v2 ON v.ver_id=v2.version_id JOIN scheme s ON s.scheme_id=r.scheme_id WHERE v.ver_id='$vers' ORDER BY r.rtype_id, r.scheme_id ASC"); |
$result = "<p>Скопируйте эти строки в файл <span id='sourceslist'>/etc/apt/sources.list</span>:</p><pre>"; |
while ($query->fetchInto($resinfo, DB_FETCHMODE_ASSOC)) { |
$repscheme = stripslashes($resinfo["scheme"]); |
67,6 → 71,7 |
$smarty->assign('linux',$linux); |
$smarty->assign('version',$distvers); |
$smarty->assign('result',$result); |
$smarty->assign('antversion',$antversion); |
$smarty->display('index.tpl'); |
/trunk/admin.php |
---|
6,9 → 6,14 |
$act = abs(intval($_GET["action"])); |
$uid = abs(intval($_GET["uid"])); |
$query =& $db->query("SELECT * FROM settings WHERE opt LIKE 'version'"); |
$query->fetchInto($antv, DB_FETCHMODE_ASSOC); |
$antversion = $antv["optvalue"]; |
switch ($mode) { |
case '0': |
$display = "<ul><li><a href='./admin.php?mode=1'>Управление дистрибутивами</a></li><li><a href='./admin.php?mode=2'>Управление версиями дистрибутивов</a></li><li><a href='./admin.php?mode=3'>Управление репозиториями</a></li><li><a href='./admin.php?mode=4'>Управление секциями репозиториев</a></li><li><a href='./admin.php?mode=5'>Управление схемами репозиториев</a></li><li><a href='./admin.php?mode=6'>Управление настройками Ant</a></li></ul>"; |
$display = "<ul><li><a href='./admin.php?mode=1'>Управление дистрибутивами</a></li><li><a href='./admin.php?mode=2'>Управление версиями дистрибутивов</a></li><li><a href='./admin.php?mode=3'>Управление репозиториями</a></li><li><a href='./admin.php?mode=4'>Управление секциями репозиториев</a></li><li><a href='./admin.php?mode=5'>Управление схемами репозиториев</a></li><li><a href='./admin.php?mode=7'>Управление типами репозиториев</a></li><li><a href='./admin.php?mode=6'>Управление настройками Ant</a></li></ul>"; |
break; |
case '1': |
// Работа с дистрибутивами |
157,10 → 162,17 |
$dist_id = $dist["dist_id"]; |
$dist_vname = stripslashes($dist["distname"])." ".stripslashes($dist["version"])." “".stripslashes($dist["vname"])."”"; |
$dtype =& $db->query("SELECT * FROM scheme"); |
$type = "<select name='scheme'>"; |
$rscheme = "<select name='scheme'>"; |
while ($dtype->fetchInto($dtinfo, DB_FETCHMODE_ASSOC)) { |
$type .= "<option value='".$dtinfo["scheme_id"]."'>".stripslashes($dtinfo["scheme"])."</option>"; |
$rscheme .= "<option value='".$dtinfo["scheme_id"]."'>".stripslashes($dtinfo["scheme"])."</option>"; |
} |
$rscheme .= "</select>"; |
$rtype =& $db->query("SELECT * FROM rtype"); |
$reptype = "<select name='rtype'>"; |
while ($rtype->fetchInto($rtinfo, DB_FETCHMODE_ASSOC)) { |
$reptype .= "<option value='".$rtinfo["rtype_id"]."'>".stripslashes($rtinfo["rtype"])."</option>"; |
} |
$reptype .= "</select>\n"; |
$sect =& $db->query("SELECT * FROM section s JOIN sect2dist d ON d.sect_id=s.sect_id WHERE d.dist_id='$dist_id'"); |
$list = ""; |
while ($sect->fetchInto($slist, DB_FETCHMODE_ASSOC)) { |
173,7 → 185,8 |
$display .= "<input type='hidden' name='vers' value='$uid'>\n"; |
$display .= "Название репозитория (codename): <input type='text' name='repName'><br>\n"; |
$display .= "Описание репозитория:<br> <textarea name='repInfo'></textarea><br>\n"; |
$display .= "Схема репозитория: ".$type."<br>"; |
$display .= "Схема репозитория: ".$rscheme."<br>"; |
$display .= "Тип репозитория: ".$reptype."<br>"; |
$display .= "Секции: ".$list; |
$display .= "<br><input type='submit' value='Создать'></form>\n"; |
break; |
190,7 → 203,17 |
$tlist .= "<option value='".$type["scheme_id"]."'>".stripslashes($type["scheme"])."</option>"; |
} |
} |
$tlist .= "</select>"; |
$tlist .= "</select>"; |
$tlist2 = "<select name='rtype'>"; |
$sq =& $db->query("SELECT * FROM rtype"); |
while ($sq->fetchInto($type, DB_FETCHMODE_ASSOC)) { |
if ($type["rtype_id"]==$info["rtype_id"]) { |
$tlist2 .= "<option value='".$type["rtype_id"]."' selected>".stripslashes($type["rtype"])."</option>"; |
} else { |
$tlist2 .= "<option value='".$type["rtype_id"]."'>".stripslashes($type["rtype"])."</option>"; |
} |
} |
$tlist2 .= "</select>"; |
$list = ""; |
$req =& $db->query("SELECT * FROM section s JOIN sect2rep r ON s.sect_id=r.sect_id WHERE r.rep_id='$uid'"); |
if ($req->numRows()>0) { |
211,6 → 234,7 |
$display .= "Название репозитория (codename): <input type='text' name='repName' value='".stripslashes($info["repname"])."'><br>\n"; |
$display .= "Описание репозитория:<br> <textarea name='repInfo'>".stripslashes($info["repdescribe"])."</textarea><br>\n"; |
$display .= "Схема репозитория: ".$tlist."<br>"; |
$display .= "Тип репозитория: ".$tlist2."<br>"; |
$display .= "Секции: ".$list; |
$display .= "<br><input type='submit' value='Править'></form>\n"; |
break; |
402,9 → 426,64 |
break; |
} |
break; |
case '7': |
// Управление типами репозиториев |
switch ($act) { |
case '0': |
// Список типов репозиториев |
$req =& $db->query("SELECT * FROM rtype"); |
$display = "<p>Имеющиеся типы репозиториев</p><ul class='sectlist'>"; |
if ($req->numRows()>0) { |
while ($req->fetchInto($setting, DB_FETCHMODE_ASSOC)) { |
$display .= "<li>".stripslashes($setting["rtype"])." [<a href='./admin.php?mode=7&action=2&uid=".$setting["rtype_id"]."' class='edit'>править</a>][<a href='./admin.php?mode=7&action=3&uid=".$setting["rtype_id"]."' class='delete'>удалить</a>]</li>"; |
} |
} |
$display .= "</ul><p><a href='./admin.php?mode=7&action=1'>Добавить новый тип репозитория</a></p>"; |
break; |
case '1': |
// Добавление нового типа репозитория |
$display = "<h3>Создание нового типа репозитория</h3>"; |
$display .= "<form action='./process.php' method='POST'>\n"; |
$display .= "<input type='hidden' name='mode' value='19'>\n"; |
$display .= "Тип: <input type='text' name='rtype'><br>\n"; |
$display .= "<input type='submit' value='Добавить'></form>\n"; |
break; |
case '2': |
// Правка существующего типа репозитория |
$req =& $db->query("SELECT * FROM rtypes WHERE rtype_id='$uid'"); |
if ($req->numRows()>0) { |
$req->fetchInto($setting, DB_FETCHMODE_ASSOC); |
$display = "<h3>Правка типа репозитория</h3>"; |
$display .= "<form action='./process.php' method='POST'>\n"; |
$display .= "<input type='hidden' name='mode' value='20'>\n"; |
$display .= "<input type='hidden' name='rtypeID' value='".stripslashes($setting["rtype_id"])."'><br>\n"; |
$display .= "Тип: <input type='text' name='rtype' value='".stripslashes($setting["rtype"])."'><br>\n"; |
$display .= "<input type='submit' value='Править'></form>\n"; |
} else { |
$display = "Такого типа репозитория не существует"; |
} |
break; |
case '3': |
// Удаление существующего типа репозитория |
$req =& $db->query("SELECT * FROM rtypes WHERE rtype_id='$uid'"); |
if ($req->numRows()>0) { |
$req->fetchInto($setting, DB_FETCHMODE_ASSOC); |
$display = "<h3>Удаление существующего типа репозитория</h3>"; |
$display .= "Удаляемый тип <em>".stripslashes($setting["rtype"])."</em><br>"; |
$display .= "<form action='./process.php' method='POST'>\n"; |
$display .= "<input type='hidden' name='mode' value='21'>\n"; |
$display .= "<input type='hidden' name='rtypeID' value='".$setting["rtype_id"]."'><br>\n"; |
$display .= "<input type='submit' value='Удалить'></form>\n"; |
} else { |
$display = "Такого типа репозитория не существует"; |
} |
break; |
} |
break; |
} |
$smarty->assign('display',$display); |
$smarty->assign('antversion',$antversion); |
$smarty->display('admin.tpl'); |
?> |
/trunk/templates/index.tpl |
---|
1,24 → 1,30 |
{config_load file=ant.conf section="setup"} |
{include file="header.tpl" title='Ant'} |
<div id='ant'> |
{if $status == 0} |
<form action='./index.php' method='GET'> |
<input type='hidden' name='step' value='1'> |
{$linux} |
<input type='submit'> |
<h2>Выбор дистрибутива</h2> |
<form action='./index.php' method='get'> |
<p><input type='hidden' name='step' value='1' /></p> |
{$linux} |
<p><input type='submit' value=' Выбрать дистрибутив ' /></p> |
</form> |
{/if} |
{if $status == 1} |
<form action='./index.php' method='GET'> |
<input type='hidden' name='step' value='2'> |
<h2>Выбор версии дистрибутива</h2> |
<form action='./index.php' method='get'> |
<p><input type='hidden' name='step' value='2' /></p> |
{$version} |
<input type='submit'> |
<p><input type='submit' value=' Получить sources.list ' /></p> |
</form> |
{/if} |
{if $status == 2} |
{$result} |
{/if} |
</div> |
<div id='footer'><a href="http://track.altlug.ru/projects/show/ant">Ant {$antversion}</a></div> |
{include file="footer.tpl"} |
/trunk/templates/admin.tpl |
---|
3,4 → 3,5 |
{$display} |
<div id="footer">Ant {$antversion}</div> |
{include file="footer.tpl"} |
/trunk/templates/header.tpl |
---|
1,5 → 1,10 |
<html> |
<!DOCTYPE html |
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" |
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru"> |
<head> |
<meta http-equiv="content-type" content="text/html; charset=utf-8" /> |
<title>{$title}</title> |
<link rel="stylesheet" type="text/css" href="./css/ant.css" /> |
</head> |
<body> |