diff options
author | Lukas Fleischer <lfleischer@archlinux.org> | 2015-10-21 22:32:37 +0200 |
---|---|---|
committer | Lukas Fleischer <lfleischer@archlinux.org> | 2015-10-22 07:17:38 +0200 |
commit | ca954fe95ad9537ad626e16dfec9512f9403e3ca (patch) | |
tree | 64f87794333e3a3687638c2a7c1bbd805feeea10 /web | |
parent | 9c70e10aeb9b07981345e5af86350140753a7707 (diff) | |
download | aurweb-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')
-rw-r--r-- | web/html/pkgflag.php | 40 |
1 files changed, 38 insertions, 2 deletions
diff --git a/web/html/pkgflag.php b/web/html/pkgflag.php index b1ca03b..e6e7c64 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> |