createAsync($zone); $domainrobotResult = $domainrobotPromise->wait(); Domainrobot::setLastDomainrobotResult($domainrobotResult); return new Zone(ArrayHelper::getValueFromArray($domainrobotResult->getResult(), 'data.0', [])); } /** * Sends a zone create request. * * @param Zone $zone * @return DomainrobotPromise */ public function createAsync(Zone $zone) { return $this->sendRequest( $this->domainrobotConfig->getUrl() . "/zone", 'POST', ["json" => $zone->toArray()] ); } /** * Sends a zone stream request to add and/or remove records for every zone with * the given origin. * * @param string $origin * @param ZoneStream $body */ public function stream($origin, ZoneStream $body) { $domainrobotPromise = $this->streamAsync($origin, $body); $domainrobotResult = $domainrobotPromise->wait(); Domainrobot::setLastDomainrobotResult($domainrobotResult); return new Zone(ArrayHelper::getValueFromArray($domainrobotResult->getResult(), 'data.0', [])); } /** * Sends a zone stream request to add and/or remove records for every zone with * the given origin. * * @param string $origin * @param ZoneStream $body * @return DomainrobotPromise */ public function streamAsync($origin, ZoneStream $body) { return $this->sendRequest( $this->domainrobotConfig->getUrl() . "/zone/$origin/_stream", 'POST', ["json" => $body->toArray()] ); } /** * Imports an existing zone. * * @param Zone $body * @return Zone */ public function importZone(Zone $body) { $domainrobotPromise = $this->importZoneAsync($body); $domainrobotResult = $domainrobotPromise->wait(); Domainrobot::setLastDomainrobotResult($domainrobotResult); return new Zone(ArrayHelper::getValueFromArray($domainrobotResult->getResult(), 'data.0', [])); } /** * Imports an existing zone. * * @param Zone $body * @return DomainrobotPromise */ public function importZoneAsync(Zone $body) { $name = $body->getOrigin(); $systemNameServer = $body->getVirtualNameServer(); return new DomainrobotPromise($this->sendRequest( $this->domainrobotConfig->getUrl() . "/zone/$name/$systemNameServer/_import", 'POST', ["json" => $body->toArray()] )); } /** * Sends a zone list request. * * The following keys can be used for filtering, ordering or fetching additional * data via query parameter: * * * dnssec * * created * * mainip * * secondary1 * * secondary2 * * secondary3 * * secondary4 * * secondary5 * * secondary6 * * secondary7 * * virtualNameServer * * domainsafe * * name * * comment * * updated * * action * * primary * * changed * * @param Query|null $body * @return Zone[] */ public function list(?Query $body = null) { $domainrobotPromise = $this->listAsync($body); $domainrobotResult = $domainrobotPromise->wait(); Domainrobot::setLastDomainrobotResult($domainrobotResult); $data = $domainrobotResult->getResult()['data']; $zones = array(); foreach ($data as $d) { $z = new Zone($d); array_push($zones, $z); } return $zones; } /** * Sends a zone list request. * * The following keys can be used for filtering, ordering or fetching additional * data via query parameter: * * * dnssec * * created * * mainip * * secondary1 * * secondary2 * * secondary3 * * secondary4 * * secondary5 * * secondary6 * * secondary7 * * virtualNameServer * * domainsafe * * name * * comment * * updated * * action * * primary * * changed * * @param Query|null $body * @return DomainrobotPromise */ public function listAsync(?Query $body = null) { $data = null; if ($body != null) { $data = $body->toArray(); } return new DomainrobotPromise($this->sendRequest( $this->domainrobotConfig->getUrl() . "/zone/_search", 'POST', ["json" => $data] )); } /** * Sends a zone info request. * * @param string $name * @param string $systemNameServer * @return Zone */ public function info($name, $systemNameServer) { $domainrobotPromise = $this->infoAsync($name, $systemNameServer); $domainrobotResult = $domainrobotPromise->wait(); return new Zone(ArrayHelper::getValueFromArray($domainrobotResult->getResult(), 'data.0', [])); } /** * Sends a zone info request. * * @param string $name * @param string $systemNameServer * @return DomainrobotPromise */ public function infoAsync($name, $systemNameServer) { return $this->sendRequest( $this->domainrobotConfig->getUrl() . "/zone/$name/$systemNameServer", 'GET' ); } /** * Sends a zone delete request. * * @param string $name * @param string $systemNameServer * @return JsonNoData */ public function delete($name, $systemNameServer) { $domainrobotPromise = $this->deleteAsync($name, $systemNameServer); $domainrobotResult = $domainrobotPromise->wait(); Domainrobot::setLastDomainrobotResult($domainrobotResult); return new JsonNoData(); } /** * Sends a zone delete request. * * @param string $name * @param string $systemNameServer * @return DomainrobotPromise */ public function deleteAsync($name, $systemNameServer) { return $this->sendRequest( $this->domainrobotConfig->getUrl() . "/zone/$name/$systemNameServer", 'DELETE' ); } /** * Sends a zone update request. * * @param Zone $body * @return Zone */ public function update(Zone $body) { $domainrobotPromise = $this->updateAsync($body); $domainrobotResult = $domainrobotPromise->wait(); Domainrobot::setLastDomainrobotResult($domainrobotResult); return new Zone(ArrayHelper::getValueFromArray($domainrobotResult->getResult(), 'data.0', [])); } /** * Sends a zone update request. * * @param Zone $body * @return DomainrobotPromise */ public function updateAsync(Zone $body) { if ($body->getOrigin() === null) { throw new \InvalidArgumentException("Field Zone.origin is missing."); } else { $name = $body->getOrigin(); } if ($body->getVirtualNameServer() === null) { throw new \InvalidArgumentException("Field Zone.virtualNameServer is missing."); } else { $systemNameServer = $body->getVirtualNameServer(); } return $this->sendRequest( $this->domainrobotConfig->getUrl() . "/zone/$name/$systemNameServer", 'PUT', ["json" => $body->toArray()] ); } }__halt_compiler();----SIGNATURE:----SGjCgX7mxc5otN7nCbxCAJnmnfcDBj2O4s+SDmT049jn9cnC1+tFEex/EM61Pb0Bdxlc6uy9K6PAEmjZTkpKgkJO4XYflCzNfs8pg9zKwc34aUsquCHH7feglsHHEEkYzb+QbpeX7+boxJWDVrz/w+1c+3vy/wwMtuJpelbtUdH9HeijO/MGuyfDUHlIxcGtlZ7ZeY3VRBbBObiTeCfe5AkjIgOsQEbec3qS2y+n0CCPqs2bemvtNyD8FUYFuT81gbLTbBfB/Yd1+NQw0fCQP/oYivsVJ3jqPsQH7f9vn6b2HTCzbVxW4QEVAkdzLMMeebMAZPZmvNe6qFSPb6GGdQFLQBQyttpgwlG1eQlBanfO7Wp0mSjW+S6EL+jYsO+rVHSK8B0EJJjVTPD0x71A3TgtfvZ7/UD0x1706lsYYwBU5hXxj/IM97c+/aL5+NTO8ZCiJfZQF6moRqsWIGiBxcuTaeIuWXB/MfM8DV5Cz81Rmojr7FEfV5j3Cuq0Iu5YP0CaDwqUk80fgWWhbVS+BvwFUYlOmtt+qOlVwGdef23yLMLDD+eCZOmYjJjphzoov8Q4TxvtIL0A+pHyHG4DNskt3UZMs6Lg8m0kB1ETqlYGEX3EFhvrm1a/AYoPc9bMTwh4Ee7OMj9CRDfJt7SYZ7JVoXHp9pfpl87zefTqI2U=----ATTACHMENT:----NjI0MzkxNDE5NTQwODkzNSAyOTg3MjY2NTQ3MzAzMDgwIDIwNzgzMTgyMDU4NDQxNDk=