summaryrefslogtreecommitdiffstats
path: root/web/html/pkgflag.php
diff options
context:
space:
mode:
authorLukas Fleischer <lfleischer@archlinux.org>2015-10-21 22:32:37 +0200
committerLukas Fleischer <lfleischer@archlinux.org>2015-10-22 07:17:38 +0200
commitca954fe95ad9537ad626e16dfec9512f9403e3ca (patch)
tree64f87794333e3a3687638c2a7c1bbd805feeea10 /web/html/pkgflag.php
parent9c70e10aeb9b07981345e5af86350140753a7707 (diff)
downloadaur-ca954fe95ad9537ad626e16dfec9512f9403e3ca.tar.gz
aur-ca954fe95ad9537ad626e16dfec9512f9403e3ca.tar.xz
Do not redirect when showing errors during flagging
Fixes FS#46545. Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
Diffstat (limited to 'web/html/pkgflag.php')
-rw-r--r--web/html/pkgflag.php40
1 files changed, 38 insertions, 2 deletions
diff --git a/web/html/pkgflag.php b/web/html/pkgflag.php
index b1ca03b2..e6e7c647 100644
--- a/web/html/pkgflag.php
+++ b/web/html/pkgflag.php
@@ -8,6 +8,37 @@ include_once("pkgfuncs.inc.php");
set_lang();
check_sid();
+/* 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) = pkgbase_flag($ids, $_POST['comments']);
+ }
+
+ if ($ret) {
+ header('Location: ' . get_pkgbase_uri($pkgbase_name) . $fragment);
+ exit();
+ }
+}
+
+/* Get default comment. */
+$comment = '';
+if (isset($_POST['comments'])) {
+ $comment = $_POST['comments'];
+}
+
html_header(__("Flag Package Out-Of-Date"));
if (has_credential(CRED_PKGBASE_FLAG)): ?>
@@ -27,14 +58,19 @@ if (has_credential(CRED_PKGBASE_FLAG)): ?>
'<strong>', '</strong>'); ?>
<?= __('Enter details on why the package is out-of-date below, preferably including links to the release announcement or the new release tarball.'); ?>
</p>
- <form action="<?= get_pkgbase_uri($pkgbase_name); ?>" method="post">
+
+ <?php if ($output && !$ret): ?>
+ <ul class="errorlist"><li><?= htmlspecialchars($output) ?></li></ul>
+ <?php endif; ?>
+
+ <form action="<?= get_pkgbase_uri($pkgbase_name); ?>flag/" method="post">
<fieldset>
<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="id_comments"><?= __("Comments") ?>:</label>
- <textarea name="comments" id="id_comments" rows="5" cols="50"></textarea>
+ <textarea name="comments" id="id_comments" rows="5" cols="50"><?= htmlspecialchars($comment) ?></textarea>
</p>
<p><input type="submit" class="button" name="do_Flag" value="<?= __("Flag") ?>" /></p>
</fieldset>