function __construct(DomainLibrary $domainLibrary)
 {
     parent::__construct('mail_domain_library');
     $l = $domainLibrary->listDomains();
     $this->setVariable('domains', array_combine(array_map(function (Domain $k) {
         return $k->getDomainName();
     }, $l), $l));
 }
 function __construct(AddressLibrary $addressLibrary)
 {
     parent::__construct('mail_address_library');
     $l = $addressLibrary->listAddresses();
     $this->setVariable('addresses', array_combine(array_map(function (Address $k) {
         return $k->getLocalPart();
     }, $l), $l));
     $this->setVariable('catchall', $addressLibrary->hasCatchallAddress() ? $addressLibrary->getCatchallAddress() : null);
 }
 function __construct(Address $address)
 {
     parent::__construct('mail_address');
     $this->setVariable('local_part', $address->getLocalPart());
     $this->setVariable('active', $address->isActive());
     $this->setVariable('last_modified', $address->lastModified());
     $this->setVariable('targets', $address->getTargets());
     $this->setVariable('mailbox', $address->getMailbox());
     $this->setVariable('owners', $address->listOwners(false));
 }
 function __construct(Domain $domainLibrary)
 {
     parent::__construct('mail_domain');
     $this->setVariable('domain_name', $domainLibrary->getDomainName());
     $this->setVariable('description', $domainLibrary->getDescription());
     $this->setVariable('last_modified', $domainLibrary->lastModified());
     $this->setVariable('address_library', $domainLibrary->getAddressLibrary());
     $this->setVariable('alias_target', $domainLibrary->isAliasDomain() ? $domainLibrary->getAliasTarget()->getDomainName() : null);
     $this->setVariable('active', $domainLibrary->isActive());
 }
 function __construct(Mailbox $mailbox)
 {
     parent::__construct('mail_mailbox');
     $this->setVariable('name', $mailbox->getName());
     $this->setVariable('last_modified', $mailbox->lastModified());
 }