TestConnection.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. namespace ThurData\Servers\KerioEmail\App\Http\Actions;
  3. require_once '/Services/Internet/html/modules/servers/kerioEmail/api/KerioConnectApi.php';
  4. use ThurData\Servers\KerioEmail\App\Helpers\KerioManager;
  5. use ThurData\Servers\KerioEmail\App\Libs\Kerio\Api;
  6. use ThurData\Servers\KerioEmail\App\Libs\Kerio\Components\Api\Soap\Client;
  7. use ThurData\Servers\KerioEmail\App\Traits\ExtensionsCheckerTrait;
  8. use ThurData\Servers\KerioEmail\Core\App\Controllers\Instances\AddonController;
  9. use ThurData\Servers\KerioEmail\Api\KerioConnectApi;
  10. /**
  11. *
  12. * Created by PhpStorm.
  13. * User: ThurData
  14. * Date: 27.08.19
  15. * Time: 14:54
  16. * Class TestConnection
  17. */
  18. class TestConnection extends AddonController
  19. {
  20. // use ExtensionsCheckerTrait;
  21. /**
  22. *
  23. *
  24. * @param null $params
  25. * @return array
  26. */
  27. public function execute($params = null)
  28. {
  29. /**
  30. * API Connection
  31. */
  32. $api = new KerioConnectApi('whmcsKerioEmail', 'Thurdata', '1.0');
  33. try {
  34. $api->login($params['serverhostname'], $params['serverusername'], $params['serverpassword']);
  35. $serverInfo = $api->sendRequest('Server.getProductInfo');
  36. $api->logout();
  37. } catch (KerioApiException $error) {
  38. logModuleCall(
  39. 'kerioEmail',
  40. __FUNCTION__,
  41. $api,
  42. '',
  43. $error->getMessage()
  44. );
  45. return ['error' => $error->getMessage()];
  46. }
  47. logModuleCall(
  48. 'kerioEmail',
  49. __FUNCTION__,
  50. $serverInfo,
  51. 'Debug Kerio Api',
  52. $api
  53. );
  54. /**
  55. * check if connected and return true
  56. */
  57. if($serverInfo)
  58. {
  59. return ['success' => true];
  60. }
  61. }
  62. }