Show a separate confirmation page when flagging a package out-of-date. Implements FS#44967. Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org> --- web/html/index.php | 4 ++-- web/html/pkgflag.php | 44 ++++++++++++++++++++++++++++++++++++++++ web/template/pkgbase_actions.php | 2 +- 3 files changed, 47 insertions(+), 3 deletions(-) create mode 100644 web/html/pkgflag.php diff --git a/web/html/index.php b/web/html/index.php index 7068d76..ec99bb7 100644 --- a/web/html/index.php +++ b/web/html/index.php @@ -68,8 +68,8 @@ if (!empty($tokens[1]) && '/' . $tokens[1] == get_pkg_route()) { $_POST['do_UnNotify'] = __('UnNotify'); break; case "flag": - $_POST['do_Flag'] = __('Flag'); - break; + include('pkgflag.php'); + return; case "unflag": $_POST['do_UnFlag'] = __('UnFlag'); break; diff --git a/web/html/pkgflag.php b/web/html/pkgflag.php new file mode 100644 index 0000000..9d86909 --- /dev/null +++ b/web/html/pkgflag.php @@ -0,0 +1,44 @@ +<?php + +set_include_path(get_include_path() . PATH_SEPARATOR . '../lib'); + +include_once("aur.inc.php"); +include_once("pkgfuncs.inc.php"); + +set_lang(); +check_sid(); + +html_header(__("Flag Package Out-Of-Date")); + +if (has_credential(CRED_PKGBASE_FLAG)): ?> +<div class="box"> + <h2><?= __('Flag Package Out-Of-Date: %s', htmlspecialchars($pkgbase_name)) ?></h2> + <p> + <?= __('Use this form to flag the package base %s%s%s and the following packages out-of-date: ', + '<strong>', htmlspecialchars($pkgbase_name), '</strong>'); ?> + </p> + <ul> + <?php foreach(pkgbase_get_pkgnames($base_id) as $pkgname): ?> + <li><?= htmlspecialchars($pkgname) ?></li> + <?php endforeach; ?> + </ul> + <p> + <?= __('Please do %snot%s use this form to report bugs. Use the package comments instead.', + '<strong>', '</strong>'); ?> + </p> + <form action="<?= get_uri('/pkgbase/'); ?>" 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><input type="submit" class="button" name="do_Flag" value="<?= __("Flag") ?>" /></p> + </fieldset> + </form> +</div> + +<?php +else: + print __("Only registered users can flag packages out-of-date."); +endif; + +html_footer(AURWEB_VERSION); diff --git a/web/template/pkgbase_actions.php b/web/template/pkgbase_actions.php index dea348e..198f7ab 100644 --- a/web/template/pkgbase_actions.php +++ b/web/template/pkgbase_actions.php @@ -10,7 +10,7 @@ <li><a href="https://wiki.archlinux.org/index.php/Special:Search?search=<?= urlencode($row['Name']) ?>"><?= __('Search wiki') ?></a></li> <li><span class="flagged"><?php if ($row["OutOfDateTS"] !== NULL) { echo __('Flagged out-of-date')." (${out_of_date_time})"; } ?></span></li> <?php if ($row["OutOfDateTS"] === NULL): ?> - <li><?= html_action_form($base_uri . 'flag/', "do_Flag", __('Flag package out-of-date')) ?></li> + <li><?= html_action_link($base_uri . 'flag/', __('Flag package out-of-date')) ?></li> <?php elseif (($row["OutOfDateTS"] !== NULL) && has_credential(CRED_PKGBASE_UNFLAG, $unflaggers)): ?> <li><?= html_action_form($base_uri . 'unflag/', "do_UnFlag", __('Unflag package')) ?></li> <?php endif; ?> -- 2.5.1