Do not redirect when showing errors during flagging

Fixes FS#46545.

Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
This commit is contained in:
Lukas Fleischer 2015-10-21 22:32:37 +02:00
parent 9c70e10aeb
commit ca954fe95a

View file

@ -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>