summaryrefslogtreecommitdiffstats
path: root/web/html
diff options
context:
space:
mode:
Diffstat (limited to 'web/html')
-rw-r--r--web/html/index.php34
-rw-r--r--web/html/packages.php75
-rw-r--r--web/html/pkgbase.php82
-rw-r--r--web/html/pkgdel.php10
-rw-r--r--web/html/pkgmerge.php10
5 files changed, 108 insertions, 103 deletions
diff --git a/web/html/index.php b/web/html/index.php
index e79955e..fe74857 100644
--- a/web/html/index.php
+++ b/web/html/index.php
@@ -20,6 +20,22 @@ if (!empty($tokens[1]) && '/' . $tokens[1] == get_pkg_route()) {
include "./404.php";
return;
}
+ }
+
+ include get_route('/' . $tokens[1]);
+} elseif (!empty($tokens[1]) && '/' . $tokens[1] == get_pkgbase_route()) {
+ if (!empty($tokens[2])) {
+ /* TODO: Create a proper data structure to pass variables from
+ * the routing framework to the individual pages instead of
+ * initializing arbitrary variables here. */
+ $pkgbase_name = $tokens[2];
+ $base_id = pkgbase_from_name($pkgbase_name);
+
+ if (!$base_id) {
+ header("HTTP/1.0 404 Not Found");
+ include "./404.php";
+ return;
+ }
if (!empty($tokens[3])) {
/* TODO: Remove support for legacy URIs and move these
@@ -65,23 +81,7 @@ if (!empty($tokens[1]) && '/' . $tokens[1] == get_pkg_route()) {
return;
}
- $_POST['IDs'] = array(pkgid_from_name($tokens[2]) => '1');
- }
- }
-
- include get_route('/' . $tokens[1]);
-} elseif (!empty($tokens[1]) && '/' . $tokens[1] == get_pkgbase_route()) {
- if (!empty($tokens[2])) {
- /* TODO: Create a proper data structure to pass variables from
- * the routing framework to the individual pages instead of
- * initializing arbitrary variables here. */
- $pkgbase_name = $tokens[2];
- $base_id = pkgbase_from_name($pkgbase_name);
-
- if (!$base_id) {
- header("HTTP/1.0 404 Not Found");
- include "./404.php";
- return;
+ $_POST['IDs'] = array(pkgbase_from_name($tokens[2]) => '1');
}
}
diff --git a/web/html/packages.php b/web/html/packages.php
index d9c3a86..876e2c0 100644
--- a/web/html/packages.php
+++ b/web/html/packages.php
@@ -42,77 +42,6 @@ if (isset($_COOKIE["AURSID"])) {
$atype = "";
}
-# Grab the list of Package IDs to be operated on
-$ids = array();
-if (isset($_POST['IDs'])) {
- foreach ($_POST['IDs'] as $id => $i) {
- $id = intval($id);
- if ($id > 0) {
- $ids[] = $id;
- }
- }
-}
-
-# Determine what action to do
-$ret = false;
-$output = "";
-if (check_token()) {
- if (current_action("do_Flag")) {
- list($ret, $output) = pkg_flag($atype, $ids);
- } elseif (current_action("do_UnFlag")) {
- list($ret, $output) = pkg_unflag($atype, $ids);
- } elseif (current_action("do_Adopt")) {
- list($ret, $output) = pkg_adopt($atype, $ids, true);
- } elseif (current_action("do_Disown")) {
- list($ret, $output) = pkg_adopt($atype, $ids, false);
- } elseif (current_action("do_Vote")) {
- list($ret, $output) = pkg_vote($atype, $ids, true);
- } elseif (current_action("do_UnVote")) {
- list($ret, $output) = pkg_vote($atype, $ids, false);
- } elseif (current_action("do_Delete")) {
- if (isset($_POST['confirm_Delete'])) {
- if (!isset($_POST['merge_Into']) || empty($_POST['merge_Into'])) {
- list($ret, $output) = pkg_delete($atype, pkgbase_from_pkgid($ids), NULL);
- unset($_GET['ID']);
- }
- else {
- $merge_base_id = pkgbase_from_name($_POST['merge_Into']);
- if ($merge_base_id) {
- list($ret, $output) = pkg_delete($atype, pkgbase_from_pkgid($ids), $merge_base_id);
- unset($_GET['ID']);
- }
- else {
- $output = __("Cannot find package to merge votes and comments into.");
- }
- }
- }
- else {
- $output = __("The selected packages have not been deleted, check the confirmation checkbox.");
- }
- } elseif (current_action("do_Notify")) {
- list($ret, $output) = pkg_notify($atype, $ids);
- } elseif (current_action("do_UnNotify")) {
- list($ret, $output) = pkg_notify($atype, $ids, false);
- } elseif (current_action("do_DeleteComment")) {
- list($ret, $output) = pkg_delete_comment($atype);
- } elseif (current_action("do_ChangeCategory")) {
- list($ret, $output) = pkg_change_category($pkgid, $atype);
- }
-
- if (isset($_REQUEST['comment'])) {
- $uid = uid_from_sid($_COOKIE["AURSID"]);
- add_package_comment($pkgid, $uid, $_REQUEST['comment']);
- $ret = true;
- }
-
- if ($ret) {
- /* Redirect back to package page on success. */
- header('Location: ' . get_pkg_uri($pkgname));
- exit();
- }
-}
-
-# Get package details after package actions have been attempted, FS#34508
$details = array();
if (isset($pkgname)) {
$details = get_package_details($pkgid);
@@ -121,10 +50,6 @@ if (isset($pkgname)) {
html_header($title, $details);
?>
-<?php if ($output): ?>
- <p class="pkgoutput"><?= $output ?></p>
-<?php endif; ?>
-
<?php
if (isset($pkgid)) {
include('pkg_search_form.php');
diff --git a/web/html/pkgbase.php b/web/html/pkgbase.php
index e0c9af6..42705ed 100644
--- a/web/html/pkgbase.php
+++ b/web/html/pkgbase.php
@@ -22,7 +22,7 @@ if (!isset($base_id) || !isset($pkgbase_name)) {
unset($base_id, $pkgbase_name);
}
- if ($base_id == 0 || $base_id == NULL || $pkgbase_name == NULL) {
+ if (isset($base_id) && ($base_id == 0 || $base_id == NULL || $pkgbase_name == NULL)) {
header("HTTP/1.0 404 Not Found");
include "./404.php";
return;
@@ -39,10 +39,90 @@ if (isset($_COOKIE["AURSID"])) {
$atype = "";
}
+/* Grab the list of package base IDs to be operated on. */
+$ids = array();
+if (isset($_POST['IDs'])) {
+ foreach ($_POST['IDs'] as $id => $i) {
+ $id = intval($id);
+ if ($id > 0) {
+ $ids[] = $id;
+ }
+ }
+}
+
+/* Perform package base actions. */
+$ret = false;
+$output = "";
+if (check_token()) {
+ if (current_action("do_Flag")) {
+ list($ret, $output) = pkg_flag($atype, $ids);
+ } elseif (current_action("do_UnFlag")) {
+ list($ret, $output) = pkg_unflag($atype, $ids);
+ } elseif (current_action("do_Adopt")) {
+ list($ret, $output) = pkg_adopt($atype, $ids, true);
+ } elseif (current_action("do_Disown")) {
+ list($ret, $output) = pkg_adopt($atype, $ids, false);
+ } elseif (current_action("do_Vote")) {
+ list($ret, $output) = pkg_vote($atype, $ids, true);
+ } elseif (current_action("do_UnVote")) {
+ list($ret, $output) = pkg_vote($atype, $ids, false);
+ } elseif (current_action("do_Delete")) {
+ if (isset($_POST['confirm_Delete'])) {
+ if (!isset($_POST['merge_Into']) || empty($_POST['merge_Into'])) {
+ list($ret, $output) = pkg_delete($atype, $ids, NULL);
+ unset($_GET['ID']);
+ }
+ else {
+ $merge_base_id = pkgbase_from_name($_POST['merge_Into']);
+ if ($merge_base_id) {
+ list($ret, $output) = pkg_delete($atype, $ids, $merge_base_id);
+ unset($_GET['ID']);
+ }
+ else {
+ $output = __("Cannot find package to merge votes and comments into.");
+ }
+ }
+ }
+ else {
+ $output = __("The selected packages have not been deleted, check the confirmation checkbox.");
+ }
+ } elseif (current_action("do_Notify")) {
+ list($ret, $output) = pkg_notify($atype, $ids);
+ } elseif (current_action("do_UnNotify")) {
+ list($ret, $output) = pkg_notify($atype, $ids, false);
+ } elseif (current_action("do_DeleteComment")) {
+ list($ret, $output) = pkg_delete_comment($atype);
+ } elseif (current_action("do_ChangeCategory")) {
+ list($ret, $output) = pkg_change_category($base_id, $atype);
+ }
+
+ if (isset($_REQUEST['comment'])) {
+ $uid = uid_from_sid($_COOKIE["AURSID"]);
+ add_package_comment($base_id, $uid, $_REQUEST['comment']);
+ $ret = true;
+ }
+
+ if ($ret) {
+ if (isset($base_id)) {
+ /* Redirect back to package base page on success. */
+ header('Location: ' . get_pkgbase_uri($pkgbase_name));
+ exit();
+ } else {
+ /* Redirect back to package search page. */
+ header('Location: ' . get_pkg_route());
+ exit();
+ }
+ }
+}
+
$details = get_pkgbase_details($base_id);
html_header($title, $details);
?>
+<?php if ($output): ?>
+<p class="pkgoutput"><?= $output ?></p>
+<?php endif; ?>
+
<?php
include('pkg_search_form.php');
if (isset($_COOKIE["AURSID"])) {
diff --git a/web/html/pkgdel.php b/web/html/pkgdel.php
index 7f244eb..d1026ce 100644
--- a/web/html/pkgdel.php
+++ b/web/html/pkgdel.php
@@ -18,17 +18,17 @@ if (isset($_COOKIE["AURSID"])) {
if ($atype == "Trusted User" || $atype == "Developer"): ?>
<div class="box">
- <h2><?= __('Delete Package: %s', htmlspecialchars($pkgname)) ?></h2>
+ <h2><?= __('Delete Package: %s', htmlspecialchars($pkgbase_name)) ?></h2>
<p>
<?= __('Use this form to delete the package (%s%s%s) from the AUR. ',
- '<strong>', htmlspecialchars($pkgname), '</strong>'); ?>
+ '<strong>', htmlspecialchars($pkgbase_name), '</strong>'); ?>
<?= __('Deletion of a package is permanent. '); ?>
<?= __('Select the checkbox to confirm action.') ?>
</p>
- <form action="<?= get_uri('/packages/'); ?>" method="post">
+ <form action="<?= get_uri('/pkgbase/'); ?>" method="post">
<fieldset>
- <input type="hidden" name="IDs[<?= $pkgid ?>]" value="1" />
- <input type="hidden" name="ID" value="<?= $pkgid ?>" />
+ <input type="hidden" name="IDs[<?= $base_id ?>]" value="1" />
+ <input type="hidden" name="ID" value="<?= $base_id ?>" />
<input type="hidden" name="token" value="<?= htmlspecialchars($_COOKIE['AURSID']) ?>" />
<p><input type="checkbox" name="confirm_Delete" value="1" />
<?= __("Confirm package deletion") ?></p>
diff --git a/web/html/pkgmerge.php b/web/html/pkgmerge.php
index 834d0c9..9ffd5e7 100644
--- a/web/html/pkgmerge.php
+++ b/web/html/pkgmerge.php
@@ -18,18 +18,18 @@ if (isset($_COOKIE["AURSID"])) {
if ($atype == "Trusted User" || $atype == "Developer"): ?>
<div class="box">
- <h2><?= __('Merge Package: %s', htmlspecialchars($pkgname)) ?></h2>
+ <h2><?= __('Merge Package: %s', htmlspecialchars($pkgbase_name)) ?></h2>
<p>
<?= __('Use this form to merge the package (%s%s%s) into another package. ',
- '<strong>', htmlspecialchars($pkgname), '</strong>'); ?>
+ '<strong>', htmlspecialchars($pkgbase_name), '</strong>'); ?>
<?= __('Once the package has been merged it cannot be reversed. '); ?>
<?= __('Enter the package name you wish to merge the package into. '); ?>
<?= __('Select the checkbox to confirm action.') ?>
</p>
- <form action="<?= get_uri('/packages/'); ?>" method="post">
+ <form action="<?= get_uri('/pkgbase/'); ?>" method="post">
<fieldset>
- <input type="hidden" name="IDs[<?= $pkgid ?>]" value="1" />
- <input type="hidden" name="ID" value="<?= $pkgid ?>" />
+ <input type="hidden" name="IDs[<?= $base_id ?>]" value="1" />
+ <input type="hidden" name="ID" value="<?= $base_id ?>" />
<input type="hidden" name="token" value="<?= htmlspecialchars($_COOKIE['AURSID']) ?>" />
<p><label for="merge_Into" ><?= __("Merge into:") ?></label>
<input type="text" id="merge_Into" name="merge_Into" /></p>