mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
Move package actions to package bases
Package actions now operate on package bases instead of packages. Move all actions to the correct locations. This also fixes some issues with comment notifications. Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
This commit is contained in:
parent
c1c77836a8
commit
f461344211
11 changed files with 175 additions and 171 deletions
|
@ -42,77 +42,6 @@ if (isset($_COOKIE["AURSID"])) {
|
|||
$atype = "";
|
||||
}
|
||||
|
||||
# Grab the list of Package 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Determine what action to do
|
||||
$ret = false;
|
||||
$output = "";
|
||||
if (check_token()) {
|
||||
if (current_action("do_Flag")) {
|
||||
list($ret, $output) = pkg_flag($atype, $ids);
|
||||
} elseif (current_action("do_UnFlag")) {
|
||||
list($ret, $output) = pkg_unflag($atype, $ids);
|
||||
} elseif (current_action("do_Adopt")) {
|
||||
list($ret, $output) = pkg_adopt($atype, $ids, true);
|
||||
} elseif (current_action("do_Disown")) {
|
||||
list($ret, $output) = pkg_adopt($atype, $ids, false);
|
||||
} elseif (current_action("do_Vote")) {
|
||||
list($ret, $output) = pkg_vote($atype, $ids, true);
|
||||
} elseif (current_action("do_UnVote")) {
|
||||
list($ret, $output) = pkg_vote($atype, $ids, false);
|
||||
} elseif (current_action("do_Delete")) {
|
||||
if (isset($_POST['confirm_Delete'])) {
|
||||
if (!isset($_POST['merge_Into']) || empty($_POST['merge_Into'])) {
|
||||
list($ret, $output) = pkg_delete($atype, pkgbase_from_pkgid($ids), NULL);
|
||||
unset($_GET['ID']);
|
||||
}
|
||||
else {
|
||||
$merge_base_id = pkgbase_from_name($_POST['merge_Into']);
|
||||
if ($merge_base_id) {
|
||||
list($ret, $output) = pkg_delete($atype, pkgbase_from_pkgid($ids), $merge_base_id);
|
||||
unset($_GET['ID']);
|
||||
}
|
||||
else {
|
||||
$output = __("Cannot find package to merge votes and comments into.");
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
$output = __("The selected packages have not been deleted, check the confirmation checkbox.");
|
||||
}
|
||||
} elseif (current_action("do_Notify")) {
|
||||
list($ret, $output) = pkg_notify($atype, $ids);
|
||||
} elseif (current_action("do_UnNotify")) {
|
||||
list($ret, $output) = pkg_notify($atype, $ids, false);
|
||||
} elseif (current_action("do_DeleteComment")) {
|
||||
list($ret, $output) = pkg_delete_comment($atype);
|
||||
} elseif (current_action("do_ChangeCategory")) {
|
||||
list($ret, $output) = pkg_change_category($pkgid, $atype);
|
||||
}
|
||||
|
||||
if (isset($_REQUEST['comment'])) {
|
||||
$uid = uid_from_sid($_COOKIE["AURSID"]);
|
||||
add_package_comment($pkgid, $uid, $_REQUEST['comment']);
|
||||
$ret = true;
|
||||
}
|
||||
|
||||
if ($ret) {
|
||||
/* Redirect back to package page on success. */
|
||||
header('Location: ' . get_pkg_uri($pkgname));
|
||||
exit();
|
||||
}
|
||||
}
|
||||
|
||||
# Get package details after package actions have been attempted, FS#34508
|
||||
$details = array();
|
||||
if (isset($pkgname)) {
|
||||
$details = get_package_details($pkgid);
|
||||
|
@ -121,10 +50,6 @@ if (isset($pkgname)) {
|
|||
html_header($title, $details);
|
||||
?>
|
||||
|
||||
<?php if ($output): ?>
|
||||
<p class="pkgoutput"><?= $output ?></p>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php
|
||||
if (isset($pkgid)) {
|
||||
include('pkg_search_form.php');
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue