From 5cf5ee66c1fd3e86f009124aee58df26780ce311 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Wed, 18 May 2011 07:48:47 -0400
Subject: [PATCH] - Added general rcube_cache class with memcache support - Improved caching performance by skipping writes of unchanged data - Option enable_caching replaced by imap_cache and messages_cache options
---
program/steps/addressbook/groups.inc | 39 ++++++++++++++++++++++-----------------
1 files changed, 22 insertions(+), 17 deletions(-)
diff --git a/program/steps/addressbook/groups.inc b/program/steps/addressbook/groups.inc
index 66619fa..4c70bf1 100644
--- a/program/steps/addressbook/groups.inc
+++ b/program/steps/addressbook/groups.inc
@@ -5,7 +5,7 @@
| program/steps/addressbook/groups.inc |
| |
| This file is part of the Roundcube Webmail client |
- | Copyright (C) 2010, Roundcube Dev. - Switzerland |
+ | Copyright (C) 2010, The Roundcube Dev Team |
| Licensed under the GNU GPL |
| |
| PURPOSE: |
@@ -29,10 +29,10 @@
if ($RCMAIL->action == 'group-addmembers') {
if (($gid = get_input_value('_gid', RCUBE_INPUT_POST)) && ($ids = get_input_value('_cid', RCUBE_INPUT_POST))) {
$plugin = $RCMAIL->plugins->exec_hook('group_addmembers', array('group_id' => $gid, 'ids' => $ids, 'source' => $source));
-
+
$CONTACTS->set_group($gid);
$num2add = count(explode(',', $plugin['ids']));
-
+
if (!$plugin['abort']) {
if (($maxnum = $RCMAIL->config->get('max_group_members', 0)) && ($CONTACTS->count()->count + $num2add > $maxnum)) {
$OUTPUT->show_message('maxgroupmembersreached', 'warning', array('max' => $maxnum));
@@ -44,26 +44,26 @@
$result = $plugin['result'];
}
- if ($result)
+ if ($result)
$OUTPUT->show_message('contactaddedtogroup');
- else if ($plugin['message'])
- $OUTPUT->show_message($plugin['message'], 'warning');
+ else
+ $OUTPUT->show_message($plugin['message'] ? $plugin['message'] : 'errorsaving', 'error');
}
}
else if ($RCMAIL->action == 'group-delmembers') {
if (($gid = get_input_value('_gid', RCUBE_INPUT_POST)) && ($ids = get_input_value('_cid', RCUBE_INPUT_POST))) {
$plugin = $RCMAIL->plugins->exec_hook('group_delmembers', array('group_id' => $gid, 'ids' => $ids, 'source' => $source));
-
+
if (!$plugin['abort'])
$result = $CONTACTS->remove_from_group($gid, $plugin['ids']);
else
$result = $plugin['result'];
- if ($result)
+ if ($result)
$OUTPUT->show_message('contactremovedfromgroup');
- else if ($plugin['message'])
- $OUTPUT->show_message($plugin['message'], 'warning');
+ else
+ $OUTPUT->show_message($plugin['message'] ? $plugin['message'] : 'errorsaving', 'error');
}
}
@@ -76,10 +76,10 @@
else
$created = $plugin['result'];
}
-
+
if ($created && $OUTPUT->ajax_call) {
- $created['source'] = $source;
- $OUTPUT->command('insert_contact_group', $created);
+ $OUTPUT->show_message('groupcreated', 'confirmation');
+ $OUTPUT->command('insert_contact_group', array('source' => $source) + $created);
}
else if (!$created) {
$OUTPUT->show_message($plugin['message'] ? $plugin['message'] : 'errorsaving', 'error');
@@ -91,13 +91,16 @@
$plugin = $RCMAIL->plugins->exec_hook('group_rename', array('group_id' => $gid, 'name' => $name, 'source' => $source));
if (!$plugin['abort'])
- $newname = $CONTACTS->rename_group($gid, $plugin['name']);
+ $newname = $CONTACTS->rename_group($gid, $plugin['name'], $newgid);
else
$newname = $plugin['result'];
}
- if ($newname && $OUTPUT->ajax_call)
- $OUTPUT->command('update_contact_group', array('source' => $source, 'id' => $gid, 'name' => $newname));
+ if ($newname && $OUTPUT->ajax_call) {
+ $OUTPUT->show_message('grouprenamed', 'confirmation');
+ $OUTPUT->command('update_contact_group', array(
+ 'source' => $source, 'id' => $gid, 'name' => $newname, 'newid' => $newgid));
+ }
else if (!$newname)
$OUTPUT->show_message($plugin['message'] ? $plugin['message'] : 'errorsaving', 'error');
}
@@ -112,8 +115,10 @@
$deleted = $plugin['result'];
}
- if ($deleted)
+ if ($deleted) {
+ $OUTPUT->show_message('groupdeleted', 'confirmation');
$OUTPUT->command('remove_group_item', array('source' => $source, 'id' => $gid));
+ }
else
$OUTPUT->show_message($plugin['message'] ? $plugin['message'] : 'errorsaving', 'error');
}
--
Gitblit v1.9.1