3490c29038f1262d92793b56d46d33aebdfd0d41
bernd git-svn-id: https://svn.sch...

bernd authored 16 years ago

1) <?php
2) 
3) require_once('inc/base.php');
4) require_once('inc/security.php');
5) 
6) require_once('class/domain.php');
7) 
bernd Erlaube *useraccounts* das...

bernd authored 14 years ago

8) require_role(ROLE_SYSTEMUSER);
bernd git-svn-id: https://svn.sch...

bernd authored 16 years ago

9) 
10) require_once('dnsinclude.php');
11) 
12) $section = 'dns_dns';
13) 
14) $data = array();
15) $type = NULL;
16) 
bernd DNs-record-Interface ist je...

bernd authored 15 years ago

17) $dyndns = false;
18) $dyndns_accounts = array();
19) foreach (get_dyndns_accounts() AS $t)
20) {
21)   $dyndns_accounts[$t['id']] = $t['handle'];
22) }
23) 
bernd Autodns ein- und ausschaltb...

bernd authored 15 years ago

24) if (isset($_REQUEST['type']) && $_REQUEST['type'] == "dyndns")
bernd DNs-record-Interface ist je...

bernd authored 15 years ago

25) {
26)   $_REQUEST['type'] = 'a';
27)   $dyndns = true;
28) }
29) 
bernd git-svn-id: https://svn.sch...

bernd authored 16 years ago

30) $new = false;
31) if ($_REQUEST['id'] == 'new')
32) {
33)   $new = true;
34)   $data = blank_dns_record($_REQUEST['type']);
bernd DNs-record-Interface ist je...

bernd authored 15 years ago

35)   $domain = new Domain((int) $_REQUEST['domain']);
bernd Erlaube *useraccounts* das...

bernd authored 14 years ago

36)   $domain->ensure_userdomain();
bernd DNs-record-Interface ist je...

bernd authored 15 years ago

37)   $type = $_REQUEST['type'];
bernd git-svn-id: https://svn.sch...

bernd authored 16 years ago

38)   if (! in_array($type, $valid_record_types))
39)     system_failure('Ungültiger Record-Typ!');
40)   $data['domain'] = $domain->id;
bernd DNs-record-Interface ist je...

bernd authored 15 years ago

41)   if ($dyndns)
42)     $data['ttl'] = 120;
bernd git-svn-id: https://svn.sch...

bernd authored 16 years ago

43) }
44) 
45) if (! $new)
46) {
47)   $data = get_dns_record($_REQUEST['id']);
48)   $type = $data['type'];
bernd DNs-record-Interface ist je...

bernd authored 15 years ago

49)   $dyndns = isset($data['dyndns']);
50)   $domain = new Domain((int) $data['domain']);
bernd Erlaube *useraccounts* das...

bernd authored 14 years ago

51)   $domain->ensure_userdomain();
bernd git-svn-id: https://svn.sch...

bernd authored 16 years ago

52)   if (! in_array($type, $valid_record_types))
53)     system_failure('Ungültiger Record-Typ!');
54) }
55) 
56) 
57) if ($new)
bernd Benutze überall title() sta...

bernd authored 14 years ago

58)   title('DNS-Record erstellen');
bernd git-svn-id: https://svn.sch...

bernd authored 16 years ago

59) else
bernd Benutze überall title() sta...

bernd authored 14 years ago

60)   title('DNS-Record bearbeiten');
bernd git-svn-id: https://svn.sch...

bernd authored 16 years ago

61) 
bernd Diverse XML-Fehler behoben

bernd authored 14 years ago

62) output('<p style="border: 2px solid red; padding: 1em; padding-left: 4em;"><img src="'.$prefix.'images/warning.png" style="margin-left: -3em; float: left;" /><strong>Bitte beachten Sie:</strong> Um Ihnen auch ungewöhniche Konstellationen zu ermöglichen, erlaubt dieses Webinterface sehr großzügige Eintragungen, die eventuell nicht plausibel sind oder vom DNS-Server gar nicht so verstanden werden können. Wir können sicherheitskritische Einträge herausfiltern, jedoch nicht logische Fehler automatisch erkennen. Im Fehlerfall wird meistens Ihre gesamte Domain vom DNS-Server ausgeschlossen, so lange sich Fehler in der Konfiguration befinden. Sollten Sie hier also fehlerhafte Eintragungen machen, kann dies die Erreichbarkeit der betreffenden Domain im Ganzen stören.</p>');
bernd Prüfe, ob Domain wirklich d...

