| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171 |
- <?php
- /**
- * Service Addon Provisioning Module
- *
- * sending product independent mails
- *
- * @copyright Copyright (c) Thurdata GmbH 2020
- * @license GPL
- */
- if (!defined("WHMCS")) {
- die("This file cannot be accessed directly");
- }
- function serviceAddon_CreateAccount(array $params) {
- logModuleCall(
- 'serviceAddon',
- __FUNCTION__,
- $params['model'],
- 'debug',
- $params['model']->productAddon
- );
- $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'];
- }
- };
|