function fetch_domains() { log_write("debug", "api_namedmanager", "Executing fetch_domains()"); if ($this->auth_online) { $obj_domain = new domain(); $obj_domain->load_data_all(); if ($obj_domain->data) { foreach ($obj_domain->data as $data) { // If the domain does not belong to the same group as the name server, skip it. if ($this->auth_group) { if (!in_array($this->auth_group, $data["groups"])) { continue; } } // add domain to values to be returned $return_tmp = array(); $return_tmp["id"] = $data["id"]; $return_tmp["domain_name"] = $data["domain_name"]; $return_tmp["domain_description"] = $data["domain_description"]; $return_tmp["soa_hostmaster"] = $data["soa_hostmaster"]; $return_tmp["soa_serial"] = $data["soa_serial"]; $return_tmp["soa_refresh"] = $data["soa_refresh"]; $return_tmp["soa_retry"] = $data["soa_retry"]; $return_tmp["soa_expire"] = $data["soa_expire"]; $return_tmp["soa_default_ttl"] = $data["soa_default_ttl"]; $return_tmp["soa_ns_primary"] = sql_get_singlevalue("SELECT server_name as value FROM name_servers WHERE server_primary='1' LIMIT 1"); $return[] = $return_tmp; } return $return; } return 0; } else { throw new SoapFault("Sender", "ACCESS_DENIED"); } }
function action_delete() { log_debug("name_server", "Executing action_delete()"); /* Start Transaction */ $sql_obj = new sql_query(); $sql_obj->trans_begin(); /* Delete Name Server */ $sql_obj->string = "DELETE FROM name_servers WHERE id='" . $this->id . "' LIMIT 1"; $sql_obj->execute(); $sql_obj->string = "DELETE FROM cloud_zone_map WHERE id='" . $this->id . "'"; $sql_obj->execute(); /* Un-associated any matched log entries */ $sql_obj->string = "UPDATE logs SET id_server='0' WHERE id_server='" . $this->id . "'"; $sql_obj->execute(); /* Update NS records We need to run through all the domains and update the records - if the nameserver was an automated entry for all the domains, after deleting the name server we should remove it from all the domains. */ $obj_domain = new domain(); $obj_domain->load_data_all(); foreach ($obj_domain->data as $data_domain) { $obj_domain_sub = new domain(); $obj_domain_sub->id = $data_domain["id"]; $obj_domain_sub->load_data(); $obj_domain_sub->action_update_ns(); $obj_domain_sub->action_update_serial(); } /* Commit */ if (error_check()) { $sql_obj->trans_rollback(); log_write("error", "name_server", "An error occured whilst trying to delete the name server."); return 0; } else { $sql_obj->trans_commit(); log_write("notification", "name_server", "Name server has been successfully deleted."); return 1; } }