Domain.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  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 TYPE_ALIAS = 'alias';
  20. protected $id;
  21. protected $name;
  22. protected $attrs;
  23. /**
  24. * @return mixed
  25. */
  26. public function getName()
  27. {
  28. return $this->name;
  29. }
  30. /**
  31. * @param mixed $name
  32. */
  33. public function setName($name)
  34. {
  35. $this->name = $name;
  36. }
  37. /**
  38. * @return mixed
  39. */
  40. public function getAttrs()
  41. {
  42. return $this->attrs;
  43. }
  44. /**
  45. * @param mixed $attrs
  46. */
  47. public function setAttrs($attrs)
  48. {
  49. $this->attrs = $attrs;
  50. }
  51. /**
  52. * @param $key
  53. * @param null $value
  54. */
  55. public function setAttr($key, $value = null)
  56. {
  57. $this->attrs[$key] = $value;
  58. }
  59. /**
  60. * @param $key
  61. * @return mixed
  62. */
  63. public function getAttr($key)
  64. {
  65. return $this->attrs[$key];
  66. }
  67. /**
  68. * @return mixed
  69. */
  70. public function getId()
  71. {
  72. return $this->id;
  73. }
  74. /**
  75. * @param mixed $id
  76. */
  77. public function setId($id)
  78. {
  79. $this->id = $id;
  80. }
  81. /**
  82. * @param $attrs
  83. */
  84. public function setA($attrs)
  85. {
  86. foreach($attrs as $attr)
  87. {
  88. $this->setAttr($attr['N'], $attr['DATA']);
  89. }
  90. }
  91. /**
  92. * @return bool
  93. */
  94. public function isAlias()
  95. {
  96. $targetId = $this->getAttr(self::ATTR_ALIAS_TARGET_ID);
  97. return $targetId ? true : false;
  98. }
  99. }