blob: 11630c8618b3bbaab486c0ee794a2ab994633ff7 [file] [log] [blame]
<?php
require_once ($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");
require_once ($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php");
require_once ($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php");
$App = new App();
$Nav = new Nav();
$Menu = new Menu();
include ($App->getProjectCommon());
internalUseOnly();
require ($_SERVER["DOCUMENT_ROOT"] . "/modeling/includes/db.php");
$previewOnly = (isset ($_GET["previewOnly"]) && $_GET["previewOnly"] ? 1 : 0);
$debug = (isset ($_GET["debug"]) && $_GET["debug"] && is_numeric($_GET["debug"]) ? $_GET["debug"] : 0);
ob_start();
if (!isset($opts))
{
$opts = array ();
}
foreach ($cvsprojs as $z)
{
$opts[] = "$z/";
}
$components = components($cvscoms);
foreach ($components as $z)
{
$opts[] = "$z[0]/$z[1]";
}
print "<div id=\"midcolumn\">\n";
print "<h1>Release Notes - Delete a Release</h1>\n";
$cvsproj = (isset ($_GET["cvsproject"]) ? $_GET["cvsproject"] : "");
$rel = (isset ($_GET["release"]) ? $_GET["release"] : "");
$rels = array ();
$query = "SELECT `project`, `component`, `vanityname` FROM `releases` WHERE `buildtime` >= NOW() - INTERVAL 1 MONTH " .
"AND (`project`, `component`) IN (" . join(",", preg_replace("@^(.+)/(.*)$@", "('$1', '$2')", $opts)) . ") " .
"ORDER BY `project`, `component`, `buildtime` DESC";
if (is_numeric($debug) && $debug>0)
{
print "Query 1: $query<br/>";
}
$result = wmysql_query($query);
if ($result)
{
while ($row = mysql_fetch_row($result))
{
$rels["$row[0]/$row[1]"][] = "$row[2]";
}
}
$result = "";
if ($cvsproj && $rel && isset ($rels[$cvsproj]) && is_numeric($item = array_search($rel, $rels[$cvsproj])))
{
$regs = null;
if (preg_match("@^(.+)/(.*)$@", $cvsproj, $regs))
{
$query = "DELETE FROM `releases` WHERE `project` = '$regs[1]' AND `component` = '$regs[2]' AND `vanityname` = '$rel' AND " .
"`buildtime` >= NOW() - INTERVAL 1 MONTH";
if (is_numeric($debug) && $debug>0)
{
print "Query 2: $query<br/>";
}
$rel = $regs[1] . ($regs[2] ? "/" . $regs[2] : "") . "/" . $rel;
if ($previewOnly)
{
$result = "<ul><li>" . $query . "</li></ul>";
}
else
{
wmysql_query($query);
unset ($rels[$cvsproj][$item]);
if (mysql_affected_rows($connect))
{
$result = "<ul><li>Release $rel deleted.</li></ul>";
}
}
}
}
if (!$result)
{
print "<script type=\"text/javascript\">\n";
print "projs = new Array();\n";
foreach (array_keys($rels) as $z)
{
print "\tprojs[\"$z\"] = new Array();\n";
foreach ($rels[$z] as $y)
{
print "\t\tprojs[\"$z\"].push(\"$y\");\n";
}
}
print "</script>\n";
print "<div class=\"homeitem3col\">\n";
print "<h3>Delete a Release</h3>\n";
print "<form method=\"get\" action=\"\">\n";
print "<p>\n";
print "<label for=\"cvsproject\">$nomenclature: </label>\n";
print "<select name=\"cvsproject\" id=\"cvsproject\" onchange=\"javascript:fillselect()\">\n";
print "<option>-- Select a project --</option>\n";
print join("", preg_replace("/^(.+)$/", "<option value=\"$1\">$1</option>\n", array_keys($rels)));
print "</select>\n";
print "</p>\n";
print "<p>\n";
print "<label for=\"release\">Release: </label>\n";
print "<select name=\"release\" id=\"release\">\n";
print "</select>\n";
print "</p>\n";
print "<p>\n";
print '<input type="hidden" name="previewOnly" value="' . $previewOnly . '"/>' . "\n";
print "<input type=\"submit\" value=\"" . ($previewOnly ? "Preview" : "Go!") . "\"/>\n";
print "</p>\n";
print "</form>\n";
}
else
{
print "<div class=\"homeitem3col\">\n";
print "<h3>Delete a Release</h3>\n";
print $result;
}
print "<ul><b>Remember, you must manually remove any releases from your RSS feed(s) or they will reappear with the next database refresh.</b></ul>";
print "</div>\n";
print "</div>\n";
$html = ob_get_contents();
ob_end_clean();
$pageTitle = (isset ($pageTitle) ? $pageTitle : "Eclipse Modeling - Release Notes - Delete a Release");
$pageKeywords = "";
$pageAuthor = "Neil Skrypuch";
$App->AddExtraHtmlHeader('<script type="text/javascript" src="/modeling/includes/removeRelease-common.js"></script>' . "\n"); //ie doesn't understand self closing script tags
$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
?>