summaryrefslogtreecommitdiffstats
path: root/web/html/packages.php
diff options
context:
space:
mode:
authorLukas Fleischer <archlinux@cryptocrack.de>2011-07-31 19:05:01 +0200
committerLukas Fleischer <archlinux@cryptocrack.de>2011-08-11 16:17:07 +0200
commit87bdee60bcca219ad13ea9bd14cd5611f9dac4c6 (patch)
treeaffd61d4f68723c9fbf076f83e609dbe1c674a8b /web/html/packages.php
parentf481645e64145d2a0eca54af156bd7c175abfcb0 (diff)
downloadaurweb-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/packages.php')
-rw-r--r--web/html/packages.php16
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.");