SuspendAccount.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. namespace ThurData\Servers\KerioEmail\App\Http\Actions;
  3. use ThurData\Servers\KerioEmail\App\Enums\Response;
  4. use ThurData\Servers\KerioEmail\App\Helpers\KerioManager;
  5. use ThurData\Servers\KerioEmail\App\Traits\ExtensionsCheckerTrait;
  6. use ThurData\Servers\KerioEmail\Core\App\Controllers\Instances\AddonController;
  7. /**
  8. *
  9. * Created by PhpStorm.
  10. * User: Tomasz Bielecki ( tomasz.bi@thurdata.com )
  11. * Date: 09.09.19
  12. * Time: 15:15
  13. * Class SuspendAccount
  14. */
  15. class SuspendAccount extends AddonController
  16. {
  17. use ExtensionsCheckerTrait;
  18. public function execute($params = null)
  19. {
  20. try{
  21. /**
  22. * check if extensions are installed
  23. */
  24. $this->checkExtensionOrThrowError();
  25. /**
  26. * run kerio service
  27. */
  28. $result = $this->kerioRunService($params);
  29. return $result;
  30. }catch (\Exception $ex)
  31. {
  32. /**
  33. * return some crit error
  34. */
  35. return $ex->getMessage();
  36. }
  37. }
  38. /**
  39. * @param null $params
  40. * @return mixed|string
  41. */
  42. protected function kerioRunService($params = null)
  43. {
  44. $service = (new KerioManager())
  45. ->getApiByServer($params['serverid'])
  46. ->soap
  47. ->service()
  48. ->suspendDomain()
  49. ->setFormData($params)
  50. ;
  51. $result = $service->run();
  52. if(!$result)
  53. {
  54. return $service->getError();
  55. }
  56. /**
  57. * return success response
  58. */
  59. return Response::SUCCESS;
  60. }
  61. }