diff --git a/admin/include/functions.php b/admin/include/functions.php index 98946772e..fdee0bd89 100644 --- a/admin/include/functions.php +++ b/admin/include/functions.php @@ -2454,7 +2454,14 @@ SELECT name return $groupname; } -function delete_groups($group_ids) { +function delete_groups($group_ids) +{ + + if (count($group_ids) == 0) + { + trigger_error('There is no group to delete', E_USER_WARNING); + return false; + } $group_id_string = implode(',', $group_ids); @@ -2462,7 +2469,7 @@ function delete_groups($group_ids) { $query = ' DELETE FROM '. GROUP_ACCESS_TABLE .' - WHERE group_id IN('. $group_id_string .') + WHERE group_id IN ('. $group_id_string .') ;'; pwg_query($query); @@ -2470,14 +2477,14 @@ DELETE $query = ' DELETE FROM '. USER_GROUP_TABLE .' - WHERE group_id IN('. $group_id_string .') + WHERE group_id IN ('. $group_id_string .') ;'; pwg_query($query); $query = ' SELECT id, name FROM `'. GROUPS_TABLE .'` - WHERE id IN('. $group_id_string .') + WHERE id IN ('. $group_id_string .') ;'; $group_list = query2array($query, 'id', 'name'); @@ -2487,7 +2494,7 @@ SELECT id, name $query = ' DELETE FROM `'. GROUPS_TABLE .'` - WHERE id IN('. $group_id_string .') + WHERE id IN ('. $group_id_string .') ;'; pwg_query($query); diff --git a/admin/themes/clear/theme.css b/admin/themes/clear/theme.css index 32451510d..d95dcc3eb 100644 --- a/admin/themes/clear/theme.css +++ b/admin/themes/clear/theme.css @@ -494,7 +494,7 @@ input:focus + .slider { border-left:1px solid #e6e6e6; } -.OrangeBackground{ +.GroupBackgroudSelected{ background-color:#ffd7ad!important; } diff --git a/admin/themes/default/js/group_list.js b/admin/themes/default/js/group_list.js index f7f61d746..c1ed58a40 100644 --- a/admin/themes/default/js/group_list.js +++ b/admin/themes/default/js/group_list.js @@ -236,7 +236,7 @@ var toogleSelection = function(group_id, toggle) { groupBox = $("#group-"+group_id); if (toggle) { groupBox.find(".Group-checkbox input").attr("checked", true); - groupBox.addClass("OrangeBackground"); + groupBox.addClass("GroupBackgroudSelected"); groupBox.find(".icon-users-1").addClass("OrangeIcon"); groupBox.find(".group_number_users").addClass("OrangeFont"); @@ -260,7 +260,7 @@ var toogleSelection = function(group_id, toggle) { option.appendTo("#MergeOptionsChoices"); } else { groupBox.find(".Group-checkbox input").attr("checked", false); - groupBox.removeClass("OrangeBackground"); + groupBox.removeClass("GroupBackgroudSelected"); groupBox.find(".icon-users-1").removeClass("OrangeIcon"); groupBox.find(".group_number_users").removeClass("OrangeFont"); $(".DeleteGroupList div").each(function () { @@ -537,6 +537,8 @@ $('.ConfirmMergeButton').on("click", function() { })) }) toogleSelection(dest_grp, false) + $(".DeleteGroupList").html(""); + $("#MergeOptionsChoices").html(""); $("#group-"+dest_grp + " .group_number_users").html(" "); jQuery.ajax({ @@ -593,6 +595,7 @@ $('.ConfirmDeleteButton').on("click", function() { backgroundDismiss: true, }); }) +}); /*------- Manage User Part diff --git a/admin/themes/roma/theme.css b/admin/themes/roma/theme.css index 3403babf5..efb8a2111 100644 --- a/admin/themes/roma/theme.css +++ b/admin/themes/roma/theme.css @@ -508,7 +508,7 @@ input:focus + .slider { border-left:1px solid #1a1a1a; } -.OrangeBackground{ +.GroupBackgroudSelected{ background-color:#f9852c!important; } diff --git a/include/ws_functions/pwg.groups.php b/include/ws_functions/pwg.groups.php index 765645862..5d6c7fabb 100644 --- a/include/ws_functions/pwg.groups.php +++ b/include/ws_functions/pwg.groups.php @@ -214,8 +214,7 @@ SELECT COUNT(*) mass_inserts( USER_GROUP_TABLE, array('group_id', 'user_id'), - $inserts, - array('ignore'=>true) + $inserts ); include_once(PHPWG_ROOT_PATH.'admin/include/functions.php'); @@ -246,6 +245,7 @@ function ws_groups_merge($params, &$service) { $all_groups = array_unique($all_groups); $merge_group = array_diff($params['merge_group_id'], array($params['destination_group_id'])); + $merge_group_object = $service->invoke('pwg.groups.getList', array('group_id' => $params['merge_group_id'])); $query = ' SELECT COUNT(*) @@ -266,7 +266,7 @@ SELECT COUNT(*) SELECT DISTINCT(user_id) FROM `'. USER_GROUP_TABLE .'` WHERE - group_id in ('.implode(',', $merge_group) .') + group_id IN ('.implode(',', $merge_group) .') ;'; $user_in_merge_groups = query2array($query, null, 'user_id'); @@ -303,14 +303,17 @@ SELECT user_id pwg_activity('group', $params['destination_group_id'], 'edit'); foreach ($user_to_add as $user_id) { - pwg_activity('user', $user_id, 'edit'); + pwg_activity('user', $user_id, 'edit', array("associated" => $params['destination_group_id'])); } include_once(PHPWG_ROOT_PATH.'admin/include/functions.php'); delete_groups($merge_group); - return $service->invoke('pwg.groups.getList', array('group_id' => $params['destination_group_id'])); + return array( + "destination_group" => $service->invoke('pwg.groups.getList', array('group_id' => $params['destination_group_id'])), + "deleted_group" => $merge_group_object + ); } /**