From 477a2a4162f60ad66d3ed8e0dd84facc2eacc0d8 Mon Sep 17 00:00:00 2001 From: xieqiyu Date: Fri, 15 Apr 2022 13:57:35 +0800 Subject: [PATCH] * Fix bug#19318. --- module/user/control.php | 13 ++++--------- www/js/my.full.js | 3 ++- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/module/user/control.php b/module/user/control.php index 8179bfa963..0c474f3a26 100644 --- a/module/user/control.php +++ b/module/user/control.php @@ -1179,10 +1179,11 @@ class user extends control * * @param int $contactListID * @param string $dropdownName mailto|whitelist + * @param string $oldUsers * @access public * @return string */ - public function ajaxGetContactUsers($contactListID, $dropdownName = 'mailto') + public function ajaxGetContactUsers($contactListID, $dropdownName = 'mailto', $oldUsers = '') { $list = $contactListID ? $this->user->getContactListByID($contactListID) : ''; @@ -1191,14 +1192,8 @@ class user extends control $users = $this->user->getPairs('devfirst|nodeleted|noclosed', $list ? $list->userList : '', $this->config->maxCount); if(isset($this->config->user->moreLink)) $this->config->moreLinks[$dropdownName . "[]"] = $this->config->user->moreLink; - if(!$contactListID) - { - return print(html::select($dropdownName . "[]", $users, '', "class='form-control chosen' multiple $attr")); - } - else - { - return print(html::select($dropdownName . "[]", $users, $list->userList, "class='form-control chosen' multiple $attr")); - } + $defaultUsers = empty($contactListID) ? '' : $list->userList . ',' . trim($oldUsers); + return print(html::select($dropdownName . "[]", $users, $defaultUsers, "class='form-control chosen' multiple $attr")); } /** diff --git a/www/js/my.full.js b/www/js/my.full.js index 99b72bd5d9..288e78e110 100644 --- a/www/js/my.full.js +++ b/www/js/my.full.js @@ -136,7 +136,8 @@ function showMoreImage(obj) */ function setMailto(mailto, contactListID) { - link = createLink('user', 'ajaxGetContactUsers', 'listID=' + contactListID + '&dropdownName=' + mailto); + var oldUsers = $('#' + mailto).val() ? $('#' + mailto).val() : ''; + link = createLink('user', 'ajaxGetContactUsers', 'listID=' + contactListID + '&dropdownName=' + mailto + '&oldUsers=' + oldUsers); $.get(link, function(users) { $('#' + mailto).replaceWith(users);