From 5f30dc68a3b67eedb57a5f0115b4bad783cb3347 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Sun, 15 Dec 2019 11:01:37 +0100 Subject: [PATCH] Fix so number of contacts in a group is not limited to 200 when redirecting to mail composer from Contacts (#6972) Use max_group_members with fallback to 999 if unset. --- CHANGELOG | 1 + program/steps/addressbook/groups.inc | 2 +- program/steps/addressbook/mailto.inc | 4 +++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 2f9e6e9e0..1ec2a43f6 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -30,6 +30,7 @@ CHANGELOG Roundcube Webmail - Fix bug where listing tables in PostgreSQL database with db_prefix didn't work (#7093) - Fix bug where 'text' attribute on body tag was ignored when displaying HTML message (#7109) - Fix bug where next message wasn't displayed after delete in List mode (#7096) +- Fix so number of contacts in a group is not limited to 200 when redirecting to mail composer from Contacts (#6972) RELEASE 1.4.1 ------------- diff --git a/program/steps/addressbook/groups.inc b/program/steps/addressbook/groups.inc index 33b8627b9..b61e426d5 100644 --- a/program/steps/addressbook/groups.inc +++ b/program/steps/addressbook/groups.inc @@ -37,7 +37,7 @@ if ($RCMAIL->action == 'group-addmembers') { $num2add = count($plugin['ids']); if (!$plugin['abort']) { - if (($maxnum = $RCMAIL->config->get('max_group_members', 0)) && ($CONTACTS->count()->count + $num2add > $maxnum)) { + if (($maxnum = $RCMAIL->config->get('max_group_members')) && ($CONTACTS->count()->count + $num2add > $maxnum)) { $OUTPUT->show_message('maxgroupmembersreached', 'warning', array('max' => $maxnum)); $OUTPUT->send(); } diff --git a/program/steps/addressbook/mailto.inc b/program/steps/addressbook/mailto.inc index 81fa14d5d..2d6480b8f 100644 --- a/program/steps/addressbook/mailto.inc +++ b/program/steps/addressbook/mailto.inc @@ -43,9 +43,11 @@ if (!empty($_REQUEST['_gid']) && isset($_REQUEST['_source'])) { $mailto[] = format_email_recipient($group_data['email'][0], $group_data['name']); } else if ($CONTACTS->ready) { + $maxnum = (int) $RCMAIL->config->get('max_group_members'); + $CONTACTS->set_group($group_id); $CONTACTS->set_page(1); - $CONTACTS->set_pagesize(200); // limit somehow + $CONTACTS->set_pagesize($maxnum ?: 999); $sources[] = $CONTACTS->list_records(); } }