mirror of
https://github.com/tuxis-ie/nsedit.git
synced 2025-04-21 20:22:33 +03:00
Merge 5657e5636c
into 0794111cda
This commit is contained in:
commit
47f2a2c710
1 changed files with 17 additions and 0 deletions
17
zones.php
17
zones.php
|
@ -388,6 +388,18 @@ function get_zone_keys($zone) {
|
|||
return $ret;
|
||||
}
|
||||
|
||||
function update_soa($zone) {
|
||||
$soa = get_records_by_name_type($zone, $zone['name'], "SOA");
|
||||
$serial = explode(" ", $soa[0]['content'])[2];
|
||||
if(date("Ymd") == substr($serial, 0, -2)) {
|
||||
$new_serial = date("Ymd").substr($serial, -2)+1;
|
||||
} else {
|
||||
$new_serial = date("Ymd")."00";
|
||||
}
|
||||
$soa[0]['content'] = str_replace($serial, $new_serial, $soa[0]['content']);
|
||||
update_records($zone, $soa[0], $soa);
|
||||
}
|
||||
|
||||
function check_owner($zone) {
|
||||
return is_adminuser() or ($zone['owner'] === get_sess_user());
|
||||
}
|
||||
|
@ -556,6 +568,7 @@ case "update":
|
|||
} else {
|
||||
$newZone = $zone;
|
||||
}
|
||||
update_soa($newZone);
|
||||
unset($newZone['records']);
|
||||
unset($newZone['comments']);
|
||||
|
||||
|
@ -567,6 +580,7 @@ case "delete":
|
|||
|
||||
api_request($zone['url'], array(), 'DELETE');
|
||||
delete_db_zone($zone['name']);
|
||||
update_soa($zone);
|
||||
jtable_respond(null, 'delete');
|
||||
break;
|
||||
|
||||
|
@ -586,6 +600,7 @@ case "listrecords":
|
|||
case "createrecord":
|
||||
$zone = get_zone_by_url(isset($_GET['zoneurl']) ? $_GET['zoneurl'] : '');
|
||||
$record = create_record($zone, $_POST);
|
||||
update_soa($zone);
|
||||
|
||||
$record['id'] = json_encode($record);
|
||||
jtable_respond($record, 'single');
|
||||
|
@ -609,6 +624,7 @@ case "editrecord":
|
|||
array_push($records, $record);
|
||||
update_records($zone, $record, $records);
|
||||
}
|
||||
update_soa($zone);
|
||||
|
||||
$record['id'] = json_encode($record);
|
||||
jtable_respond($record, 'single');
|
||||
|
@ -621,6 +637,7 @@ case "deleterecord":
|
|||
$records = get_records_except($zone, $old_record);
|
||||
|
||||
update_records($zone, $old_record, $records);
|
||||
update_soa($zone);
|
||||
jtable_respond(null, 'delete');
|
||||
break;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue