ProxmoxCloudVps.php 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. <?php
  2. use Illuminate\Database\Capsule\Manager as DB;
  3. use ModulesGarden\Servers\ProxmoxCloudVps\Core\App\AppContext;
  4. if (!defined("WHMCS"))
  5. {
  6. die("This file cannot be accessed directly");
  7. }
  8. if (!defined('DS'))
  9. {
  10. define('DS', DIRECTORY_SEPARATOR);
  11. }
  12. require_once __DIR__ . DIRECTORY_SEPARATOR . 'core' . DIRECTORY_SEPARATOR . 'WhmcsErrorIntegration.php';
  13. function ProxmoxCloudVps_CreateAccount(array $params)
  14. {
  15. require_once __DIR__ . DIRECTORY_SEPARATOR . 'core' . DIRECTORY_SEPARATOR . 'App' . DIRECTORY_SEPARATOR . 'AppContext.php';
  16. $appContext = new AppContext();
  17. return $appContext->runApp(__FUNCTION__, $params);
  18. }
  19. function ProxmoxCloudVps_SuspendAccount(array $params)
  20. {
  21. require_once __DIR__ . DIRECTORY_SEPARATOR . 'core' . DIRECTORY_SEPARATOR . 'App' . DIRECTORY_SEPARATOR . 'AppContext.php';
  22. $appContext = new AppContext();
  23. return $appContext->runApp(__FUNCTION__, $params);
  24. }
  25. function ProxmoxCloudVps_UnsuspendAccount(array $params)
  26. {
  27. require_once __DIR__ . DIRECTORY_SEPARATOR . 'core' . DIRECTORY_SEPARATOR . 'App' . DIRECTORY_SEPARATOR . 'AppContext.php';
  28. $appContext = new AppContext();
  29. return $appContext->runApp(__FUNCTION__, $params);
  30. }
  31. function ProxmoxCloudVps_TerminateAccount(array $params)
  32. {
  33. require_once __DIR__ . DIRECTORY_SEPARATOR . 'core' . DIRECTORY_SEPARATOR . 'App' . DIRECTORY_SEPARATOR . 'AppContext.php';
  34. $appContext = new AppContext();
  35. return $appContext->runApp(__FUNCTION__, $params);
  36. }
  37. function ProxmoxCloudVps_ChangePackage(array $params)
  38. {
  39. require_once __DIR__ . DIRECTORY_SEPARATOR . 'core' . DIRECTORY_SEPARATOR . 'App' . DIRECTORY_SEPARATOR . 'AppContext.php';
  40. $appContext = new AppContext();
  41. return $appContext->runApp(__FUNCTION__, $params);
  42. }
  43. function ProxmoxCloudVps_TestConnection(array $params)
  44. {
  45. require_once __DIR__ . DIRECTORY_SEPARATOR . 'core' . DIRECTORY_SEPARATOR . 'App' . DIRECTORY_SEPARATOR . 'AppContext.php';
  46. $appContext = new AppContext();
  47. return $appContext->runApp(__FUNCTION__, $params);
  48. }
  49. function ProxmoxCloudVps_UsageUpdate(array $params)
  50. {
  51. }
  52. function ProxmoxCloudVps_ConfigOptions(array $params)
  53. {
  54. require_once __DIR__ . DIRECTORY_SEPARATOR . 'core' . DIRECTORY_SEPARATOR . 'App' . DIRECTORY_SEPARATOR . 'AppContext.php';
  55. $appContext = new AppContext();
  56. $response = $appContext->runApp(__FUNCTION__, $params);
  57. logModuleCall(
  58. 'ProxmoxCloudVps',
  59. __FUNCTION__,
  60. $params,
  61. 'Debug',
  62. $response
  63. );
  64. return $response;
  65. }
  66. function ProxmoxCloudVps_MetaData()
  67. {
  68. require_once __DIR__ . DIRECTORY_SEPARATOR . 'core' . DIRECTORY_SEPARATOR . 'App' . DIRECTORY_SEPARATOR . 'AppContext.php';
  69. $appContext = new AppContext();
  70. return $appContext->runApp(__FUNCTION__, []);
  71. }
  72. /**
  73. * FUNCTION ProxmoxCloudVps_AdminCustomButtonArray
  74. * This function can be used to define custom functions.
  75. * @param type $params
  76. * @return string
  77. */
  78. function ProxmoxCloudVps_AdminCustomButtonArray($params) {
  79. $buttons = array(
  80. "Change User Role" => "ChangeUserRole",
  81. "Reset Bandwidth" => "ResetBandwidth",
  82. );
  83. return $buttons;
  84. }
  85. function ProxmoxCloudVps_ChangeUserRole($params)
  86. {
  87. require_once __DIR__ . DIRECTORY_SEPARATOR . 'core' . DIRECTORY_SEPARATOR . 'App' . DIRECTORY_SEPARATOR . 'AppContext.php';
  88. $appContext = new AppContext();
  89. return $appContext->runApp(__FUNCTION__, $params);
  90. }
  91. function ProxmoxCloudVps_ResetBandwidth($params)
  92. {
  93. require_once __DIR__ . DIRECTORY_SEPARATOR . 'core' . DIRECTORY_SEPARATOR . 'App' . DIRECTORY_SEPARATOR . 'AppContext.php';
  94. $appContext = new AppContext();
  95. return $appContext->runApp(__FUNCTION__, $params);
  96. }
  97. function ProxmoxCloudVps_AdminServicesTabFields($params)
  98. {
  99. require_once __DIR__ . DIRECTORY_SEPARATOR . 'core' . DIRECTORY_SEPARATOR . 'App' . DIRECTORY_SEPARATOR . 'AppContext.php';
  100. $appContext = new AppContext();
  101. return $appContext->runApp(__FUNCTION__, $params);
  102. }
  103. function ProxmoxCloudVps_ClientArea($params)
  104. {
  105. if($params['status']!='Active'){
  106. return;
  107. }
  108. require_once __DIR__ . DIRECTORY_SEPARATOR . 'core' . DIRECTORY_SEPARATOR . 'App' . DIRECTORY_SEPARATOR . 'AppContext.php';
  109. $appContext = new AppContext();
  110. return $appContext->runApp('clientarea', $params);
  111. }
  112. function ProxmoxCloudVps_GetLicenseData($force = false)
  113. {
  114. $class = '';
  115. if(!class_exists($class ))
  116. {
  117. return [];
  118. }
  119. $class = '\\'.$class;
  120. return $class::getLicenseData($force);
  121. }