/** Add Supermaster * * Add a trusted supermaster to the global supermasters table * * @param string $master_ip Supermaster IP address * @param string $ns_name Hostname of supermasterfound in NS records for domain * @param string $account Account name used for tracking * * @return boolean true on success */ function add_supermaster($master_ip, $ns_name, $account) { global $db; if (!is_valid_ipv4($master_ip) && !is_valid_ipv6($master_ip)) { error(ERR_DNS_IP); return false; } if (!is_valid_hostname_fqdn($ns_name, 0)) { error(ERR_DNS_HOSTNAME); return false; } if (!validate_account($account)) { error(sprintf(ERR_INV_ARGC, "add_supermaster", "given account name is invalid (alpha chars only)")); return false; } if (supermaster_ip_name_exists($master_ip, $ns_name)) { error(ERR_SM_EXISTS); return false; } else { $db->query("INSERT INTO supermasters VALUES (" . $db->quote($master_ip, 'text') . ", " . $db->quote($ns_name, 'text') . ", " . $db->quote($account, 'text') . ")"); return true; } }
} $confirm = "-1"; if (isset($_GET['confirm']) && v_num($_GET['confirm'])) { $confirm = $_GET['confirm']; } if ($master_ip == "-1" || $ns_name == "-1") { error(ERR_INV_INPUT); } else { verify_permission('supermaster_edit') ? $perm_sm_edit = "1" : ($perm_sm_edit = "0"); if ($perm_sm_edit == "0") { error(ERR_PERM_DEL_SM); } else { $info = get_supermaster_info_from_ip($master_ip); echo " <h2>" . _('Delete supermaster') . " \"" . $master_ip . "\"</h2>\n"; if (isset($_GET['confirm']) && $_GET["confirm"] == '1') { if (!supermaster_ip_name_exists($master_ip, $ns_name)) { header("Location: list_supermasters.php"); exit; } if (delete_supermaster($master_ip, $ns_name)) { success(SUC_SM_DEL); } } else { echo " <p>\n"; echo " " . _('Hostname in NS record') . ": " . $info['ns_name'] . "<br>\n"; echo " " . _('Account') . ": " . $info['account'] . "\n"; echo " </p>\n"; echo " <p>" . _('Are you sure?') . "</p>\n"; echo " <input type=\"button\" class=\"button\" OnClick=\"location.href='delete_supermaster.php?master_ip=" . $master_ip . "&ns_name=" . $info['ns_name'] . "&confirm=1'\" value=\"" . _('Yes') . "\">\n"; echo " <input type=\"button\" class=\"button\" OnClick=\"location.href='index.php'\" value=\"" . _('No') . "\">\n"; }