serviceAddon.php 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. <?php
  2. if (!defined("WHMCS")) {
  3. die("This file cannot be accessed directly");
  4. }
  5. function serviceAddon_CreateAccount(array $params) {
  6. $emailTemplates = serviceAddonGetEmailTemplatesArray($params);
  7. if(count($emailTemplates) == 1) {
  8. return $emailTemplates[0];
  9. }
  10. if($params['Create_Mail'] > 0) {
  11. $result = localAPI('SendEmail', ['messagename' => $emailTemplates[$params['Create_Mail']], 'id' => $params['serviceid']]);
  12. }
  13. if ($result['result'] == 'success') {
  14. return 'success';
  15. }
  16. return $result['message'];
  17. }
  18. function serviceAddon_SuspendAccount(array $params) {
  19. $emailTemplates = serviceAddonGetEmailTemplatesArray($params);
  20. if(count($emailTemplates) == 1) {
  21. return $emailTemplates[0];
  22. }
  23. if($params['Suspend_Mail'] > 0) {
  24. $result = localAPI('SendEmail', ['messagename' => $emailTemplates[$params['Suspend_Mail']], 'id' => $params['serviceid']]);
  25. }
  26. if ($result['result'] == 'success') {
  27. return 'success';
  28. }
  29. return $result['message'];
  30. }
  31. function serviceAddon_UnsuspendAccount(array $params) {
  32. $emailTemplates = serviceAddonGetEmailTemplatesArray($params);
  33. if(count($emailTemplates) == 1) {
  34. return $emailTemplates[0];
  35. }
  36. if($params['Unsuspend_Mail'] > 0) {
  37. $result = localAPI('SendEmail', ['messagename' => $emailTemplates[$params['Unsuspend_Mail']], 'id' => $params['serviceid']]);
  38. }
  39. if ($result['result'] == 'success') {
  40. return 'success';
  41. }
  42. return $result['message'];
  43. }
  44. function serviceAddon_TerminateAccount(array $params) {
  45. $emailTemplates = serviceAddonGetEmailTemplatesArray($params);
  46. if(count($emailTemplates) == 1) {
  47. return $emailTemplates[0];
  48. }
  49. if($params['Terminate_Mail'] > 0) {
  50. $result = localAPI('SendEmail', ['messagename' => $emailTemplates[$params['Terminate_Mail']], 'id' => $params['serviceid']]);
  51. }
  52. if ($result['result'] == 'success') {
  53. return 'success';
  54. }
  55. return $result['message'];
  56. }
  57. function serviceAddon_ChangePackage(array $params) {
  58. $emailTemplates = serviceAddonGetEmailTemplatesArray($params);
  59. if(count($emailTemplates) == 1) {
  60. return $emailTemplates[0];
  61. }
  62. if($params['ChangePackage_Mail'] > 0) {
  63. $result = localAPI('SendEmail', ['messagename' => $emailTemplates[$params['ChangePackage_Mail']], 'id' => $params['serviceid']]);
  64. }
  65. if ($result['result'] == 'success') {
  66. return 'success';
  67. }
  68. return $result['message'];
  69. }
  70. function serviceAddon_TestConnection(array $params) {
  71. return 'success';
  72. }
  73. function serviceAddon_UsageUpdate(array $params) {
  74. return 'success';
  75. }
  76. function serviceAddon_ConfigOptions(array $params) {
  77. $emailTemplates = serviceAddonGetEmailTemplatesArray($params);
  78. if(count($emailTemplates) > 1) {
  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. return array(
  114. "error" => [
  115. "Type" => "text",
  116. "Default" => $emailTemplates[0],
  117. ]
  118. );
  119. }
  120. function serviceAddon_MetaData() {
  121. }
  122. function serviceAddon_AdminCustomButtonArray($params) {
  123. }
  124. function serviceAddon_AdminServicesTabFields($params) {
  125. }
  126. function serviceAddon_ClientArea($params) {
  127. return array(
  128. 'templatefile' => 'clientarea',
  129. 'vars' => array(
  130. 'test1' => 'hello',
  131. 'test2' => 'world',
  132. ),
  133. );
  134. }
  135. function serviceAddonGetEmailTemplatesArray($params) {
  136. $emailTemplates = array('none');
  137. $response = localAPI('GetEmailTemplates');
  138. if($response['result'] == 'success') {
  139. foreach ($response['emailtemplates']['emailtemplate'] as $emailTemplate) {
  140. if ($emailTemplate['custom'] == 1) {
  141. $emailTemplates[$emailTemplate['id']] = $emailTemplate['name'];
  142. }
  143. }
  144. } else {
  145. $emailTemplates[0] = $response['message'];
  146. }
  147. return $emailTemplates;
  148. };