delete_record.php
author rejo
Tue, 10 Jul 2007 21:24:06 +0000
changeset 37 b785e54690ce
parent 13 2ff220cfde13
child 47 ae140472d97c
permissions -rw-r--r--
[feladat @ 84] Bugfix. The function zone_count() now also counts zones an owner has only partial access to, not just those zones the owner has full access to. This fixes just the count, the zones a user has partial access to are not (yet!) shown in the "list zones" page. Bugfix. In the zone listing the "edit" button is now show for users with access level 1. Untill now they were presented an overview of the zones they could change, but there was no link for them to actually edit the zone. Bugfix. Some of the buttons in the "edit zone" interface that are of no use to a user with access level 1 have been hidden. Bugfix. Make sure a user with access level 1 with only partial access to a zone cannot add new records to that zone. Only the zone owner should be able to add new record. Bugfix. If a user with access level 1 edits a record in a zone he has only partial access to, an error was shown because of call to a non- existing function in the PEAR:MDB2. This bug was most likely introduced while migrating from PEAR:DB to PEAR:MDB2. Bugfix. A user with access level 1 was able to delete all records of a zone he has only partial access to. Some additional checks have been added. Bugfix. If a user with accees level 1 has partial access to one or more zones starting with a certain character, but did not own at least one entire zone starting with the same character, the character wasn't clickable in the "list zone" page. Interface. If no record or zone id is given for delete_record.php or delete_domain.php, don't just die but echo a nice message. The i18n files have not yet been updated to reflect this change. Interface. If no master IP is given in delete_supermaster.php, don't just die but echo a nice message. The i18n files have not yet been updated to reflect this change. [All fixes by Peter Beernink.]
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
     1
<?php
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
     2
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
     3
require_once("inc/toolkit.inc.php");
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
     4
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
     5
if ($_GET["id"]) {
37
b785e54690ce [feladat @ 84]
rejo
parents: 13
diff changeset
     6
	// check if we have access to the given id
b785e54690ce [feladat @ 84]
rejo
parents: 13
diff changeset
     7
	$zoneId = recid_to_domid($_GET['id']);
b785e54690ce [feladat @ 84]
rejo
parents: 13
diff changeset
     8
	if ((!level(5)) && (!xs($zoneId))) {
b785e54690ce [feladat @ 84]
rejo
parents: 13
diff changeset
     9
    		error(ERR_RECORD_ACCESS_DENIED);
b785e54690ce [feladat @ 84]
rejo
parents: 13
diff changeset
    10
	}
b785e54690ce [feladat @ 84]
rejo
parents: 13
diff changeset
    11
	if ((!level(5)) && ($_SESSION[$zoneId.'_ispartial'] == 1)) {
b785e54690ce [feladat @ 84]
rejo
parents: 13
diff changeset
    12
		$checkPartial = $db->queryOne("SELECT id FROM record_owners WHERE record_id='".$_GET["id"]."' AND user_id='".$_SESSION["userid"]."' LIMIT 1");
b785e54690ce [feladat @ 84]
rejo
parents: 13
diff changeset
    13
		if (empty($checkPartial)) {
b785e54690ce [feladat @ 84]
rejo
parents: 13
diff changeset
    14
			error(ERR_RECORD_ACCESS_DENIED);
b785e54690ce [feladat @ 84]
rejo
parents: 13
diff changeset
    15
		}
b785e54690ce [feladat @ 84]
rejo
parents: 13
diff changeset
    16
	}
1
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    17
        if ($_GET["confirm"] == '0') {
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    18
                clean_page("edit.php?id=".$_GET["domain"]);
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    19
        } elseif ($_GET["confirm"] == '1') {
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    20
                delete_record($_GET["id"]);
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    21
                clean_page("edit.php?id=".$_GET["domain"]);
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    22
        }
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    23
        include_once("inc/header.inc.php");
13
2ff220cfde13 [feladat @ 60]
rejo
parents: 2
diff changeset
    24
        ?>
2ff220cfde13 [feladat @ 60]
rejo
parents: 2
diff changeset
    25
	
2ff220cfde13 [feladat @ 60]
rejo
parents: 2
diff changeset
    26
	<h2><? echo _('Delete record'); ?> "<?
1
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    27
        $data = get_record_from_id($_GET["id"]);
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    28
        print $data["name"]." IN ".$data["type"]." ".$data["content"];
13
2ff220cfde13 [feladat @ 60]
rejo
parents: 2
diff changeset
    29
        ?>"</h2><?
1
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    30
        if (($data["type"] == "NS" && $data["name"] == get_domain_name_from_id($_GET["domain"])) || $data["type"] == "SOA") {
13
2ff220cfde13 [feladat @ 60]
rejo
parents: 2
diff changeset
    31
                print "<font class=\"warning\">" . _('You are trying to delete a record that is needed for this zone to work.') . "</font><br>";
1
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    32
        }
13
2ff220cfde13 [feladat @ 60]
rejo
parents: 2
diff changeset
    33
        ?><br><font class="warning"><? echo _('Are you sure?'); ?></font><br><br>
2ff220cfde13 [feladat @ 60]
rejo
parents: 2
diff changeset
    34
        <input type="button" class="button" OnClick="location.href='<? echo $_SERVER["REQUEST_URI"] ?>&confirm=1'" value="<? echo _('Yes'); ?>"> 
2ff220cfde13 [feladat @ 60]
rejo
parents: 2
diff changeset
    35
	<input type="button" class="button" OnClick="location.href='<? echo $_SERVER["REQUEST_URI"] ?>&confirm=0'" value="<? echo _('No'); ?>">
1
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    36
        <?
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    37
} else {
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    38
        include_once("inc/header.inc.php");
37
b785e54690ce [feladat @ 84]
rejo
parents: 13
diff changeset
    39
        echo _("Nothing to do!");
1
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    40
}
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    41
include_once("inc/footer.inc.php");