mirror of
https://github.com/tuxis-ie/nsedit.git
synced 2025-04-19 20:09:14 +03:00
Get the nameservers from the template, if any. If we don't have nameservers in the template use the default nameservers.
Also, when appying the template, skip adding records for nameservers that we already added. This fixes and closes issue #15
This commit is contained in:
parent
6f3c5f8a20
commit
22ae1adf17
2 changed files with 56 additions and 2 deletions
36
index.php
36
index.php
|
@ -436,7 +436,23 @@ $(document).ready(function () {
|
||||||
create: true,
|
create: true,
|
||||||
list: false,
|
list: false,
|
||||||
edit: false,
|
edit: false,
|
||||||
defaultValue: '<?php echo $defaults['primaryns']; ?>',
|
input: function(data) {
|
||||||
|
var $template = data.form.find('#Edit-template');
|
||||||
|
var $elem = $('<input type="text" name="nameserver1" />');
|
||||||
|
$elem.val(<?php echo "'".$defaults['primaryns']."'"; ?>);
|
||||||
|
$template.change(function() {
|
||||||
|
$.get('zones.php?action=gettemplatenameservers&template='+$template.val()+'&prisec=pri', function(getdata) {
|
||||||
|
if (getdata != "") {
|
||||||
|
$elem.val(getdata);
|
||||||
|
$elem.attr('readonly', true);
|
||||||
|
} else {
|
||||||
|
$elem.val(<?php echo "'".$defaults['primaryns']."'"; ?>);
|
||||||
|
$elem.attr('readonly', false);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
return $elem;
|
||||||
|
},
|
||||||
inputClass: 'nameserver nameserver1'
|
inputClass: 'nameserver nameserver1'
|
||||||
},
|
},
|
||||||
nameserver2: {
|
nameserver2: {
|
||||||
|
@ -444,7 +460,23 @@ $(document).ready(function () {
|
||||||
create: true,
|
create: true,
|
||||||
list: false,
|
list: false,
|
||||||
edit: false,
|
edit: false,
|
||||||
defaultValue: '<?php echo $defaults['secondaryns']; ?>',
|
input: function(data) {
|
||||||
|
var $template = data.form.find('#Edit-template');
|
||||||
|
var $elem = $('<input type="text" name="nameserver2" />');
|
||||||
|
$elem.val(<?php echo "'".$defaults['secondaryns']."'"; ?>);
|
||||||
|
$template.change(function() {
|
||||||
|
$.get('zones.php?action=gettemplatenameservers&template='+$template+'&prisec=sec', function(getdata) {
|
||||||
|
if (getdata != "") {
|
||||||
|
$elem.val(getdata);
|
||||||
|
$elem.attr('readonly', true);
|
||||||
|
} else {
|
||||||
|
$elem.val(<?php echo "'".$defaults['secondaryns']."'"; ?>);
|
||||||
|
$elem.attr('readonly', false);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
return $elem;
|
||||||
|
},
|
||||||
inputClass: 'nameserver nameserver2'
|
inputClass: 'nameserver nameserver2'
|
||||||
},
|
},
|
||||||
serial: {
|
serial: {
|
||||||
|
|
22
zones.php
22
zones.php
|
@ -498,6 +498,9 @@ case "create":
|
||||||
if ($template['name'] !== $_POST['template']) continue;
|
if ($template['name'] !== $_POST['template']) continue;
|
||||||
|
|
||||||
foreach ($template['records'] as $record) {
|
foreach ($template['records'] as $record) {
|
||||||
|
if ($record['type'] == 'NS' and array_search($record['content'], $nameservers) !== FALSE) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (isset($record['label'])) {
|
if (isset($record['label'])) {
|
||||||
$record['name'] = $record['label'];
|
$record['name'] = $record['label'];
|
||||||
unset($record['label']);
|
unset($record['label']);
|
||||||
|
@ -628,6 +631,25 @@ case "export":
|
||||||
jtable_respond($export, 'single');
|
jtable_respond($export, 'single');
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case "gettemplatenameservers":
|
||||||
|
$ret = array();
|
||||||
|
$type = $_GET['prisec'];
|
||||||
|
|
||||||
|
foreach (user_template_list() as $template) {
|
||||||
|
if ($template['name'] !== $_GET['template']) continue;
|
||||||
|
$rc = 0;
|
||||||
|
foreach ($template['records'] as $record) {
|
||||||
|
if ($record['type'] == "NS") {
|
||||||
|
if (($type == 'pri' && $rc == 0) or ($type == 'sec' && $rc == 1)) {
|
||||||
|
echo $record['content'];
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
$rc++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
echo "";
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
jtable_respond(null, 'error', 'No such action');
|
jtable_respond(null, 'error', 'No such action');
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Add table
Reference in a new issue