We now have all functionality!

This commit is contained in:
Mark Schouten 2016-08-04 12:10:19 +02:00
parent c7b36d7d7d
commit 337d4ed363

View file

@ -452,43 +452,36 @@ case "createrecord":
break; break;
case "editrecord": case "editrecord":
$zone = get_zone_by_url(isset($_GET['zoneurl']) ? $_GET['zoneurl'] : ''); $zone = new Zone();
$zone->parse($api->loadzone($_GET['zoneid']));
$old_record = decode_record_id(isset($_POST['id']) ? $_POST['id'] : ''); $old_record = decode_record_id(isset($_POST['id']) ? $_POST['id'] : '');
$records = get_records_except($zone, $old_record); $rrset = $zone->getrrset($old_record['name'], $old_record['type']);
$rrset->deleteRecord($old_record['content']);
$zone->addrecord($_POST['name'], $_POST['type'], $_POST['content'], $_POST['disabled'], $_POST['ttl']);
$record = make_record($zone, $_POST); $api->savezone($zone->export());
if ($record['name'] !== $old_record['name'] || $record['type'] !== $old_record['type']) {
# rename or retype:
$newRecords = get_records_by_name_type($zone, $record['name'], $record['type']);
array_push($newRecords, $record);
update_records($zone, $old_record, $records); # remove from old list
update_records($zone, $record, $newRecords); # add to new list
} else {
array_push($records, $record);
update_records($zone, $record, $records);
}
$record['id'] = json_encode($record); $record['id'] = json_encode($record);
jtable_respond($record, 'single'); jtable_respond($zone->getrecord($_POST['name'], $_POST['type'], $_POST['content']), 'single');
break; break;
case "deleterecord": case "deleterecord":
$zone = get_zone_by_url(isset($_GET['zoneurl']) ? $_GET['zoneurl'] : ''); $zone = new Zone();
$zone->parse($api->loadzone($_GET['zoneid']));
$old_record = decode_record_id(isset($_POST['id']) ? $_POST['id'] : ''); $old_record = decode_record_id(isset($_POST['id']) ? $_POST['id'] : '');
$rrset = $zone->getrrset($old_record['name'], $old_record['type']);
$rrset->deleteRecord($old_record['content']);
$records = get_records_except($zone, $old_record); $api->savezone($zone->export());
update_records($zone, $old_record, $records);
jtable_respond(null, 'delete'); jtable_respond(null, 'delete');
break; break;
case "export": case "export":
$zone = $_GET['zone']; jtable_respond($api->exportzone($_GET['zoneid']), 'single');
$export = api_request("/servers/${apisid}/zones/${zone}/export");
jtable_respond($export, 'single');
break; break;
case "gettemplatenameservers": case "gettemplatenameservers":