getAddonName() ); $emailTemplates = serviceAddonGetEmailTemplatesArray(); if($emailTemplates[0] != 'none') { return $emailTemplates[0]; } if(empty($params['model']->name)) { $params['model']->name = strtoupper(bin2hex(random_bytes(3))); $params['model']->save(); } if($params['Create_Mail'] > 0) { return serviceAddonSendEmail($emailTemplates[$params['Create_Mail']], $params['serviceid'], $params['model']->name); } return 'success'; } function serviceAddon_SuspendAccount(array $params) { $emailTemplates = serviceAddonGetEmailTemplatesArray(); if($emailTemplates[0] != 'none') { return $emailTemplates[0]; } if($params['Suspend_Mail'] > 0) { return serviceAddonSendEmail($emailTemplates[$params['Suspend_Mail']], $params['serviceid'], $params['model']->name); } return 'success'; } function serviceAddon_UnsuspendAccount(array $params) { $emailTemplates = serviceAddonGetEmailTemplatesArray(); if($emailTemplates[0] != 'none') { return $emailTemplates[0]; } if($params['Unsuspend_Mail'] > 0) { return serviceAddonSendEmail($emailTemplates[$params['Unsuspend_Mail']], $params['serviceid'], $params['model']->name); } return 'success'; } function serviceAddon_TerminateAccount(array $params) { $emailTemplates = serviceAddonGetEmailTemplatesArray(); if($emailTemplates[0] != 'none') { return $emailTemplates[0]; } if($params['Terminate_Mail'] > 0) { return serviceAddonSendEmail($emailTemplates[$params['Terminate_Mail']], $params['serviceid'], $params['model']->name); } return 'success'; } function serviceAddon_ChangePackage(array $params) { $emailTemplates = serviceAddonGetEmailTemplatesArray(); if($emailTemplates[0] != 'none') { return $emailTemplates[0]; } if($params['ChangePackage_Mail'] > 0) { return serviceAddonSendEmail($emailTemplates[$params['ChangePackage_Mail']], $params['serviceid'], $params['model']->name); } return 'success'; } function serviceAddon_TestConnection(array $params) { return 'success'; } function serviceAddon_UsageUpdate(array $params) { return 'success'; } function serviceAddon_ConfigOptions(array $params) { $emailTemplates = serviceAddonGetEmailTemplatesArray(); if($emailTemplates[0] != 'none') { return array( "error" => [ "Type" => "text", "Default" => $emailTemplates[0], ] ); } $configOptions = array( "Create_Mail" => [ "Type" => "dropdown", "Options" => $emailTemplates, "Description" => "E-Mail Template auswählen", "Default" => "option1" ], "Suspend_Mail" => [ "Type" => "dropdown", "Options" => $emailTemplates, "Description" => "E-Mail Template auswählen", "Default" => "option1" ], "Unsuspend_Mail" => [ "Type" => "dropdown", "Options" => $emailTemplates, "Description" => "E-Mail Template auswählen", "Default" => "option1" ], "ChangePackage_Mail" => [ "Type" => "dropdown", "Options" => $emailTemplates, "Description" => "E-Mail Template auswählen", "Default" => "option1" ], "Terminate_Mail" => [ "Type" => "dropdown", "Options" => $emailTemplates, "Description" => "E-Mail Template auswählen", "Default" => "option1" ], ); return $configOptions; } function serviceAddon_MetaData() { } function serviceAddon_AdminCustomButtonArray($params) { } function serviceAddon_AdminServicesTabFields($params) { } function serviceAddon_ClientArea($params) { } function serviceAddonGetEmailTemplatesArray() { $emailTemplates = array('none'); $response = localAPI('GetEmailTemplates'); if($response['result'] == 'success') { foreach ($response['emailtemplates']['emailtemplate'] as $emailTemplate) { if ($emailTemplate['custom'] == 1) { $emailTemplates[$emailTemplate['id']] = $emailTemplate['name']; } } } else { $emailTemplates[0] = $response['message']; } return $emailTemplates; } function serviceAddonSendEmail($templateName,$serviceId, $serviceCode) { $result = localAPI('SendEmail', ['messagename' => $templateName, 'id' => $serviceId, 'customvars' => ['servicecode' => $serviceCode]]); if ($result['result'] == 'success') { return 'success'; } else { return $result['message']; } };