Domain.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. <?php
  2. namespace ModulesGarden\Servers\ZimbraEmail\App\Libs\Zimbra\Components\Api\Soap\Models;
  3. use ModulesGarden\Servers\ZimbraEmail\App\Libs\Zimbra\Components\Api\Soap\Interfaces\AbstractModel;
  4. /**
  5. *
  6. * Created by PhpStorm.
  7. * User: Tomasz Bielecki ( tomasz.bi@modulesgarden.com )
  8. * Date: 09.09.19
  9. * Time: 15:20
  10. * Class Domain
  11. */
  12. class Domain extends AbstractModel
  13. {
  14. const ATTR_ALIAS_TARGET_ID = 'zimbraDomainAliasTargetId';
  15. const ATTR_DOMAIN_TYPE = 'zimbraDomainType';
  16. const ATTR_DESCRIPTION = 'description';
  17. const ATTR_DOMAIN_STATUS = 'zimbraDomainStatus';
  18. const ATTR_MAIL_STATUS = 'zimbraMailStatus';
  19. const ATTR_MAIL_DOMAIN_QUOTA = 'zimbraMailDomainQuota';
  20. const TYPE_ALIAS = 'alias';
  21. protected $id;
  22. protected $name;
  23. protected $attrs;
  24. /**
  25. * @return mixed
  26. */
  27. public function getName()
  28. {
  29. return $this->name;
  30. }
  31. /**
  32. * @param mixed $name
  33. */
  34. public function setName($name)
  35. {
  36. $this->name = $name;
  37. }
  38. /**
  39. * @return mixed
  40. */
  41. public function getAttrs()
  42. {
  43. return $this->attrs;
  44. }
  45. /**
  46. * @param mixed $attrs
  47. */
  48. public function setAttrs($attrs)
  49. {
  50. $this->attrs = $attrs;
  51. }
  52. /**
  53. * @param $key
  54. * @param null $value
  55. */
  56. public function setAttr($key, $value = null)
  57. {
  58. $this->attrs[$key] = $value;
  59. }
  60. /**
  61. * @param $key
  62. * @return mixed
  63. */
  64. public function getAttr($key)
  65. {
  66. return $this->attrs[$key];
  67. }
  68. /**
  69. * @return mixed
  70. */
  71. public function getId()
  72. {
  73. return $this->id;
  74. }
  75. /**
  76. * @param mixed $id
  77. */
  78. public function setId($id)
  79. {
  80. $this->id = $id;
  81. }
  82. /**
  83. * @param $attrs
  84. */
  85. public function setA($attrs)
  86. {
  87. foreach($attrs as $attr)
  88. {
  89. $this->setAttr($attr['N'], $attr['DATA']);
  90. }
  91. }
  92. /**
  93. * @return bool
  94. */
  95. public function isAlias()
  96. {
  97. $targetId = $this->getAttr(self::ATTR_ALIAS_TARGET_ID);
  98. return $targetId ? true : false;
  99. }
  100. }