getName(), "name"),
);
foreach ($domain->getAttrs() as $key => $value)
{
$params[] = new SoapVar('' . $value . '', XSD_ANYXML);
}
$result = $this->connection->request("CreateDomainRequest", $params);
$this->setLastResult($result);
/**
* check data has been returned or return false
*/
if($data = $result->getResponseBody()['CREATEDOMAINRESPONSE']['DOMAIN'])
{
$domain->fill($data);
return $domain;
}
$this->setError($result->getLastError());
return false;
}
/**
* @param \ModulesGarden\Servers\ZimbraEmail\App\Libs\Zimbra\Components\Api\Soap\Models\Domain $domain
* @return \ModulesGarden\Servers\ZimbraEmail\App\Libs\Zimbra\Components\Api\Soap\Response
*/
public function update(\ModulesGarden\Servers\ZimbraEmail\App\Libs\Zimbra\Components\Api\Soap\Models\Domain $domain)
{
$params = array(
new SoapParam($domain->getId(), "id"),
);
foreach ($domain->getAttrs() as $key => $value)
{
$params[] = new SoapVar('' . $value . '', XSD_ANYXML);
}
$result = $this->connection->request("ModifyDomainRequest", $params);
$this->setLastResult($result);
if($data = $result->getResponseBody()['MODIFYDOMAINRESPONSE']['DOMAIN'])
{
$domain->fill($data);
return $domain;
}
$this->setError($result->getLastError());
return false;
}
/**
* @param \ModulesGarden\Servers\ZimbraEmail\App\Libs\Zimbra\Components\Api\Soap\Models\Domain $domain
* @return bool
*/
public function delete(\ModulesGarden\Servers\ZimbraEmail\App\Libs\Zimbra\Components\Api\Soap\Models\Domain $domain)
{
$params = array(
new SoapParam($domain->getId(), "id"),
);
$result = $this->connection->cleanResponse()->request("DeleteDomainRequest", $params);
$this->setLastResult($result);
if($result->getResponseBody()['DELETEDOMAINRESPONSE'])
{
return true;
}
$this->setError($result->getLastError());
return false;
}
/**
* @return \ModulesGarden\Servers\ZimbraEmail\App\Libs\Zimbra\Components\Api\Soap\Response
*/
public function getAll()
{
$result = $this->connection->request("GetAllDomainsRequest", []);
return $result;
}
/**
* @param \ModulesGarden\Servers\ZimbraEmail\App\Libs\Zimbra\Components\Api\Soap\Models\Domain $domain
* @return \ModulesGarden\Servers\ZimbraEmail\App\Libs\Zimbra\Components\Api\Soap\Response
*/
function getDomainId(\ModulesGarden\Servers\ZimbraEmail\App\Libs\Zimbra\Components\Api\Soap\Models\Domain $domain)
{
$params = array(
new SoapVar('' . $domain->getName() . '', XSD_ANYXML),
);
$result = $this->connection->cleanResponse()->request("GetDomainInfoRequest", $params);
$this->setLastResult($result);
return $result;
}
/**
* @param \ModulesGarden\Servers\ZimbraEmail\App\Libs\Zimbra\Components\Api\Soap\Models\Domain $domain
* @return \ModulesGarden\Servers\ZimbraEmail\App\Libs\Zimbra\Components\Api\Soap\Response
*/
function getDomain(\ModulesGarden\Servers\ZimbraEmail\App\Libs\Zimbra\Components\Api\Soap\Models\Domain $domain)
{
$params = array(
new SoapVar('' . $domain->getName() . '', XSD_ANYXML),
);
$result = $this->connection->cleanResponse()->request("GetDomainRequest", $params);
$this->setLastResult($result);
return $result;
}
/**
* @param \ModulesGarden\Servers\ZimbraEmail\App\Libs\Zimbra\Components\Api\Soap\Models\Domain $domain
* @return \ModulesGarden\Servers\ZimbraEmail\App\Libs\Zimbra\Components\Api\Soap\Response
*/
public function getDomainUsages(\ModulesGarden\Servers\ZimbraEmail\App\Libs\Zimbra\Components\Api\Soap\Models\Domain $domain)
{
$params = array(
new SoapVar('', XSD_ANYXML),
new SoapParam($domain->getName(), 'domain'),
new SoapParam("1", 'refresh')
);
$result = $this->connection->request("GetQuotaUsageRequest", $params);
$this->setLastResult($result);
return $result;
}
}