/** Change Slave Zone's Master IP Address * * @param int $zone_id Zone ID * @param string $ip_slave_master Master IP Address * * @return null */ function change_zone_slave_master($zone_id, $ip_slave_master) { global $db; if (is_numeric($zone_id)) { if (are_multipe_valid_ips($ip_slave_master)) { $result = $db->query("UPDATE domains SET master = " . $db->quote($ip_slave_master, 'text') . " WHERE id = " . $db->quote($zone_id, 'integer')); } else { error(sprintf(ERR_INV_ARGC, "change_domain_ip_slave_master", "This is not a valid IPv4 or IPv6 address: {$ip_slave_master}")); } } else { error(sprintf(ERR_INV_ARG, "change_domain_type", "no or no valid zoneid given")); } }
$master = $_POST['slave_master']; } $type = "SLAVE"; /* Check permissions */ do_hook('verify_permission', 'zone_slave_add') ? $zone_slave_add = "1" : ($zone_slave_add = "0"); do_hook('verify_permission', 'user_view_others') ? $perm_view_others = "1" : ($perm_view_others = "0"); if (isset($_POST['submit']) && $zone_slave_add == "1") { if (!is_valid_hostname_fqdn($zone, 0)) { error(ERR_DNS_HOSTNAME); } elseif ($dns_third_level_check && get_domain_level($zone) > 2 && domain_exists(get_second_level_domain($zone))) { error(ERR_DOMAIN_EXISTS); } elseif (domain_exists($zone) || record_name_exists($zone)) { error(ERR_DOMAIN_EXISTS); } elseif (!are_multipe_valid_ips($master)) { error(ERR_DNS_IP); } else { if (add_domain($zone, $owner, $type, $master, 'none')) { success("<a href=\"edit.php?id=" . get_zone_id_from_name($zone) . "\">" . SUC_ZONE_ADD . '</a>'); log_info(sprintf('client_ip:%s user:%s operation:add_zone zone:%s zone_type:SLAVE zone_master:%s', $_SERVER['REMOTE_ADDR'], $_SESSION["userlogin"], $zone, $master)); unset($zone, $owner, $webip, $mailip, $empty, $type, $master); } } } if ($zone_slave_add != "1") { error(ERR_PERM_ADD_ZONE_SLAVE); } else { echo " <h2>" . _('Add slave zone') . "</h2>\n"; $users = do_hook('show_users'); echo " <form method=\"post\" action=\"add_zone_slave.php\">\n";