Move package disowning to a separate page

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@archlinux.org>
This commit is contained in:
Lukas Fleischer 2015-05-22 16:53:27 +02:00
parent 422d8026da
commit 0b8c11a37a
3 changed files with 64 additions and 4 deletions

View file

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

View file

@ -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")) {

55
web/html/pkgdisown.php Normal file
View file

@ -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 && !has_credential(CRED_PKGBASE_DISOWN)): ?>
<?= __('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);