Merge pull request #30 from tuxis-ie/fix-issue15

Get the nameservers from the template, if any. If we don't have nameserv...
This commit is contained in:
Tuxis Internet Engineering V.O.F. 2015-02-24 11:17:39 +01:00
commit 950a233e85
2 changed files with 56 additions and 2 deletions

View file

@ -436,7 +436,23 @@ $(document).ready(function () {
create: true,
list: 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'
},
nameserver2: {
@ -444,7 +460,23 @@ $(document).ready(function () {
create: true,
list: 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'
},
serial: {

View file

@ -498,6 +498,9 @@ case "create":
if ($template['name'] !== $_POST['template']) continue;
foreach ($template['records'] as $record) {
if ($record['type'] == 'NS' and array_search($record['content'], $nameservers) !== FALSE) {
continue;
}
if (isset($record['label'])) {
$record['name'] = $record['label'];
unset($record['label']);
@ -628,6 +631,25 @@ case "export":
jtable_respond($export, 'single');
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:
jtable_respond(null, 'error', 'No such action');
break;