Хранилища Subversion ant

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

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

/trunk/admin.php
250,26 → 250,19
switch ($act) {
case '0':
// Выбор дистрибутива
$dist =& $db->query("SELECT * FROM distribution d JOIN version v ON v.dist_id=d.dist_id ORDER BY d.dist_id,v.version_id ASC");
$display = "<div class='modulename'>Имеются репозитории для:</div>\n";
$display .= "<table><tr><th>Репозиторий</th></tr>\n";
$dist =& $db->query("SELECT * FROM `repository` LEFT JOIN origin ON repository.orig_id=origin.orig_id LEFT JOIN root ON repository.root_id=root.root_id");
$display = "<div class='modulename'>Репозитории:</div>\n";
$display .= "<table><tr><th>Репозиторий</th><th>Действие</th><th>Корень</th><th>Источник</th></tr>\n";
while ($dist->fetchInto($info, DB_FETCHMODE_ASSOC)) {
$display .= "<tr><td><a href='".$admin."?mode=".$mode."&action=1&uid=".$info["version_id"]."'>".stripslashes($info["distname"])." ".stripslashes($info["version"])." &#8220;".stripslashes($info["vname"])."&#8221;</a></td></tr>";
$display .= "<tr><td>".$info["repname"]."</td>";
$display .= "<td><a href='".$admin."?mode=".$mode."&action=2&uid=".$info["rep_id"]."' class='nodec'><img src='img/edt.png' width='16' height='16' title='Редактировать'></a>";
$display .= "<a href='".$admin."?mode=".$mode."&action=3&uid=".$info["rep_id"]."'><img title='Удалить' src='img/del.png' width='16' height='16'></a></td>\n";
$display .= "<td>".$info["root_folder"]."</td>";
$display .= "<td>".$info["origin"]."</td></tr>";
}
$display .= "</table>";
$display .= "</table><p><a href='".$admin."?mode=".$mode."&action=2&uid=".$uid."'><img src='img/add.png' width='16' height='16'>Добавить новый репозиторий</a></p>";
break;
case '1':
// Список доступных репозиториев для конкретной версии дистрибутива
$reps =& $db->query("SELECT * FROM repository r JOIN ver2rep a ON a.rep_id=r.rep_id WHERE a.ver_id='$uid'");
$display = "<div class='modulename'><a href='admin.php?mode=".$mode.">Репозитории</a> :: Доступные репозитории для выбранного дистрибутива</div> <ul id='replist'>";
if ($reps->numRows()>0) {
while ($reps->fetchInto($info, DB_FETCHMODE_ASSOC)) {
$display .= "<li><a href='".$admin."?mode=".$mode."&action=3&uid=".$info["rep_id"]."' class='edit'><img title='Редактировать' src='img/edt.png' width='16' height='16'></a><a href='".$admin."?mode=4&action=4&uid=".$info["rep_id"]."' class='delete'><img title='Удалить' src='img/del.png' width='16' height='16'></a> ".stripslashes($info["repname"])." &mdash; ".stripslashes($info["repdescribe"])."</li>";
}
}
$display .= "</ul><p><a href='".$admin."?mode=".$mode."&action=2&uid=".$uid."'><img src='img/add.png' width='16' height='16'>Добавить новый репозиторий</a></p>";
break;
case '2':
// Новый репозиторий
$rep =& $db->query("SELECT * FROM distribution d JOIN version v ON v.dist_id=d.dist_id WHERE v.version_id='$uid'");
$rep->fetchInto($dist, DB_FETCHMODE_ASSOC);
281,12 → 274,12
$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>";
$origin_q =& $db->query("SELECT * FROM origin");
$origin = "<select name='origin'>";
while ($origin_q->fetchInto($origin_info, DB_FETCHMODE_ASSOC)) {
$origin .= "<option value='".$origin_info["orig_id"]."'>".stripslashes($origin_info["origin"])."</option>";
}
$reptype .= "</select>\n";
$origin .= "</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)) {
307,12 → 300,12
$display .= "Название репозитория (codename): <input type='text' name='repName'><br>\n";
$display .= "Описание репозитория:<br> <textarea name='repInfo'></textarea><br>\n";
$display .= "Схема репозитория: ".$rscheme."<br>";
$display .= "Тип репозитория: ".$reptype."<br>";
$display .= "Источник репозитория: ".$origin."<br>";
$display .= "Корневая папка репозитория: ".$rootfolder."<br>";
$display .= "Секции: ".$list;
$display .= "<br><input type='submit' value='Создать'></form>\n";
break;
case '3':
case '2':
// Редактирование репозитория
$rep =& $db->query("SELECT * FROM repository r JOIN ver2rep l ON l.rep_id=r.rep_id JOIN version v ON v.version_id=l.ver_id JOIN distribution d ON v.dist_id=d.dist_id JOIN root r2 ON r2.root_id=r.root_id WHERE r.rep_id='$uid'");
$rep->fetchInto($info, DB_FETCHMODE_ASSOC);
327,13 → 320,13
}
}
$tlist .= "</select>";
$tlist2 = "<select name='rtype'>";
$sq =& $db->query("SELECT * FROM rtype");
$tlist2 = "<select name='origin'>";
$sq =& $db->query("SELECT * FROM origin");
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>";
if ($type["orig_id"]==$info["orig_id"]) {
$tlist2 .= "<option value='".$type["orig_id"]."' selected>".stripslashes($type["origin"])."</option>";
} else {
$tlist2 .= "<option value='".$type["rtype_id"]."'>".stripslashes($type["rtype"])."</option>";
$tlist2 .= "<option value='".$type["orig_id"]."'>".stripslashes($type["origin"])."</option>";
}
}
$tlist2 .= "</select>";
371,12 → 364,12
$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 .= "Источник репозитория: ".$tlist2."<br>";
$display .= "Корневая папка репозитория: ".$rootfolder."<br>";
$display .= "Секции: ".$list;
$display .= "<br><input type='submit' value='Править'></form>\n";
break;
case '4':
case '3':
// Удаление репозитория
$rep =& $db->query("SELECT * FROM repository r JOIN ver2rep l ON l.rep_id=r.rep_id JOIN version v ON v.version_id=l.ver_id JOIN distribution d ON v.dist_id=d.dist_id WHERE r.rep_id='$uid'");
$rep->fetchInto($info, DB_FETCHMODE_ASSOC);