[aur-dev] [PATCH v2 3/3] Move package disowning to a separate page
Lukas Fleischer
lfleischer at archlinux.org
Fri May 22 16:50:48 UTC 2015
The disown link in the package actions box leads to a new page
(pkgdisown.php) that can be used to confirm package disowning.
Signed-off-by: Lukas Fleischer <lfleischer at archlinux.org>
---
Actually check whether the confirmation checkbox was selected.
web/html/index.php | 4 ++--
web/html/pkgbase.php | 9 +++++++--
web/html/pkgdisown.php | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 64 insertions(+), 4 deletions(-)
create mode 100644 web/html/pkgdisown.php
diff --git a/web/html/index.php b/web/html/index.php
index fad1d2f..0275d0a 100644
--- a/web/html/index.php
+++ b/web/html/index.php
@@ -45,8 +45,8 @@ if (!empty($tokens[1]) && '/' . $tokens[1] == get_pkg_route()) {
$_POST['do_Adopt'] = __('Adopt');
break;
case "disown":
- $_POST['do_Disown'] = __('Disown');
- break;
+ include('pkgdisown.php');
+ return;
case "vote":
$_POST['do_Vote'] = __('Vote');
break;
diff --git a/web/html/pkgbase.php b/web/html/pkgbase.php
index ef9b2c4..7c24b79 100644
--- a/web/html/pkgbase.php
+++ b/web/html/pkgbase.php
@@ -54,8 +54,13 @@ if (check_token()) {
} elseif (current_action("do_Adopt")) {
list($ret, $output) = pkgbase_adopt($ids, true, NULL);
} elseif (current_action("do_Disown")) {
- $via = isset($_POST['via']) ? $_POST['via'] : NULL;
- list($ret, $output) = pkgbase_adopt($ids, false, $via);
+ if (isset($_POST['confirm_Disown'])) {
+ $via = isset($_POST['via']) ? $_POST['via'] : NULL;
+ list($ret, $output) = pkgbase_adopt($ids, false, $via);
+ } else {
+ $output = __("The selected packages have not been disowned, check the confirmation checkbox.");
+ $ret = false;
+ }
} elseif (current_action("do_Vote")) {
list($ret, $output) = pkgbase_vote($ids, true);
} elseif (current_action("do_UnVote")) {
diff --git a/web/html/pkgdisown.php b/web/html/pkgdisown.php
new file mode 100644
index 0000000..071a76c
--- /dev/null
+++ b/web/html/pkgdisown.php
@@ -0,0 +1,55 @@
+<?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(__("Disown Package"));
+
+$maintainer_uids = array(pkgbase_maintainer_uid($base_id));
+$comaintainer_uids = pkgbase_get_comaintainers($base_id);
+
+if (has_credential(CRED_PKGBASE_DISOWN, $maintainer_uids)): ?>
+<div class="box">
+ <h2><?= __('Disown Package: %s', htmlspecialchars($pkgbase_name)) ?></h2>
+ <p>
+ <?= __('Use this form to disown the package base %s%s%s which includes the following packages: ',
+ '<strong>', htmlspecialchars($pkgbase_name), '</strong>'); ?>
+ </p>
+ <ul>
+ <?php foreach(pkgbase_get_pkgnames($base_id) as $pkgname): ?>
+ <li><?= htmlspecialchars($pkgname) ?></li>
+ <?php endforeach; ?>
+ </ul>
+ <p>
+ <?php if (count($comaintainer_uids) > 0): ?>
+ <?= __('By selecting the checkbox, you confirm that you want to disown the package and transfer ownership to %s%s%s.',
+ '<strong>', $comaintainer_uids[0], '</strong>'); ?>
+ <?php else: ?>
+ <?= __('By selecting the checkbox, you confirm that you want to disown the package.') ?>
+ <?php endif; ?>
+ </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']) ?>" />
+ <?php if (isset($_GET['via'])): ?>
+ <input type="hidden" name="via" value="<?= intval($_GET['via']) ?>" />
+ <?php endif; ?>
+ <p><input type="checkbox" name="confirm_Disown" value="1" />
+ <?= __("Confirm to disown the package") ?></p>
+ <p><input type="submit" class="button" name="do_Disown" value="<?= __("Disown") ?>" /></p>
+ </fieldset>
+ </form>
+</div>
+
+<?php else:
+ print __("Only Trusted Users and Developers can disown packages.");
+endif;
+
+html_footer(AURWEB_VERSION);
--
2.4.1
More information about the aur-dev
mailing list