diff options
author | Lukas Fleischer <archlinux@cryptocrack.de> | 2011-07-31 19:05:01 +0200 |
---|---|---|
committer | Lukas Fleischer <archlinux@cryptocrack.de> | 2011-08-11 16:17:07 +0200 |
commit | 87bdee60bcca219ad13ea9bd14cd5611f9dac4c6 (patch) | |
tree | affd61d4f68723c9fbf076f83e609dbe1c674a8b /web/html | |
parent | f481645e64145d2a0eca54af156bd7c175abfcb0 (diff) | |
download | aurweb-87bdee60bcca219ad13ea9bd14cd5611f9dac4c6.tar.xz |
Allow for merging deleted packages into existing ones
Merge all comments and votes of deleted packages into another package if
the "Merge with" field is used. Duplicate votes (votes from a user who
already voted on the target package or voted on more than one of the
deleted packages) are discarded.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
Diffstat (limited to 'web/html')
-rw-r--r-- | web/html/packages.php | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/web/html/packages.php b/web/html/packages.php index 4a1fa88..4e68151 100644 --- a/web/html/packages.php +++ b/web/html/packages.php @@ -50,8 +50,20 @@ if (current_action("do_Flag")) { $output = pkg_vote($atype, $ids, False); } elseif (current_action("do_Delete")) { if (isset($_POST['confirm_Delete'])) { - $output = pkg_delete($atype, $ids); - unset($_GET['ID']); + if (!isset($_POST['merge_Into']) || empty($_POST['merge_Into'])) { + $output = pkg_delete($atype, $ids, NULL); + unset($_GET['ID']); + } + else { + $mergepkgid = pkgid_from_name($_POST['merge_Into']); + if ($mergepkgid) { + $output = pkg_delete($atype, $ids, $mergepkgid); + 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."); |