data['id'] = $this->actionElementId; } /** * */ public function update() { // TODO: Implement update() method. } /** * @return HtmlDataJsonResponse|void */ public function delete() { $maildomain = $this->getWhmcsParamByKey('domain'); $api = new KerioWhmcs('whmcsKerioEmail', 'Thurdata', '1.0'); try { $api->login($this->getWhmcsParamByKey('serverhostname'), $this->getWhmcsParamByKey('serverusername'), $this->getWhmcsParamByKey('serverpassword')); $domains = $api->getDomains(['id','name','aliasList']); } catch (KerioApiException $error) { logModuleCall( 'kerioEmail', __FUNCTION__, $error, 'Debug Error', $error->getMessage() ); return ['error' => $error->getMessage()]; } foreach($domains as $domain) { if($domain['name'] === $maildomain){ $domainID = $domain['id']; $aliasList = $domain['aliasList']; } } $newList = array_values(array_diff($aliasList, [ $this->formData['id']])); $attr = array('aliasList' => $newList); try { $result = $api->modifyDomain($domainID,$attr); } catch (KerioApiException $error) { logModuleCall( 'kerioEmail', __FUNCTION__, $error, 'Debug Error', $error->getMessage() ); return ['error' => $error->getMessage()]; } $api->logout(); return (new HtmlDataJsonResponse())->setMessageAndTranslate('domainAliasHasBeenDeleted')->setStatusSuccess(); } public function massDelete() { $maildomain = $this->getWhmcsParamByKey('domain'); $api = new KerioWhmcs('whmcsKerioEmail', 'Thurdata', '1.0'); try { $api->login($this->getWhmcsParamByKey('serverhostname'), $this->getWhmcsParamByKey('serverusername'), $this->getWhmcsParamByKey('serverpassword')); $domains = $api->getDomains(['id','name','aliasList']); } catch (KerioApiException $error) { logModuleCall( 'kerioEmail', __FUNCTION__, $error, 'Debug Error', $error->getMessage() ); return ['error' => $error->getMessage()]; } foreach($domains as $domain) { if($domain['name'] === $maildomain){ $domainID = $domain['id']; $aliasList = $domain['aliasList']; } } $newList = array_values(array_diff($aliasList, $this->request->get('massActions'))); $attr = array('aliasList' => $newList); try { $result = $api->modifyDomain($domainID,$attr); } catch (KerioApiException $error) { logModuleCall( 'kerioEmail', __FUNCTION__, $error, 'Debug Error', $error->getMessage() ); return ['error' => $error->getMessage()]; } $api->logout(); return (new HtmlDataJsonResponse()) ->setMessageAndTranslate('massDomainAliasHasBeenDeleted') ->setStatusSuccess(); } }