serviceAddon.php 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  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($params);
  15. if($emailTemplates[0] != 'none') {
  16. return $emailTemplates[0];
  17. }
  18. if($params['Create_Mail'] > 0) {
  19. $result = localAPI('SendEmail', ['messagename' => $emailTemplates[$params['Create_Mail']], 'id' => $params['serviceid']]);
  20. if ($result['result'] == 'success') {
  21. return 'success';
  22. } else {
  23. return $result['message'];
  24. }
  25. }
  26. return 'success';
  27. }
  28. function serviceAddon_SuspendAccount(array $params) {
  29. $emailTemplates = serviceAddonGetEmailTemplatesArray($params);
  30. if($emailTemplates[0] != 'none') {
  31. return $emailTemplates[0];
  32. }
  33. if($params['Suspend_Mail'] > 0) {
  34. $result = localAPI('SendEmail', ['messagename' => $emailTemplates[$params['Suspend_Mail']], 'id' => $params['serviceid']]);
  35. if ($result['result'] == 'success') {
  36. return 'success';
  37. } else {
  38. return $result['message'];
  39. }
  40. }
  41. return 'success';
  42. }
  43. function serviceAddon_UnsuspendAccount(array $params) {
  44. $emailTemplates = serviceAddonGetEmailTemplatesArray($params);
  45. if($emailTemplates[0] != 'none') {
  46. return $emailTemplates[0];
  47. }
  48. if($params['Unsuspend_Mail'] > 0) {
  49. $result = localAPI('SendEmail', ['messagename' => $emailTemplates[$params['Unsuspend_Mail']], 'id' => $params['serviceid']]);
  50. if ($result['result'] == 'success') {
  51. return 'success';
  52. } else {
  53. return $result['message'];
  54. }
  55. }
  56. return 'success';
  57. }
  58. function serviceAddon_TerminateAccount(array $params) {
  59. $emailTemplates = serviceAddonGetEmailTemplatesArray($params);
  60. if($emailTemplates[0] != 'none') {
  61. return $emailTemplates[0];
  62. }
  63. if($params['Terminate_Mail'] > 0) {
  64. $result = localAPI('SendEmail', ['messagename' => $emailTemplates[$params['Terminate_Mail']], 'id' => $params['serviceid']]);
  65. if ($result['result'] == 'success') {
  66. return 'success';
  67. } else {
  68. return $result['message'];
  69. }
  70. }
  71. return 'success';
  72. }
  73. function serviceAddon_ChangePackage(array $params) {
  74. $emailTemplates = serviceAddonGetEmailTemplatesArray($params);
  75. if($emailTemplates[0] != 'none') {
  76. return $emailTemplates[0];
  77. }
  78. if($params['ChangePackage_Mail'] > 0) {
  79. $result = localAPI('SendEmail', ['messagename' => $emailTemplates[$params['ChangePackage_Mail']], 'id' => $params['serviceid']]);
  80. if ($result['result'] == 'success') {
  81. return 'success';
  82. } else {
  83. return $result['message'];
  84. }
  85. }
  86. return 'success';
  87. }
  88. function serviceAddon_TestConnection(array $params) {
  89. return 'success';
  90. }
  91. function serviceAddon_UsageUpdate(array $params) {
  92. return 'success';
  93. }
  94. function serviceAddon_ConfigOptions(array $params) {
  95. $emailTemplates = serviceAddonGetEmailTemplatesArray($params);
  96. if($emailTemplates[0] != 'none') {
  97. return array(
  98. "error" => [
  99. "Type" => "text",
  100. "Default" => $emailTemplates[0],
  101. ]
  102. );
  103. }
  104. $configOptions = array(
  105. "Create_Mail" => [
  106. "Type" => "dropdown", # Dropdown Choice of Options
  107. "Options" => $emailTemplates,
  108. "Description" => "E-Mail Template auswählen",
  109. "Default" => "option1"
  110. ],
  111. "Suspend_Mail" => [
  112. "Type" => "dropdown", # Dropdown Choice of Options
  113. "Options" => $emailTemplates,
  114. "Description" => "E-Mail Template auswählen",
  115. "Default" => "option1"
  116. ],
  117. "Unsuspend_Mail" => [
  118. "Type" => "dropdown", # Dropdown Choice of Options
  119. "Options" => $emailTemplates,
  120. "Description" => "E-Mail Template auswählen",
  121. "Default" => "option1"
  122. ],
  123. "ChangePackage_Mail" => [
  124. "Type" => "dropdown", # Dropdown Choice of Options
  125. "Options" => $emailTemplates,
  126. "Description" => "E-Mail Template auswählen",
  127. "Default" => "option1"
  128. ],
  129. "Terminate_Mail" => [
  130. "Type" => "dropdown", # Dropdown Choice of Options
  131. "Options" => $emailTemplates,
  132. "Description" => "E-Mail Template auswählen",
  133. "Default" => "option1"
  134. ],
  135. );
  136. return $configOptions;
  137. }
  138. function serviceAddon_MetaData() {
  139. }
  140. function serviceAddon_AdminCustomButtonArray($params) {
  141. }
  142. function serviceAddon_AdminServicesTabFields($params) {
  143. }
  144. function serviceAddon_ClientArea($params) {
  145. }
  146. function serviceAddonGetEmailTemplatesArray($params) {
  147. $emailTemplates = array('none');
  148. $response = localAPI('GetEmailTemplates');
  149. if($response['result'] == 'success') {
  150. foreach ($response['emailtemplates']['emailtemplate'] as $emailTemplate) {
  151. if ($emailTemplate['custom'] == 1) {
  152. $emailTemplates[$emailTemplate['id']] = $emailTemplate['name'];
  153. }
  154. }
  155. } else {
  156. $emailTemplates[0] = $response['message'];
  157. }
  158. return $emailTemplates;
  159. };