for more details. * * Copyright 2007-2010 Rejo Zenger * Copyright 2010-2017 Poweradmin Development Team * * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ /** * Script that handles requests to add new master zones * * @package Poweradmin * @copyright 2007-2010 Rejo Zenger * @copyright 2010-2017 Poweradmin Development Team * @license http://opensource.org/licenses/GPL-3.0 GPL */ require_once("inc/toolkit.inc.php"); include_once("inc/header.inc.php"); echo " "; global $pdnssec_use; global $dns_third_level_check; $owner = "-1"; if ((isset($_POST['owner'])) && (v_num($_POST['owner']))) { $owner = $_POST['owner']; } $dom_type = "NATIVE"; if (isset($_POST["dom_type"]) && (in_array($_POST['dom_type'], $server_types))) { $dom_type = $_POST["dom_type"]; } if (isset($_POST['domain'])) { $temp = array(); foreach ($_POST['domain'] as $domain) { if ($domain != "") { $temp[] = trim($domain); } } $domains = $temp; } else { $domains = array(); } if (isset($_POST['zone_template'])) { $zone_template = $_POST['zone_template']; } else { $zone_template = "none"; } $enable_dnssec = false; if (isset($_POST['dnssec']) && $_POST['dnssec'] == '1') { $enable_dnssec = true; } /* Check user permissions */ (do_hook('verify_permission' , 'zone_master_add' )) ? $zone_master_add = "1" : $zone_master_add = "0"; (do_hook('verify_permission' , 'user_view_others' )) ? $perm_view_others = "1" : $perm_view_others = "0"; if (isset($_POST['submit']) && $zone_master_add == "1") { $error = false; foreach ($domains as $domain) { if (!is_valid_hostname_fqdn($domain, 0)) { error($domain . ' failed - ' . ERR_DNS_HOSTNAME); } elseif ($dns_third_level_check && get_domain_level($domain) > 2 && domain_exists(get_second_level_domain($domain))) { error($domain . ' failed - ' . ERR_DOMAIN_EXISTS); $error = true; } elseif (domain_exists($domain) || record_name_exists($domain)) { error($domain . ' failed - ' . ERR_DOMAIN_EXISTS); // TODO: repopulate domain name(s) to the form if there was an error occured $error = true; } elseif (add_domain($domain, $owner, $dom_type, '', $zone_template)) { $domain_id = get_zone_id_from_name($domain); success("" . $domain . " - " . SUC_ZONE_ADD . ''); log_info(sprintf('client_ip:%s user:%s operation:add_zone zone:%s zone_type:%s zone_template:%s', $_SERVER['REMOTE_ADDR'], $_SESSION["userlogin"], $domain,$dom_type,$zone_template)); if ($pdnssec_use) { if ($enable_dnssec) { dnssec_secure_zone($domain); } dnssec_rectify_zone($domain_id); } } } if (false === $error) { unset($domains, $owner, $dom_type, $zone_template); } } if ($zone_master_add != "1") { error(ERR_PERM_ADD_ZONE_MASTER); } else { echo "

" . _('Add master zone') . "

\n"; $available_zone_types = array("MASTER", "NATIVE"); $users = do_hook('show_users'); $zone_templates = get_list_zone_templ($_SESSION['userid']); echo "
\n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo "
" . _('Zone name') . ":\n"; echo "
    \n"; echo "
  • \n"; echo " \n"; echo "
\n"; echo " \n"; echo "
" . _('Owner') . ":\n"; echo " \n"; echo "  
" . _('Type') . ":\n"; echo " \n"; echo "  
" . _('Template') . ":\n"; echo " \n"; echo "  
" . _('DNSSEC') . ":
 \n"; echo " \n"; echo "  
\n"; echo "
\n"; } include_once("inc/footer.inc.php");