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 record deletions from 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"); global $pdnssec_use; $record_id = "-1"; if (isset($_GET['id']) && v_num($_GET['id'])) { $record_id = $_GET['id']; } $confirm = "-1"; if (isset($_GET['confirm']) && v_num($_GET['confirm'])) { $confirm = $_GET['confirm']; } if (do_hook('verify_permission', 'zone_content_edit_others')) { $perm_content_edit = "all"; } elseif (do_hook('verify_permission', 'zone_content_edit_own')) { $perm_content_edit = "own"; } elseif (do_hook('verify_permission', 'zone_content_edit_own_as_client')) { $perm_content_edit = "own_as_client"; } else { $perm_content_edit = "none"; } $zid = get_zone_id_from_record_id($_GET['id']); if ($zid == NULL) { header("Location: list_zones.php"); exit; } $user_is_zone_owner = do_hook('verify_user_is_owner_zoneid' , $zid ); $zone_info = get_zone_info_from_id($zid); if ($record_id == "-1") { error(ERR_INV_INPUT); } else { if ($confirm == '1') { $record_info = get_record_from_id($record_id); if (delete_record($record_id)) { success("" . SUC_RECORD_DEL . ""); if (isset($record_info['prio'])) { log_info(sprintf('client_ip:%s user:%s operation:delete_record record_type:%s record:%s content:%s ttl:%s priority:%s', $_SERVER['REMOTE_ADDR'], $_SESSION["userlogin"], $record_info['type'], $record_info['name'], $record_info['content'], $record_info['ttl'], $record_info['prio'] )); } else { log_info(sprintf('client_ip:%s user:%s operation:delete_record record_type:%s record:%s content:%s ttl:%s', $_SERVER['REMOTE_ADDR'], $_SESSION["userlogin"], $record_info['type'], $record_info['name'], $record_info['content'], $record_info['ttl'] )); } delete_record_zone_templ($record_id); // update serial after record deletion update_soa_serial($zid); if ($pdnssec_use) { // do also rectify-zone if (dnssec_rectify_zone($zid)) { success(SUC_EXEC_PDNSSEC_RECTIFY_ZONE); } } } } else { $zone_id = recid_to_domid($record_id); $zone_name = get_zone_name_from_id($zone_id); $user_is_zone_owner = do_hook('verify_user_is_owner_zoneid' , $zone_id ); $record_info = get_record_from_id($record_id); echo "

" . _('Delete record in zone') . " \"" . $zone_name . "\"

\n"; if ($zone_info['type'] == "SLAVE" || $perm_content_edit == "none" || ($perm_content_edit == "own" || $perm_content_edit == "own_as_client") && $user_is_zone_owner == "0") { error(ERR_PERM_EDIT_RECORD); } else { echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; if (isset($record_info['prio'])) { echo " \n"; } echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; if (isset($record_info['prio'])) { echo " \n"; } echo " \n"; echo " \n"; echo "
NameTypeContentPriorityTTL
" . $record_info['name'] . "" . $record_info['type'] . "" . $record_info['content'] . "" . $record_info['prio'] . "" . $record_info['ttl'] . "
\n"; if (($record_info['type'] == 'NS' && $record_info['name'] == $zone_name) || $record_info['type'] == 'SOA') { echo "

" . _('You are trying to delete a record that is needed for this zone to work.') . "

\n"; } echo "

" . _('Are you sure?') . "

\n"; echo " \n"; echo " \n"; } } } include_once("inc/footer.inc.php");