UnsuspendAccount.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?php
  2. namespace ModulesGarden\Servers\ZimbraEmail\App\Http\Actions;
  3. use ModulesGarden\Servers\ZimbraEmail\App\Enums\Response;
  4. use ModulesGarden\Servers\ZimbraEmail\App\Helpers\ZimbraManager;
  5. use ModulesGarden\Servers\ZimbraEmail\App\Traits\ExtensionsCheckerTrait;
  6. use ModulesGarden\Servers\ZimbraEmail\Core\App\Controllers\Instances\AddonController;
  7. /**
  8. *
  9. * Created by PhpStorm.
  10. * User: Tomasz Bielecki ( tomasz.bi@modulesgarden.com )
  11. * Date: 09.09.19
  12. * Time: 15:15
  13. * Class UnsuspendAccount
  14. */
  15. class UnsuspendAccount 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 zimbra service
  27. */
  28. $result = $this->zimbraRunService($params);
  29. /**
  30. * return result
  31. */
  32. return $result;
  33. }catch (\Exception $ex)
  34. {
  35. /**
  36. * return some crit error
  37. */
  38. return $ex->getMessage();
  39. }
  40. }
  41. /**
  42. * @param null $params
  43. * @return mixed|string
  44. */
  45. protected function zimbraRunService($params = null)
  46. {
  47. $service = (new ZimbraManager())
  48. ->getApiByServer($params['serverid'])
  49. ->soap
  50. ->service()
  51. ->unsuspendDomain()
  52. ->setFormData($params)
  53. ;
  54. $result = $service->run();
  55. if(!$result)
  56. {
  57. return $service->getError();
  58. }
  59. /**
  60. * return success response
  61. */
  62. return Response::SUCCESS;
  63. }
  64. }