SuspendDomain.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. namespace ModulesGarden\Servers\KerioEmail\App\Libs\Kerio\Components\Api\Soap\Services\Update;
  3. use ModulesGarden\Servers\KerioEmail\App\Enums\Kerio;
  4. use ModulesGarden\Servers\KerioEmail\App\Libs\Kerio\Components\Api\Soap\Interfaces\ApiService;
  5. use ModulesGarden\Servers\KerioEmail\App\Libs\Kerio\Components\Api\Soap\Models\Domain;
  6. /**
  7. *
  8. * Created by PhpStorm.
  9. * User: Tomasz Bielecki ( tomasz.bi@modulesgarden.com )
  10. * Date: 10.10.19
  11. * Time: 15:20
  12. * Class SuspendDomain
  13. */
  14. class SuspendDomain extends ApiService
  15. {
  16. public function isValid()
  17. {
  18. return parent::isValid();
  19. }
  20. public function process()
  21. {
  22. $domain = $this->api->repository()->domains->getByName($this->formData['domain']);
  23. if(!$domain)
  24. {
  25. $this->setError($this->api->account->getLastResult()->getLastErrorCode());
  26. return false;
  27. }
  28. $domain->setAttrs([
  29. Domain::ATTR_DOMAIN_STATUS => Kerio::ACC_STATUS_SUSPEND,
  30. Domain::ATTR_MAIL_STATUS => Kerio::DISABLED,
  31. ]);
  32. $response = $this->api->domain->update($domain);
  33. if(!$response)
  34. {
  35. $this->setError($this->api->domain->getLastResult()->getLastErrorCode());
  36. return false;
  37. }
  38. return true;
  39. }
  40. }