$ifdesc) { $list[$if] = $ifdesc; } unset($iflist); $grouplist = return_gateway_groups_array(); foreach ($grouplist as $name => $group) { $list[$name] = 'GW Group ' . $name; } unset($grouplist); return($list); } $pgtitle = array(gettext("Services"), gettext("Dynamic DNS"), gettext("RFC 2136 Clients"), gettext("Edit")); include("head.inc"); if ($input_errors) { print_input_errors($input_errors); } if ($savemsg) { print_info_box($savemsg, 'success'); } $form = new Form; $section = new Form_Section('RFC 2136 Client'); $section->addInput(new Form_Checkbox( 'enable', 'Enable', null, $pconfig['enable'] )); $optionlist = array(); $iflist = build_if_list(); $section->addInput(new Form_Select( 'interface', 'Interface', $pconfig['interface'], $iflist )); $section->addInput(new Form_Input( 'host', 'Hostname', 'text', $pconfig['host'] ))->setHelp('Fully qualified hostname of the host to be updated.'); $section->addInput(new Form_Input( 'ttl', 'TTL (seconds)', 'number', $pconfig['ttl'] )); $section->addInput(new Form_Input( 'keyname', 'Key name', 'text', $pconfig['keyname'] ))->setHelp('This must match the setting on the DNS server.'); $group = new Form_Group('Key Type'); $group->add(new Form_Checkbox( 'keytype', 'Key Type', 'Zone', ($pconfig['keytype'] == 'zone'), 'zone' ))->displayAsRadio(); $group->add(new Form_Checkbox( 'keytype', 'Key Type', 'Host', ($pconfig['keytype'] == 'host'), 'host' ))->displayAsRadio(); $group->add(new Form_Checkbox( 'keytype', 'Key Type', 'User', ($pconfig['keytype'] == 'user'), 'user' ))->displayAsRadio(); $section->add($group); $section->addInput(new Form_Input( 'keydata', 'Key', 'text', $pconfig['keydata'] ))->setHelp('Paste an HMAC-MD5 key here.'); $section->addInput(new Form_Input( 'server', 'Server', 'text', $pconfig['server'] )); $section->addInput(new Form_Checkbox( 'usetcp', 'Protocol', 'Use TCP instead of UDP', $pconfig['usetcp'] )); $section->addInput(new Form_Checkbox( 'usepublicip', 'Use public IP', 'If the interface IP is private, attempt to fetch and use the public IP instead.', $pconfig['usepublicip'] )); $group = new Form_Group('Record Type'); $group->add(new Form_Checkbox( 'recordtype', 'Record Type', 'A (IPv4)', ($pconfig['recordtype'] == 'A'), 'A' ))->displayAsRadio(); $group->add(new Form_Checkbox( 'recordtype', 'Record Type', 'AAAA (IPv6)', ($pconfig['recordtype'] == 'AAAA'), 'AAAA' ))->displayAsRadio(); $group->add(new Form_Checkbox( 'recordtype', 'Record Type', 'Both', ($pconfig['recordtype'] == 'both'), 'both' ))->displayAsRadio(); $section->add($group); $section->addInput(new Form_Input( 'descr', 'Description', 'text', $pconfig['descr'] ))->setHelp('A description may be entered here for administrative reference (not parsed).'); if (isset($id) && $a_rfc2136[$id]) { $section->addInput(new Form_Input( 'id', null, 'hidden', $id )); $form->addGlobal(new Form_Button( 'force', 'Save & Force Update', null, 'fa-refresh' ))->addClass('btn-info'); } $form->add($section); print($form); print_info_box(sprintf(gettext('A DNS server must be configured in %1$sSystem: ' . 'General Setup %2$sor allow the DNS server list to be overridden ' . 'by DHCP/PPP on WAN for dynamic DNS updates to work.'), '', '')); include("foot.inc");