/** * Delete an existing Arpa record. * * ### Response: ### * * ~~~ * true * ~~~ * * ### Errors: ### * * * 508 - Invalid request, missing required parameters or input validation failed. * * 500 - Failed to connect to database or query execution error. * * 404 - Could not find Arpa zone. * * @access public * @param mixed $request Request parameters * @param string $identifier IP address * @return Response True if zone was deleted, error message otherwise. */ public function delete($request, $identifier = null) { $response = new FormattedResponse($request); if (empty($identifier)) { $response->code = Response::BADREQUEST; $response->error = "Identifier was missing or invalid."; $response->error_detail = "BODY_MALFORMED"; return $response; } $validator = new ArpaValidator(); $validator->identifier = $identifier; if (!$validator->validates()) { $response->code = Response::BADREQUEST; $response->error = $validator->getFormattedErrors(); $response->error_detail = $validator->getErrorDetails(); return $response; } return ArpaFunctions::delete_arpa($response, $identifier); }
public function delete_arpa($response, $identifier, &$out = null) { ArpaFunctions::get_arpa($response, $identifier, $o, true); if (empty($o)) { $out = false; return $response; } $record = new stdClass(); $record->name = $o['name']; $record->type = "PTR"; $record->content = $o['reverse_dns']; $record->priority = $o['priority']; $req = new stdClass(); $req->records = array($record); $response = ZoneFunctions::delete_records($response, $o['arpa_zone'], $req, $o); if (empty($o)) { $out = false; return $response; } $response->code = Response::OK; $response->body = true; $response->log_message = sprintf("Deleted Arpa record for IP %s", $identifier); $out = true; return $response; }