Browse Source

bugfix email list

andre 3 months ago
parent
commit
bda71c1d23
1 changed files with 14 additions and 20 deletions
  1. 14 20
      app/UI/Client/DistributionList/Providers/EditListDataProvider.php

+ 14 - 20
app/UI/Client/DistributionList/Providers/EditListDataProvider.php

@@ -162,9 +162,6 @@ class EditListDataProvider extends AddListDataProvider
             'ThisList' => $lang->absoluteT('ThisList'),
             'SenderThisList' => $lang->absoluteT('SenderThisList')
         ];
-        // prevent in_array on null in update
-        $this->data['memberList'] == null ? $this->data['memberList'] = array() : $this->data['memberList'];
-        $this->data['memberListActually'] == null ? $this->data['memberListActually'] = array() : $this->data['memberListActually'];
         foreach($intMembers as $intMember) {
             $this->data['memberList'][] = $intMember;
         }
@@ -203,18 +200,12 @@ class EditListDataProvider extends AddListDataProvider
         $paramsSet['posting']['nonMemberPosting'] = $this->formData['nonMemberPosting'];
         $paramsSet['posting']['sendErrorsToModerator'] = $this->formData['sendErrorsToModerator'] === 'on' ? true : false;
         // find new internal members to add
-
-            logModuleCall(
-                'kerioEmail',
-                __FUNCTION__,
-                $this->formData['memberList'],
-                'Debug Error',
-                $this->formData['memberListActually']
-            );
-
-        foreach($this->formData['memberList'] as $intMember) {
-            if(!in_array($intMember, $this->formData['memberListActually'])) {
-                $addIntMembers[] = $intMember;
+        $addIntMembers = array();
+        if(!empty($this->formData['memberListActually'])) {
+            foreach($this->formData['memberList'] as $intMember) {
+                if(!in_array($intMember, $this->formData['memberListActually'])) {
+                    array_push($addIntMembers, $intMember);
+                }
             }
         }
         // prepare
@@ -228,11 +219,12 @@ class EditListDataProvider extends AddListDataProvider
             }
         }
         // find new external members to add
+        $addExtMembers = array();
         if(!empty($this->formData['customMember'])){
             $customMembers = explode(',',$this->formData['customMember']);
             foreach($customMembers as $extMember) {
                 if(!in_array($extMember, $this->formData['memberListActually'])) {
-                    $addExtMembers[] = $extMember;
+                    array_push($addExtMembers, $extMember);
                 }
             }
         }
@@ -247,9 +239,11 @@ class EditListDataProvider extends AddListDataProvider
             }
         }
         // find members to remove
-        foreach($this->formData['memberListActually'] as $oldMember) {
-            if((!in_array($oldMember,$this->formData['memberList'])) && (!in_array($oldMember,$customMembers))){
-                $delMembers[] = $oldMember;
+        if(!empty($this->formData['memberListActually'])) {
+            foreach($this->formData['memberListActually'] as $oldMember) {
+                if((!in_array($oldMember,$this->formData['memberList'])) && (!in_array($oldMember,$customMembers))){
+                    $delMembers[] = $oldMember;
+                }
             }
         }
         // prepare
@@ -304,7 +298,7 @@ class EditListDataProvider extends AddListDataProvider
             );
             return ['error' => $error->getMessage()];
         }
-        // delete mebers
+        // delete members
         if($paramsDel){
             try {
                 $api->delMlUserList($paramsDel, $this->formData['id']);