| <?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); |
| ?> |