serviceAddon.php 5.0 KB

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