getName(), "name"), new SoapParam($ressource->getPassword(), "password"), ]; /** * add ressource params */ foreach ($ressource->getAttrs() as $key => $value) { $params[] = new SoapVar('' . $value . '', XSD_ANYXML); } /** * run request */ $result = $this->connection->request("CreateCalendarResourceRequest", $params); $this->setLastResult($result); /** * load response to model */ if($ressourceData = $result->getResponseBody()['CREATECALENDARRESOURCERESPONSE']['CALRESOURCE']) { $ressource->fill($ressourceData); return $ressource; } $this->setError($result->getLastError()); return false; } /** * @param \ThurData\Servers\KerioEmail\App\Libs\Kerio\Components\Api\Soap\Models\Ressource $ressource * @return bool|\ThurData\Servers\KerioEmail\App\Libs\Kerio\Components\Api\Soap\Models\Ressource */ public function update(\ThurData\Servers\KerioEmail\App\Libs\Kerio\Components\Api\Soap\Models\Ressource $ressource) { $params = [ new SoapParam($ressource->getId(), "id"), ]; /** * add ressource params */ foreach ($ressource->getAttrs() as $key => $value) { $params[] = new SoapVar('' . $value . '', XSD_ANYXML); } $result = $this->connection->request("ModifyCalendarResourceRequest", $params); $this->setLastResult($result); if($ressourceData = $result->getResponseBody()['MODIFYCALENDARRESOURCERESPONSE']['CALRESOURCE']) { $ressource->fill($ressourceData); return $ressource; } $this->setError($result->getLastError()); return false; } public function setPassword(\ThurData\Servers\KerioEmail\App\Libs\Kerio\Components\Api\Soap\Models\Ressource $ressource) { $params = [ new SoapParam($ressource->getId(), "id"), new SoapParam($ressource->getPassword(), "newPassword"), ]; $result = $this->connection->request("SetPasswordRequest", $params); $this->setLastResult($result); if($result->getLastError()) { $this->setError($result->getLastError()); return false; } return true; } /** * @param \ThurData\Servers\KerioEmail\App\Libs\Kerio\Components\Api\Soap\Models\Ressource $ressource * @return bool */ public function delete(\ThurData\Servers\KerioEmail\App\Libs\Kerio\Components\Api\Soap\Models\Ressource $ressource) { $params = [ new SoapParam($ressource->getId(), "id"), ]; $result = $this->connection->request("DeleteCalendarResourceRequest", $params); $this->setLastResult($result); if($result->getLastError()) { $this->setError($result->getLastError()); return false; } return true; } /** * @param $name * @return \ThurData\Servers\KerioEmail\App\Libs\Kerio\Components\Api\Soap\Response */ public function getRessourceId($name) { $params = [ new SoapVar('' . $name . '', XSD_ANYXML), ]; return $this->connection->cleanResponse()->request("GetCalendarResourceRequest", $params); } /** * @param \ThurData\Servers\KerioEmail\App\Libs\Kerio\Components\Api\Soap\Models\Ressource $ressource * @return \ThurData\Servers\KerioEmail\App\Libs\Kerio\Components\Api\Soap\Response */ public function getRessourceInfo(\ThurData\Servers\KerioEmail\App\Libs\Kerio\Components\Api\Soap\Models\Ressource $ressource) { if($value = $ressource->getId()) { $type = 'id'; }elseif($value =$ressource->getName()) { $type = 'name'; } $result = null; $params = [ new SoapVar('' . $value . '', XSD_ANYXML), ]; return $this->connection->request("GetCalendarResourceRequest", $params); } /** * @param \ThurData\Servers\KerioEmail\App\Libs\Kerio\Components\Api\Soap\Models\Ressource $ressource * @return \ThurData\Servers\KerioEmail\App\Libs\Kerio\Components\Api\Soap\Response */ public function getRessourceOptions(\ThurData\Servers\KerioEmail\App\Libs\Kerio\Components\Api\Soap\Models\Ressource $ressource) { if($value = $ressource->getId()) { $type = 'id'; }elseif($value =$ressource->getName()) { $type = 'name'; } $params = [ new SoapVar('' . $value . '', XSD_ANYXML), ]; return $this->connection ->cleanResponse() ->request("GetCalendarResourceRequest", $params); } /** * @param \ThurData\Servers\KerioEmail\App\Libs\Kerio\Components\Api\Soap\Models\Domain $domain * @return \ThurData\Servers\KerioEmail\App\Libs\Kerio\Components\Api\Soap\Response */ public function getAllByDomain(\ThurData\Servers\KerioEmail\App\Libs\Kerio\Components\Api\Soap\Models\Domain $domain) { if($value = $domain->getId()) { $type = 'id'; }elseif($value =$domain->getName()) { $type = 'name'; } $params = [ new SoapVar('' . $value . '', XSD_ANYXML), ]; $result = $this->connection->request("GetAllCalendarResourcesRequest", $params); return $result; } public function getAllRessources($idOrNameDomain, $type = "auto") { if ($type == "auto") { //$realType = getDomainType($idOrNameDomain); } else { $realType = $type; } $result = null; $params = [ new SoapVar('' . $idOrNameDomain . '', XSD_ANYXML), ]; return $this->connection->request("GetAllCalendarResourcesRequest", $params); } }