Хранилища Subversion ant

Сравнить редакции

Не учитывать пробелы Редакция 10 → Редакция 11

/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 = "&#8220;".stripslashes($version["vname"])."&#8221;";
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 = "&#8220;".stripslashes($infodist["vname"])."&#8221;";
}
$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"])." &#8220;".stripslashes($dist["vname"])."&#8221;";
$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>