productAddon->name * Addon Description = $params['model']->productAddon->description * * @copyright Copyright (c) Thurdata GmbH 2020 * @license GPL */ if (!defined("WHMCS")) { die("This file cannot be accessed directly"); } function serviceAddon_CreateAccount(array $params) { $emailTemplates = serviceAddonGetEmailTemplatesArray(); if($emailTemplates[0] != 'none') { return $emailTemplates[0]; } if(empty($params['model']->subscriptionid)) { $params['model']->subscriptionid = strtoupper(bin2hex(random_bytes(3))); $params['model']->save(); } if($params['Create_Mail'] > 0) { return serviceAddonSendEmail( $emailTemplates[ $params['Create_Mail'] ], $params['serviceid'], $params['model']->subscriptionid, $params['model']->productAddon->name, $params['model']->qty ); } 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']->subscriptionid, $params['model']->productAddon->name, $params['model']->qty ); } 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']->subscriptionid, $params['model']->productAddon->name, $params['model']->qty ); } 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']->subscriptionid, $params['model']->productAddon->name, $params['model']->qty ); } 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']->subscriptionid, $params['model']->productAddon->name, $params['model']->qty ); } 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) { return array( 'vars' => [ 'subscriptionid' => $params['model']->subscriptionid ], ); } 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, $serviceName, $serviceQty) { $result = localAPI( 'SendEmail',[ 'messagename' => $templateName, 'id' => $serviceId, 'customvars' => [ 'servicecode' => $serviceCode, 'servicename' => $serviceName, 'serviceqty' => $serviceQty ] ] ); if ($result['result'] == 'success') { return 'success'; } else { return $result['message']; } };