TestConnection.php 1.9 KB

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