| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220 |
- <?php
- /**
- * Service Addon Provisioning Module
- *
- * sending product independent mails
- *
- * Addon Name = $params['model']->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' => [
- 'blubb' => $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'];
- }
- };
|