bernd authored 15 years ago

63) 
64) 
bernd DNs-record-Interface ist je...

bernd authored 15 years ago

65) output('<p>Record-Typ: '.strtoupper($type).'</p>');
bernd git-svn-id: https://svn.sch...

bernd authored 16 years ago

66) 
67) $submit = 'Speichern';
68) if ($new) 
69)   $submit = 'Anlegen';
70) 
bernd DNs-record-Interface ist je...

bernd authored 15 years ago

71) $form = '';
72) 
73) if (! $dyndns && ($type == 'a' || $type == 'aaaa'))
74) {
75)   $form .= '
76) <tr><td><label for="ip">IP-Adresse:</label></td><td><input type="text" name="ip" id="ip" value="'.$data['ip'].'" /></td></tr>
77) ';
78) }
79) 
bernd Autodns ein- und ausschaltb...

bernd authored 15 years ago

80) if ($type == 'ns')
81) {
82)   $form .= '
83) <tr><td><label for="data">DNS-Server:</label></td><td><input type="text" name="data" id="data" value="'.$data['data'].'" /></td></tr>
84) ';
85) }
86) 
bernd DNs-record-Interface ist je...

bernd authored 15 years ago

87) if ($type == 'ptr' || $type == 'cname')
88) {
89)   $form .= '
90) <tr><td><label for="data">Ziel:</label></td><td><input type="text" name="data" id="data" value="'.$data['data'].'" /></td></tr>
bernd SPF und TXT records

bernd authored 15 years ago

91) ';
92) }
93) 
94) if ($type == 'spf' || $type == 'txt')
95) {
96)   $form .= '
97) <tr><td><label for="data">Inhalt:</label></td><td><input type="text" name="data" id="data" value="'.$data['data'].'" /></td></tr>
bernd SSHFP-Records (Thanks to Ma...

bernd authored 13 years ago

98) ';
99) }
100) 
101) if ($type == 'sshfp')
102) {
103)   $rsadefault = ($data['spec'] == 1) ? ' selected="selected"' : '';
104)   $dsadefault = ($data['spec'] == 2) ? ' selected="selected"' : '';
105)   $form .= '
106) <tr><td><label for="spec">Algorithmus:</label></td><td><select name="spec" id="spec"><option value="1"'.$rsadefault.'>RSA (1)</option><option value="2"'.$dsadefault.'>DSS (2)</option></select></td></tr>
107) <tr><td><label for="data">Fingerabdruck:</label></td><td><input type="text" name="data" id="data" value="'.$data['data'].'" /></td></tr>
bernd DNs-record-Interface ist je...

bernd authored 15 years ago

108) ';
109) }
110) 
111) if ($dyndns)
112) {
113)   $form .= '
114) <tr><td><label for="dyndns">DynDNS-Zugang:</label></td><td>'.html_select('dyndns', $dyndns_accounts, $data['dyndns']).'</td></tr>
115) ';
116) }
117) 
118) if ($type == 'mx')
119) {
120)   $form .= '
121) <tr><td><label for="spec">Priorität:</label></td><td><input type="text" name="spec" id="spec" value="'.$data['spec'].'" /></td></tr>
122) <tr><td><label for="data">Posteingangsserver:</label></td><td><input type="text" name="data" id="data" value="'.$data['data'].'" /></td></tr>
123) ';
124) }
bernd git-svn-id: https://svn.sch...

bernd authored 16 years ago

125) 
126) 
bernd DNs-record-Interface ist je...

bernd authored 15 years ago

127) output(html_form('dns_record_edit', 'dns_record_save', "type={$type}&domain={$domain->id}&id={$_REQUEST['id']}", '<table>
128) <tr><td><label for="hostname">Hostname:</label></td><td><input type="text" name="hostname" id="hostname" value="'.$data['hostname'].'" />&#160;<strong>.'.$domain->fqdn.'</strong></td></tr>
129) '.$form.'
130) <tr><td><label for="ttl">TTL:</label></td><td><input type="text" name="ttl" id="ttl" value="'.$data['ttl'].'" /></td></tr>
131) </table>
bernd git-svn-id: https://svn.sch...

bernd authored 16 years ago

132) <p><input type="submit" value="'.$submit.'" /></p>
bernd Einige Dummheiten repariert...

bernd authored 15 years ago

133) '));