serviceAddon.php 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. <?php
  2. /**
  3. * Service Addon Provisioning Module
  4. *
  5. * sending product independent mails
  6. *
  7. * @copyright Copyright (c) Thurdata GmbH 2020
  8. * @license GPL
  9. */
  10. if (!defined("WHMCS")) {
  11. die("This file cannot be accessed directly");
  12. }
  13. function serviceAddon_CreateAccount(array $params) {
  14. $emailTemplates = serviceAddonGetEmailTemplatesArray();
  15. if($emailTemplates[0] != 'none') {
  16. return $emailTemplates[0];
  17. }
  18. if($params['Create_Mail'] > 0) {
  19. return serviceAddonSendEmail($emailTemplates[$params['Create_Mail']], $params['serviceid']);
  20. }
  21. return 'success';
  22. }
  23. function serviceAddon_SuspendAccount(array $params) {
  24. $emailTemplates = serviceAddonGetEmailTemplatesArray();
  25. if($emailTemplates[0] != 'none') {
  26. return $emailTemplates[0];
  27. }
  28. if($params['Suspend_Mail'] > 0) {
  29. return serviceAddonSendEmail($emailTemplates[$params['Suspend_Mail']], $params['serviceid']);
  30. }
  31. return 'success';
  32. }
  33. function serviceAddon_UnsuspendAccount(array $params) {
  34. $emailTemplates = serviceAddonGetEmailTemplatesArray();
  35. if($emailTemplates[0] != 'none') {
  36. return $emailTemplates[0];
  37. }
  38. if($params['Unsuspend_Mail'] > 0) {
  39. return serviceAddonSendEmail($emailTemplates[$params['Unsuspend_Mail']], $params['serviceid']);
  40. }
  41. return 'success';
  42. }
  43. function serviceAddon_TerminateAccount(array $params) {
  44. $emailTemplates = serviceAddonGetEmailTemplatesArray();
  45. if($emailTemplates[0] != 'none') {
  46. return $emailTemplates[0];
  47. }
  48. if($params['Terminate_Mail'] > 0) {
  49. return serviceAddonSendEmail($emailTemplates[$params['Terminate_Mail']], $params['serviceid']);
  50. }
  51. return 'success';
  52. }
  53. function serviceAddon_ChangePackage(array $params) {
  54. $emailTemplates = serviceAddonGetEmailTemplatesArray();
  55. if($emailTemplates[0] != 'none') {
  56. return $emailTemplates[0];
  57. }
  58. if($params['ChangePackage_Mail'] > 0) {
  59. return serviceAddonSendEmail($emailTemplates[$params['ChangePackage_Mail']], $params['serviceid']);
  60. }
  61. return 'success';
  62. }
  63. function serviceAddon_TestConnection(array $params) {
  64. return 'success';
  65. }
  66. function serviceAddon_UsageUpdate(array $params) {
  67. return 'success';
  68. }
  69. function serviceAddon_ConfigOptions(array $params) {
  70. $emailTemplates = serviceAddonGetEmailTemplatesArray();
  71. if($emailTemplates[0] != 'none') {
  72. return array(
  73. "error" => [
  74. "Type" => "text",
  75. "Default" => $emailTemplates[0],
  76. ]
  77. );
  78. }
  79. $configOptions = array(
  80. "Create_Mail" => [
  81. "Type" => "dropdown", # Dropdown Choice of Options
  82. "Options" => $emailTemplates,
  83. "Description" => "E-Mail Template auswählen",
  84. "Default" => "option1"
  85. ],
  86. "Suspend_Mail" => [
  87. "Type" => "dropdown", # Dropdown Choice of Options
  88. "Options" => $emailTemplates,
  89. "Description" => "E-Mail Template auswählen",
  90. "Default" => "option1"
  91. ],
  92. "Unsuspend_Mail" => [
  93. "Type" => "dropdown", # Dropdown Choice of Options
  94. "Options" => $emailTemplates,
  95. "Description" => "E-Mail Template auswählen",
  96. "Default" => "option1"
  97. ],
  98. "ChangePackage_Mail" => [
  99. "Type" => "dropdown", # Dropdown Choice of Options
  100. "Options" => $emailTemplates,
  101. "Description" => "E-Mail Template auswählen",
  102. "Default" => "option1"
  103. ],
  104. "Terminate_Mail" => [
  105. "Type" => "dropdown", # Dropdown Choice of Options
  106. "Options" => $emailTemplates,
  107. "Description" => "E-Mail Template auswählen",
  108. "Default" => "option1"
  109. ],
  110. );
  111. return $configOptions;
  112. }
  113. function serviceAddon_MetaData() {
  114. }
  115. function serviceAddon_AdminCustomButtonArray($params) {
  116. }
  117. function serviceAddon_AdminServicesTabFields($params) {
  118. }
  119. function serviceAddon_ClientArea($params) {
  120. }
  121. function serviceAddonGetEmailTemplatesArray() {
  122. $emailTemplates = array('none');
  123. $response = localAPI('GetEmailTemplates');
  124. if($response['result'] == 'success') {
  125. foreach ($response['emailtemplates']['emailtemplate'] as $emailTemplate) {
  126. if ($emailTemplate['custom'] == 1) {
  127. $emailTemplates[$emailTemplate['id']] = $emailTemplate['name'];
  128. }
  129. }
  130. } else {
  131. $emailTemplates[0] = $response['message'];
  132. }
  133. return $emailTemplates;
  134. }
  135. function serviceAddonSendEmail($templateName,$serviceId) {
  136. $result = localAPI('SendEmail', ['messagename' => $templateName, 'id' => $serviceId]);
  137. if ($result['result'] == 'success') {
  138. return 'success';
  139. } else {
  140. return $result['message'];
  141. }
  142. };