andre 2 лет назад
Родитель
Сommit
e56bc86027
1 измененных файлов с 34 добавлено и 1 удалено
  1. 34 1
      app/UI/Client/EmailAlias/Providers/AddEmailAliasDataProvider.php

+ 34 - 1
app/UI/Client/EmailAlias/Providers/AddEmailAliasDataProvider.php

@@ -88,12 +88,45 @@ class AddEmailAliasDataProvider extends BaseDataProvider
         $productManager = new ProductManager();
         $productManager->loadByHostingId($hid);
 
+        $api = new KerioWhmcs('whmcsKerioEmail', 'Thurdata', '1.0');
+        try {
+            $api->login($this->getWhmcsParamByKey('serverhostname'), $this->getWhmcsParamByKey('serverusername'), $this->getWhmcsParamByKey('serverpassword'));
+            $domains = $api->getDomains(['id','name']);
+        } catch (KerioApiException $error) {
+            logModuleCall(
+                'kerioEmail',
+                __FUNCTION__,
+                $error,
+                'Debug Error',
+                $error->getMessage()
+            );
+            return ['error' => $error->getMessage()];
+        }
+        foreach($domains as $maildomain) {
+            if(($maildomain['name']) === $this->formData['domain']){ 
+                $this->maildomainID = $maildomain['id'];
+                $this->maildomain = $maildomain['name'];
+            }
+        }
+        try {
+            $result = $api->createAlias($this->maildomainID, $this->formData['aliasName'], $this->formData['mailbox'] . '@' . $this->maildomain);
+        } catch (KerioApiException $error) {
+            logModuleCall(
+                'kerioEmail',
+                __FUNCTION__,
+                $error,
+                'Debug Error',
+                $error->getMessage()
+            );
+            return ['error' => $error->getMessage()];
+        }
+
         logModuleCall(
             'kerioEmail',
             __FUNCTION__,
             $this->formData,
             'Debug Error',
-            $this->getWhmcsParamByKey('domain')
+            $result
         );
 
         return (new HtmlDataJsonResponse())->setMessageAndTranslate('emailAliasHasBeenCreated')->setStatusSuccess();