ProxmoxCloudVps.php 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  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. return [];
  58. }
  59. function ProxmoxCloudVps_MetaData()
  60. {
  61. require_once __DIR__ . DIRECTORY_SEPARATOR . 'core' . DIRECTORY_SEPARATOR . 'App' . DIRECTORY_SEPARATOR . 'AppContext.php';
  62. $appContext = new AppContext();
  63. return $appContext->runApp(__FUNCTION__, []);
  64. }
  65. /**
  66. * FUNCTION ProxmoxCloudVps_AdminCustomButtonArray
  67. * This function can be used to define custom functions.
  68. * @param type $params
  69. * @return string
  70. */
  71. function ProxmoxCloudVps_AdminCustomButtonArray($params) {
  72. $buttons = array(
  73. "Change User Role" => "ChangeUserRole",
  74. "Reset Bandwidth" => "ResetBandwidth",
  75. );
  76. return $buttons;
  77. }
  78. function ProxmoxCloudVps_ChangeUserRole($params)
  79. {
  80. require_once __DIR__ . DIRECTORY_SEPARATOR . 'core' . DIRECTORY_SEPARATOR . 'App' . DIRECTORY_SEPARATOR . 'AppContext.php';
  81. $appContext = new AppContext();
  82. return $appContext->runApp(__FUNCTION__, $params);
  83. }
  84. function ProxmoxCloudVps_ResetBandwidth($params)
  85. {
  86. require_once __DIR__ . DIRECTORY_SEPARATOR . 'core' . DIRECTORY_SEPARATOR . 'App' . DIRECTORY_SEPARATOR . 'AppContext.php';
  87. $appContext = new AppContext();
  88. return $appContext->runApp(__FUNCTION__, $params);
  89. }
  90. function ProxmoxCloudVps_AdminServicesTabFields($params)
  91. {
  92. require_once __DIR__ . DIRECTORY_SEPARATOR . 'core' . DIRECTORY_SEPARATOR . 'App' . DIRECTORY_SEPARATOR . 'AppContext.php';
  93. $appContext = new AppContext();
  94. return $appContext->runApp(__FUNCTION__, $params);
  95. }
  96. function ProxmoxCloudVps_ClientArea($params)
  97. {
  98. if($params['status']!='Active'){
  99. return;
  100. }
  101. require_once __DIR__ . DIRECTORY_SEPARATOR . 'core' . DIRECTORY_SEPARATOR . 'App' . DIRECTORY_SEPARATOR . 'AppContext.php';
  102. $appContext = new AppContext();
  103. return $appContext->runApp('clientarea', $params);
  104. }
  105. function ProxmoxCloudVps_GetLicenseData($force = false)
  106. {
  107. $class = '';
  108. if(!class_exists($class ))
  109. {
  110. return [];
  111. }
  112. $class = '\\'.$class;
  113. return $class::getLicenseData($force);
  114. }