Domain.php 2.2 KB

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