Browse code

removed jquery and jqueryUI from webinterface

Bernd Wurst authored on 29/04/2023 11:47:42
Showing 1 changed files
... ...
@@ -13,8 +13,6 @@ Nevertheless, in case you use a significant part of this code, we ask (but not r
13 13
 
14 14
 require_once('inc/security.php');
15 15
 require_once('inc/icons.php');
16
-require_once('inc/jquery.php');
17
-javascript();
18 16
 
19 17
 require_once('domainapi.php');
20 18
 require_once('domains.php');
... ...
@@ -108,20 +106,20 @@ if (isset($_REQUEST['domain'])) {
108 106
                 <p><strong>Beachten Sie:</strong> Um diese Domain nutzen zu können, benötigen Sie bei Ihrem bisherigen Domainregistrar die Möglichkeit, DNS-Records anzulegen oder die zuständigen DNS-Server zu ändern. Sie können dann entweder unsere DNS-Server nutzen oder einzelne DNS-Records auf unsere Server einrichten.</p>');
109 107
 
110 108
         output('<p>Mit Betätigen des unten stehenden Knopfes bestätigen Sie, dass Sie entweder der Domaininhaber sind oder mit expliziter Zustimmung des Domaininhabers handeln.</p>');
111
-        $form = '
112
-            <p class="buttonset" id="buttonset-external">
109
+        $form = '<p>
110
+            <span class="buttonset" id="buttonset-external">
113 111
             <input type="radio" name="dns" id="option-dns-enable" value="enable" />
114 112
             <label for="option-dns-enable">Lokalen DNS-Server aktivieren</label>
115 113
             <input type="radio" name="dns" id="option-dns-disable" value="disable" checked="checked" />
116 114
             <label for="option-dns-disable">Weiterhin externen DNS verwenden</label>
117
-            </p>
118
-
119
-            <p class="buttonset" id="buttonset-email">
115
+            </span>
116
+            </p><p>
117
+            <span class="buttonset" id="buttonset-email">
120 118
             <input type="radio" name="email" id="option-email-enable" value="enable" checked="checked" />
121 119
             <label for="option-email-enable">E-Mail-Nutzung aktivieren</label>
122 120
             <input type="radio" name="email" id="option-email-disable" value="disable" />
123 121
             <label for="option-email-disable">Nicht für E-Mail nutzen</label>
124
-            </p>';
122
+            </span></p>';
125 123
 
126 124
         $form .= '<p><input type="hidden" name="domain" value="'.filter_output_html($request).'">
127 125
             <input type="submit" name="submit" value="Diese Domain bei '.config('company_name').' verwenden"></p>';
Browse code

Change license from CC0 to 0BSD, all contributors agreed

Hanno Böck authored on 20/08/2022 09:22:23
Showing 1 changed files
... ...
@@ -2,14 +2,11 @@
2 2
 /*
3 3
 This file belongs to the Webinterface of schokokeks.org Hosting
4 4
 
5
-Written 2008-2018 by schokokeks.org Hosting, namely
5
+Written by schokokeks.org Hosting, namely
6 6
   Bernd Wurst <bernd@schokokeks.org>
7 7
   Hanno Böck <hanno@schokokeks.org>
8 8
 
9
-To the extent possible under law, the author(s) have dedicated all copyright and related and neighboring rights to this software to the public domain worldwide. This software is distributed without any warranty.
10
-
11
-You should have received a copy of the CC0 Public Domain Dedication along with this software. If not, see
12
-http://creativecommons.org/publicdomain/zero/1.0/
9
+This code is published under a 0BSD license.
13 10
 
14 11
 Nevertheless, in case you use a significant part of this code, we ask (but not require, see the license) that you keep the authors' names in place and return your changes to the public. We would be especially happy if you tell us what you're going to do with this code.
15 12
 */
Browse code

Umstellung von filter_input_general() auf filter_output_html()

Bernd Wurst authored on 21/09/2019 17:07:48
Showing 1 changed files
... ...
@@ -41,10 +41,10 @@ if (isset($_REQUEST['domain'])) {
41 41
     if (substr($request, 0, 4) == 'www.') {
42 42
         $request = str_replace('www.', '', $request);
43 43
     }
44
-    verify_input_general($request);
44
+    verify_input_hostname_utf8($request);
45 45
     $punycode = idn_to_ascii($request, 0, INTL_IDNA_VARIANT_UTS46);
46 46
     if (!check_domain($punycode)) {
47
-        warning("Ungültiger Domainname: ".filter_input_general($request));
47
+        warning("Ungültiger Domainname: ".filter_output_html($request));
48 48
         redirect('');
49 49
     }
50 50
     $dom = new Domain();
... ...
@@ -58,7 +58,7 @@ if (isset($_REQUEST['domain'])) {
58 58
     }
59 59
     $avail = api_domain_available($request);
60 60
     if ($avail['status'] == 'available') {
61
-        output('<p class="domain-available">Die Domain '.filter_input_general($request).' ist verfügbar!</p>');
61
+        output('<p class="domain-available">Die Domain '.filter_output_html($request).' ist verfügbar!</p>');
62 62
         # Neue Domain eintragen
63 63
         $data = get_domain_offer($avail['domainSuffix']);
64 64
         if ($data === false) {
... ...
@@ -66,20 +66,20 @@ if (isset($_REQUEST['domain'])) {
66 66
         } else {
67 67
             $form = '<p>Folgende Konditionen gelten bei Registrierung der Domain im nächsten Schritt:</p>
68 68
                 <table>
69
-                <tr><td>Domainname:</td><td><strong>'.filter_input_general($request).'</strong></td></tr>
69
+                <tr><td>Domainname:</td><td><strong>'.filter_output_html($request).'</strong></td></tr>
70 70
                 <tr><td>Jahresgebühr:</td><td style="text-align: right;">'.$data['gebuehr'].' €'.footnote('Bruttobetrag inkl. 19% deutsche USt. Nettopreise für innergemeinschaftlichen Handel können vom Support eingetragen werden.').'</td></tr>';
71 71
             if ($data['setup']) {
72 72
                 $form .= '<tr><td>Setup-Gebühr (einmalig):</td><td style="text-align: right;">'.$data['setup'].' €'.footnote('Bruttobetrag inkl. 19% deutsche USt. Nettopreise für innergemeinschaftlichen Handel können vom Support eingetragen werden.').'</td></tr>';
73 73
             }
74 74
             $form .='</table>';
75 75
 
76
-            $form .= '<p><input type="hidden" name="domain" value="'.filter_input_general($request).'">
76
+            $form .= '<p><input type="hidden" name="domain" value="'.filter_output_html($request).'">
77 77
                 <input type="submit" name="submit" value="Ich möchte diese Domain registrieren"></p>';
78 78
             output(html_form('domains_register', 'domainreg', '', $form));
79 79
             output('<p>'.internal_link('domains', 'Zurück').'</p>');
80 80
         }
81 81
     } elseif ($avail['status'] == 'registered' || $avail['status'] == 'alreadyRegistered') {
82
-        output('<p class="domain-unavailable">Die Domain '.filter_input_general($request).' ist bereits vergeben.</p>');
82
+        output('<p class="domain-unavailable">Die Domain '.filter_output_html($request).' ist bereits vergeben.</p>');
83 83
 
84 84
         output('<h3>Domain zu '.config('company_name').' umziehen</h3>');
85 85
         if ($avail['status'] == 'registered' && $avail['transferMethod'] != 'authInfo') {
... ...
@@ -92,7 +92,7 @@ if (isset($_REQUEST['domain'])) {
92 92
             } else {
93 93
                 $form = '<p>Folgende Konditionen gelten beim Transfer der Domain im nächsten Schritt:</p>
94 94
                     <table>
95
-                    <tr><td>Domainname:</td><td><strong>'.filter_input_general($avail['domainNameUnicode']).'</strong></td></tr>
95
+                    <tr><td>Domainname:</td><td><strong>'.filter_output_html($avail['domainNameUnicode']).'</strong></td></tr>
96 96
                     <tr><td>Jahresgebühr:</td><td style="text-align: right;">'.$data['gebuehr'].' €'.footnote('Bruttobetrag inkl. 19% deutsche USt. Nettopreise für innergemeinschaftlichen Handel können vom Support eingetragen werden.').'</td></tr>';
97 97
                 if ($data['setup']) {
98 98
                     $form .= '<tr><td>Setup-Gebühr (einmalig):</td><td style="text-align: right;">'.$data['setup'].' €'.footnote('Bruttobetrag inkl. 19% deutsche USt. Nettopreise für innergemeinschaftlichen Handel können vom Support eingetragen werden.').'</td></tr>';
... ...
@@ -100,7 +100,7 @@ if (isset($_REQUEST['domain'])) {
100 100
                 $form .='</table>';
101 101
 
102 102
 
103
-                $form .= '<p><input type="hidden" name="domain" value="'.filter_input_general($avail['domainNameUnicode']).'">
103
+                $form .= '<p><input type="hidden" name="domain" value="'.filter_output_html($avail['domainNameUnicode']).'">
104 104
                     <input type="submit" name="submit" value="Ich möchte diese Domain zu '.config('company_name').' umziehen"></p>';
105 105
 
106 106
                 output(html_form('domains_transferin', 'domainreg', '', $form));
... ...
@@ -126,12 +126,12 @@ if (isset($_REQUEST['domain'])) {
126 126
             <label for="option-email-disable">Nicht für E-Mail nutzen</label>
127 127
             </p>';
128 128
 
129
-        $form .= '<p><input type="hidden" name="domain" value="'.filter_input_general($request).'">
129
+        $form .= '<p><input type="hidden" name="domain" value="'.filter_output_html($request).'">
130 130
             <input type="submit" name="submit" value="Diese Domain bei '.config('company_name').' verwenden"></p>';
131 131
 
132 132
         output(html_form('domains_external', 'useexternal', '', $form));
133 133
     } else {
134
-        output('<p class="domain-unavailable">Die Domain '.filter_input_general($request).' kann nicht registriert werden.</p>');
134
+        output('<p class="domain-unavailable">Die Domain '.filter_output_html($request).' kann nicht registriert werden.</p>');
135 135
 
136 136
         switch ($avail['status']) {
137 137
             case 'nameContainsForbiddenCharacter':
Browse code

trim whitespaces around domain names

Bernd Wurst authored on 20/08/2019 16:25:00
Showing 1 changed files
... ...
@@ -37,7 +37,7 @@ $form = '<p>Domainname: <input type="text" name="domain" size="50" /> <input typ
37 37
 output(html_form('adddomain_search', '', '', $form));
38 38
 
39 39
 if (isset($_REQUEST['domain'])) {
40
-    $request = idn_to_utf8($_REQUEST['domain'], 0, INTL_IDNA_VARIANT_UTS46);
40
+    $request = idn_to_utf8(trim($_REQUEST['domain']), 0, INTL_IDNA_VARIANT_UTS46);
41 41
     if (substr($request, 0, 4) == 'www.') {
42 42
         $request = str_replace('www.', '', $request);
43 43
     }
Browse code

Preisangaben geändert wegen Wegfall von VATMOSS

Bernd Wurst authored on 13/03/2019 14:31:22
Showing 1 changed files
... ...
@@ -67,9 +67,9 @@ if (isset($_REQUEST['domain'])) {
67 67
             $form = '<p>Folgende Konditionen gelten bei Registrierung der Domain im nächsten Schritt:</p>
68 68
                 <table>
69 69
                 <tr><td>Domainname:</td><td><strong>'.filter_input_general($request).'</strong></td></tr>
70
-                <tr><td>Jahresgebühr:</td><td style="text-align: right;">'.$data['gebuehr'].' €'.footnote('Preis für Deutschland, inkl. 19% USt. Preise für andere Länder entsprechend. Bitte beim Support anfragen').'</td></tr>';
70
+                <tr><td>Jahresgebühr:</td><td style="text-align: right;">'.$data['gebuehr'].' €'.footnote('Bruttobetrag inkl. 19% deutsche USt. Nettopreise für innergemeinschaftlichen Handel können vom Support eingetragen werden.').'</td></tr>';
71 71
             if ($data['setup']) {
72
-                $form .= '<tr><td>Setup-Gebühr (einmalig):</td><td style="text-align: right;">'.$data['setup'].' €'.footnote('Preis für Deutschland, inkl. 19% USt. Preise für andere Länder entsprechend. Bitte beim Support anfragen').'</td></tr>';
72
+                $form .= '<tr><td>Setup-Gebühr (einmalig):</td><td style="text-align: right;">'.$data['setup'].' €'.footnote('Bruttobetrag inkl. 19% deutsche USt. Nettopreise für innergemeinschaftlichen Handel können vom Support eingetragen werden.').'</td></tr>';
73 73
             }
74 74
             $form .='</table>';
75 75
 
... ...
@@ -93,9 +93,9 @@ if (isset($_REQUEST['domain'])) {
93 93
                 $form = '<p>Folgende Konditionen gelten beim Transfer der Domain im nächsten Schritt:</p>
94 94
                     <table>
95 95
                     <tr><td>Domainname:</td><td><strong>'.filter_input_general($avail['domainNameUnicode']).'</strong></td></tr>
96
-                    <tr><td>Jahresgebühr:</td><td style="text-align: right;">'.$data['gebuehr'].' €'.footnote('Preis für Deutschland, inkl. 19% USt. Preise für andere Länder entsprechend. Bitte beim Support anfragen').'</td></tr>';
96
+                    <tr><td>Jahresgebühr:</td><td style="text-align: right;">'.$data['gebuehr'].' €'.footnote('Bruttobetrag inkl. 19% deutsche USt. Nettopreise für innergemeinschaftlichen Handel können vom Support eingetragen werden.').'</td></tr>';
97 97
                 if ($data['setup']) {
98
-                    $form .= '<tr><td>Setup-Gebühr (einmalig):</td><td style="text-align: right;">'.$data['setup'].' €'.footnote('Preis für Deutschland, inkl. 19% USt. Preise für andere Länder entsprechend. Bitte beim Support anfragen').'</td></tr>';
98
+                    $form .= '<tr><td>Setup-Gebühr (einmalig):</td><td style="text-align: right;">'.$data['setup'].' €'.footnote('Bruttobetrag inkl. 19% deutsche USt. Nettopreise für innergemeinschaftlichen Handel können vom Support eingetragen werden.').'</td></tr>';
99 99
                 }
100 100
                 $form .='</table>';
101 101
 
Browse code

Entferne Beta-Hinweis bei der Domain-Reg-Funktion

Bernd Wurst authored on 11/07/2018 20:49:28
Showing 1 changed files
... ...
@@ -30,8 +30,6 @@ if (! config('http.net-apikey')) {
30 30
 title("Domain hinzufügen");
31 31
 $section='domains_domains';
32 32
 
33
-beta_notice();
34
-
35 33
 output('<p>Mit dieser Funktion können Sie eine neue Domain bestellen oder eine bestehende, extern registrierte Domain verfügbar machen.</p>');
36 34
 
37 35
 $form = '<p>Domainname: <input type="text" name="domain" size="50" /> <input type="submit" value="Verfügbarkeit prüfen" />';
Browse code

Fix coding style with php-cs-checker, see https://cs.sensiolabs.org/

Hanno authored on 26/06/2018 13:58:19
Showing 1 changed files
... ...
@@ -8,7 +8,7 @@ Written 2008-2018 by schokokeks.org Hosting, namely
8 8
 
9 9
 To the extent possible under law, the author(s) have dedicated all copyright and related and neighboring rights to this software to the public domain worldwide. This software is distributed without any warranty.
10 10
 
11
-You should have received a copy of the CC0 Public Domain Dedication along with this software. If not, see 
11
+You should have received a copy of the CC0 Public Domain Dedication along with this software. If not, see
12 12
 http://creativecommons.org/publicdomain/zero/1.0/
13 13
 
14 14
 Nevertheless, in case you use a significant part of this code, we ask (but not require, see the license) that you keep the authors' names in place and return your changes to the public. We would be especially happy if you tell us what you're going to do with this code.
... ...
@@ -92,7 +92,6 @@ if (isset($_REQUEST['domain'])) {
92 92
             if ($data === false) {
93 93
                 output('<p>Diese Endung ist für die automatische Registrierung nicht freigeschaltet. Bitte fragen Sie bei unserem Support nach den Konditionen und Bedingungen für diese Domain-Endung!</p>');
94 94
             } else {
95
-
96 95
                 $form = '<p>Folgende Konditionen gelten beim Transfer der Domain im nächsten Schritt:</p>
97 96
                     <table>
98 97
                     <tr><td>Domainname:</td><td><strong>'.filter_input_general($avail['domainNameUnicode']).'</strong></td></tr>
... ...
@@ -107,7 +106,6 @@ if (isset($_REQUEST['domain'])) {
107 106
                     <input type="submit" name="submit" value="Ich möchte diese Domain zu '.config('company_name').' umziehen"></p>';
108 107
 
109 108
                 output(html_form('domains_transferin', 'domainreg', '', $form));
110
-
111 109
             }
112 110
         }
113 111
         output('<h3>Diese Domain als externe Domain nutzen</h3>');
... ...
@@ -134,7 +132,6 @@ if (isset($_REQUEST['domain'])) {
134 132
             <input type="submit" name="submit" value="Diese Domain bei '.config('company_name').' verwenden"></p>';
135 133
 
136 134
         output(html_form('domains_external', 'useexternal', '', $form));
137
-
138 135
     } else {
139 136
         output('<p class="domain-unavailable">Die Domain '.filter_input_general($request).' kann nicht registriert werden.</p>');
140 137
 
... ...
@@ -152,5 +149,4 @@ if (isset($_REQUEST['domain'])) {
152 149
                 output('<p>Ein Fehler ist aufgetreten beim Prüfen der Verfügbarkeit. Eventuell geht es später wieder.</p>');
153 150
         }
154 151
     }
155
-
156 152
 }
Browse code

HTML-Syntaxfehler behoben

Bernd Wurst authored on 14/02/2018 06:25:54
Showing 1 changed files
... ...
@@ -134,7 +134,6 @@ if (isset($_REQUEST['domain'])) {
134 134
             <input type="submit" name="submit" value="Diese Domain bei '.config('company_name').' verwenden"></p>';
135 135
 
136 136
         output(html_form('domains_external', 'useexternal', '', $form));
137
-        output('</div>');
138 137
 
139 138
     } else {
140 139
         output('<p class="domain-unavailable">Die Domain '.filter_input_general($request).' kann nicht registriert werden.</p>');
Browse code

Beta-Hinweis eingefügt

Bernd Wurst authored on 14/02/2018 06:13:47
Showing 1 changed files
... ...
@@ -30,6 +30,8 @@ if (! config('http.net-apikey')) {
30 30
 title("Domain hinzufügen");
31 31
 $section='domains_domains';
32 32
 
33
+beta_notice();
34
+
33 35
 output('<p>Mit dieser Funktion können Sie eine neue Domain bestellen oder eine bestehende, extern registrierte Domain verfügbar machen.</p>');
34 36
 
35 37
 $form = '<p>Domainname: <input type="text" name="domain" size="50" /> <input type="submit" value="Verfügbarkeit prüfen" />';
Browse code

Blende Aktionen aus, wenn die Rechte nicht reichen oder wenn die Domain-API nicht verfügbar ist

Bernd Wurst authored on 09/02/2018 05:16:15
Showing 1 changed files
... ...
@@ -23,6 +23,9 @@ require_once('domainapi.php');
23 23
 require_once('domains.php');
24 24
 
25 25
 require_role(ROLE_CUSTOMER);
26
+if (! config('http.net-apikey')) {
27
+    system_failure("Dieses System ist nicht eingerichtet zum Hinzufügen von Domains");
28
+}
26 29
 
27 30
 title("Domain hinzufügen");
28 31
 $section='domains_domains';
Browse code

Fehlermeldung bei nicht automatisch möglicher Eintragung freundlicher. Preishinweis auf USt.

Bernd Wurst authored on 08/02/2018 15:36:32
Showing 1 changed files
... ...
@@ -58,23 +58,23 @@ if (isset($_REQUEST['domain'])) {
58 58
         output('<p class="domain-available">Die Domain '.filter_input_general($request).' ist verfügbar!</p>');
59 59
         # Neue Domain eintragen
60 60
         $data = get_domain_offer($avail['domainSuffix']);
61
-        if (!$data) {
62
-            redirect('');
63
-        }
64
-        $form = '<p>Folgende Konditionen gelten bei Registrierung der Domain im nächsten Schritt:</p>
65
-            <table>
66
-            <tr><td>Domainname:</td><td><strong>'.filter_input_general($request).'</strong></td></tr>
67
-            <tr><td>Jahresgebühr:</td><td style="text-align: right;">'.$data['gebuehr'].' €</td></tr>';
68
-        if ($data['setup']) {
69
-            $form .= '<tr><td>Setup-Gebühr (einmalig):</td><td style="text-align: right;">'.$data['setup'].' €</td></tr>';
70
-        }
71
-        $form .='</table>';
72
-
61
+        if ($data === false) {
62
+            output('<p>Diese Endung ist für die automatische Registrierung nicht freigeschaltet. Bitte fragen Sie bei unserem Support nach den Konditionen und Bedingungen für diese Domain-Endung!</p>');
63
+        } else {
64
+            $form = '<p>Folgende Konditionen gelten bei Registrierung der Domain im nächsten Schritt:</p>
65
+                <table>
66
+                <tr><td>Domainname:</td><td><strong>'.filter_input_general($request).'</strong></td></tr>
67
+                <tr><td>Jahresgebühr:</td><td style="text-align: right;">'.$data['gebuehr'].' €'.footnote('Preis für Deutschland, inkl. 19% USt. Preise für andere Länder entsprechend. Bitte beim Support anfragen').'</td></tr>';
68
+            if ($data['setup']) {
69
+                $form .= '<tr><td>Setup-Gebühr (einmalig):</td><td style="text-align: right;">'.$data['setup'].' €'.footnote('Preis für Deutschland, inkl. 19% USt. Preise für andere Länder entsprechend. Bitte beim Support anfragen').'</td></tr>';
70
+            }
71
+            $form .='</table>';
73 72
 
74
-        $form .= '<p><input type="hidden" name="domain" value="'.filter_input_general($request).'">
75
-            <input type="submit" name="submit" value="Ich möchte diese Domain registrieren"></p>';
76
-        output(html_form('domains_register', 'domainreg', '', $form));
77
-        output('<p>'.internal_link('domains', 'Zurück').'</p>');
73
+            $form .= '<p><input type="hidden" name="domain" value="'.filter_input_general($request).'">
74
+                <input type="submit" name="submit" value="Ich möchte diese Domain registrieren"></p>';
75
+            output(html_form('domains_register', 'domainreg', '', $form));
76
+            output('<p>'.internal_link('domains', 'Zurück').'</p>');
77
+        }
78 78
     } elseif ($avail['status'] == 'registered' || $avail['status'] == 'alreadyRegistered') {
79 79
         output('<p class="domain-unavailable">Die Domain '.filter_input_general($request).' ist bereits vergeben.</p>');
80 80
 
... ...
@@ -84,17 +84,16 @@ if (isset($_REQUEST['domain'])) {
84 84
         } else {
85 85
             $data = get_domain_offer($avail['domainSuffix']);
86 86
 
87
-            if (! $data) {
88
-                // Die Include-Datei setzt eine passende Warning-Nachricht
89
-                output('<p>Eine Registrierung ist nicht automatisiert möglich. Bitte wenden Sie sich an den Support.');
87
+            if ($data === false) {
88
+                output('<p>Diese Endung ist für die automatische Registrierung nicht freigeschaltet. Bitte fragen Sie bei unserem Support nach den Konditionen und Bedingungen für diese Domain-Endung!</p>');
90 89
             } else {
91 90
 
92 91
                 $form = '<p>Folgende Konditionen gelten beim Transfer der Domain im nächsten Schritt:</p>
93 92
                     <table>
94 93
                     <tr><td>Domainname:</td><td><strong>'.filter_input_general($avail['domainNameUnicode']).'</strong></td></tr>
95
-                    <tr><td>Jahresgebühr:</td><td style="text-align: right;">'.$data['gebuehr'].' €</td></tr>';
94
+                    <tr><td>Jahresgebühr:</td><td style="text-align: right;">'.$data['gebuehr'].' €'.footnote('Preis für Deutschland, inkl. 19% USt. Preise für andere Länder entsprechend. Bitte beim Support anfragen').'</td></tr>';
96 95
                 if ($data['setup']) {
97
-                    $form .= '<tr><td>Setup-Gebühr (einmalig):</td><td style="text-align: right;">'.$data['setup'].' €</td></tr>';
96
+                    $form .= '<tr><td>Setup-Gebühr (einmalig):</td><td style="text-align: right;">'.$data['setup'].' €'.footnote('Preis für Deutschland, inkl. 19% USt. Preise für andere Länder entsprechend. Bitte beim Support anfragen').'</td></tr>';
98 97
                 }
99 98
                 $form .='</table>';
100 99
 
Browse code

hardening domain input (II)

Bernd Wurst authored on 06/02/2018 17:55:49
Showing 1 changed files
... ...
@@ -35,21 +35,13 @@ output(html_form('adddomain_search', '', '', $form));
35 35
 
36 36
 if (isset($_REQUEST['domain'])) {
37 37
     $request = idn_to_utf8($_REQUEST['domain'], 0, INTL_IDNA_VARIANT_UTS46);
38
-    verify_input_general($request);
39
-    $punycode = idn_to_ascii($request, 0, INTL_IDNA_VARIANT_UTS46);
40
-    if (!check_domain($punycode)) {
41
-        warning("Ungültige Zeichen im Domainnamen!");
42
-        redirect('');
43
-    }
44 38
     if (substr($request, 0, 4) == 'www.') {
45 39
         $request = str_replace('www.', '', $request);
46 40
     }
47
-    if (strpos($request, ' ') !== false) {
48
-        warning('Leerzeichen sind in Domainnamen nicht erlaubt.');
49
-        redirect('');
50
-    }
51
-    if (strpos($request, '.') === false) {
52
-        warning('Das ist kein Domainname.');
41
+    verify_input_general($request);
42
+    $punycode = idn_to_ascii($request, 0, INTL_IDNA_VARIANT_UTS46);
43
+    if (!check_domain($punycode)) {
44
+        warning("Ungültiger Domainname: ".filter_input_general($request));
53 45
         redirect('');
54 46
     }
55 47
     $dom = new Domain();
Browse code

hardening the domain input

Bernd Wurst authored on 06/02/2018 17:38:01
Showing 1 changed files
... ...
@@ -34,8 +34,13 @@ $form = '<p>Domainname: <input type="text" name="domain" size="50" /> <input typ
34 34
 output(html_form('adddomain_search', '', '', $form));
35 35
 
36 36
 if (isset($_REQUEST['domain'])) {
37
-    $request = $_REQUEST['domain'];
37
+    $request = idn_to_utf8($_REQUEST['domain'], 0, INTL_IDNA_VARIANT_UTS46);
38 38
     verify_input_general($request);
39
+    $punycode = idn_to_ascii($request, 0, INTL_IDNA_VARIANT_UTS46);
40
+    if (!check_domain($punycode)) {
41
+        warning("Ungültige Zeichen im Domainnamen!");
42
+        redirect('');
43
+    }
39 44
     if (substr($request, 0, 4) == 'www.') {
40 45
         $request = str_replace('www.', '', $request);
41 46
     }
Browse code

Bessere Prüfung der Domainnamen

Bernd Wurst authored on 06/02/2018 13:25:05
Showing 1 changed files
... ...
@@ -34,12 +34,21 @@ $form = '<p>Domainname: <input type="text" name="domain" size="50" /> <input typ
34 34
 output(html_form('adddomain_search', '', '', $form));
35 35
 
36 36
 if (isset($_REQUEST['domain'])) {
37
-    if (strpos($_REQUEST['domain'], ' ') !== false) {
37
+    $request = $_REQUEST['domain'];
38
+    verify_input_general($request);
39
+    if (substr($request, 0, 4) == 'www.') {
40
+        $request = str_replace('www.', '', $request);
41
+    }
42
+    if (strpos($request, ' ') !== false) {
38 43
         warning('Leerzeichen sind in Domainnamen nicht erlaubt.');
39 44
         redirect('');
40 45
     }
46
+    if (strpos($request, '.') === false) {
47
+        warning('Das ist kein Domainname.');
48
+        redirect('');
49
+    }
41 50
     $dom = new Domain();
42
-    if ($dom->loadByName($_REQUEST['domain']) !== false) {
51
+    if ($dom->loadByName($request) !== false) {
43 52
         if ($dom->is_customerdomain()) {
44 53
             warning('Diese Domain ist bereits in Ihrem Kundenkonto eingetragen!');
45 54
         } else {
... ...
@@ -47,9 +56,9 @@ if (isset($_REQUEST['domain'])) {
47 56
         }
48 57
         redirect('');
49 58
     }
50
-    $avail = api_domain_available($_REQUEST['domain']);
59
+    $avail = api_domain_available($request);
51 60
     if ($avail['status'] == 'available') {
52
-        output('<p class="domain-available">Die Domain '.filter_input_general($_REQUEST['domain']).' ist verfügbar!</p>');
61
+        output('<p class="domain-available">Die Domain '.filter_input_general($request).' ist verfügbar!</p>');
53 62
         # Neue Domain eintragen
54 63
         $data = get_domain_offer($avail['domainSuffix']);
55 64
         if (!$data) {
... ...
@@ -57,7 +66,7 @@ if (isset($_REQUEST['domain'])) {
57 66
         }
58 67
         $form = '<p>Folgende Konditionen gelten bei Registrierung der Domain im nächsten Schritt:</p>
59 68
             <table>
60
-            <tr><td>Domainname:</td><td><strong>'.filter_input_general($_REQUEST['domain']).'</strong></td></tr>
69
+            <tr><td>Domainname:</td><td><strong>'.filter_input_general($request).'</strong></td></tr>
61 70
             <tr><td>Jahresgebühr:</td><td style="text-align: right;">'.$data['gebuehr'].' €</td></tr>';
62 71
         if ($data['setup']) {
63 72
             $form .= '<tr><td>Setup-Gebühr (einmalig):</td><td style="text-align: right;">'.$data['setup'].' €</td></tr>';
... ...
@@ -65,12 +74,12 @@ if (isset($_REQUEST['domain'])) {
65 74
         $form .='</table>';
66 75
 
67 76
 
68
-        $form .= '<p><input type="hidden" name="domain" value="'.filter_input_general($_REQUEST['domain']).'">
77
+        $form .= '<p><input type="hidden" name="domain" value="'.filter_input_general($request).'">
69 78
             <input type="submit" name="submit" value="Ich möchte diese Domain registrieren"></p>';
70 79
         output(html_form('domains_register', 'domainreg', '', $form));
71 80
         output('<p>'.internal_link('domains', 'Zurück').'</p>');
72 81
     } elseif ($avail['status'] == 'registered' || $avail['status'] == 'alreadyRegistered') {
73
-        output('<p class="domain-unavailable">Die Domain '.filter_input_general($_REQUEST['domain']).' ist bereits vergeben.</p>');
82
+        output('<p class="domain-unavailable">Die Domain '.filter_input_general($request).' ist bereits vergeben.</p>');
74 83
 
75 84
         output('<h3>Domain zu '.config('company_name').' umziehen</h3>');
76 85
         if ($avail['status'] == 'registered' && $avail['transferMethod'] != 'authInfo') {
... ...
@@ -120,14 +129,14 @@ if (isset($_REQUEST['domain'])) {
120 129
             <label for="option-email-disable">Nicht für E-Mail nutzen</label>
121 130
             </p>';
122 131
 
123
-        $form .= '<p><input type="hidden" name="domain" value="'.filter_input_general($_REQUEST['domain']).'">
132
+        $form .= '<p><input type="hidden" name="domain" value="'.filter_input_general($request).'">
124 133
             <input type="submit" name="submit" value="Diese Domain bei '.config('company_name').' verwenden"></p>';
125 134
 
126 135
         output(html_form('domains_external', 'useexternal', '', $form));
127 136
         output('</div>');
128 137
 
129 138
     } else {
130
-        output('<p class="domain-unavailable">Die Domain '.filter_input_general($_REQUEST['domain']).' kann nicht registriert werden.</p>');
139
+        output('<p class="domain-unavailable">Die Domain '.filter_input_general($request).' kann nicht registriert werden.</p>');
131 140
 
132 141
         switch ($avail['status']) {
133 142
             case 'nameContainsForbiddenCharacter':
Browse code

Lasse die API bestimmen was bei einer Domain die Endung ist und ob der Domainname gültig ist

Bernd Wurst authored on 05/02/2018 09:04:50
Showing 1 changed files
... ...
@@ -51,13 +51,13 @@ if (isset($_REQUEST['domain'])) {
51 51
     if ($avail['status'] == 'available') {
52 52
         output('<p class="domain-available">Die Domain '.filter_input_general($_REQUEST['domain']).' ist verfügbar!</p>');
53 53
         # Neue Domain eintragen
54
-        $data = get_domain_offer($_REQUEST['domain']);
54
+        $data = get_domain_offer($avail['domainSuffix']);
55 55
         if (!$data) {
56 56
             redirect('');
57 57
         }
58 58
         $form = '<p>Folgende Konditionen gelten bei Registrierung der Domain im nächsten Schritt:</p>
59 59
             <table>
60
-            <tr><td>Domainname:</td><td><strong>'.$data['domainname'].'</strong></td></tr>
60
+            <tr><td>Domainname:</td><td><strong>'.filter_input_general($_REQUEST['domain']).'</strong></td></tr>
61 61
             <tr><td>Jahresgebühr:</td><td style="text-align: right;">'.$data['gebuehr'].' €</td></tr>';
62 62
         if ($data['setup']) {
63 63
             $form .= '<tr><td>Setup-Gebühr (einmalig):</td><td style="text-align: right;">'.$data['setup'].' €</td></tr>';
... ...
@@ -76,7 +76,7 @@ if (isset($_REQUEST['domain'])) {
76 76
         if ($avail['status'] == 'registered' && $avail['transferMethod'] != 'authInfo') {
77 77
             output('<p>Diese Domainendung kann nicht automatisiert übertragen werden. Bitte wenden Sie sich an den Support.</p>');
78 78
         } else {
79
-            $data = get_domain_offer($_REQUEST['domain']);
79
+            $data = get_domain_offer($avail['domainSuffix']);
80 80
 
81 81
             if (! $data) {
82 82
                 // Die Include-Datei setzt eine passende Warning-Nachricht
... ...
@@ -85,7 +85,7 @@ if (isset($_REQUEST['domain'])) {
85 85
 
86 86
                 $form = '<p>Folgende Konditionen gelten beim Transfer der Domain im nächsten Schritt:</p>
87 87
                     <table>
88
-                    <tr><td>Domainname:</td><td><strong>'.$data['domainname'].'</strong></td></tr>
88
+                    <tr><td>Domainname:</td><td><strong>'.filter_input_general($avail['domainNameUnicode']).'</strong></td></tr>
89 89
                     <tr><td>Jahresgebühr:</td><td style="text-align: right;">'.$data['gebuehr'].' €</td></tr>';
90 90
                 if ($data['setup']) {
91 91
                     $form .= '<tr><td>Setup-Gebühr (einmalig):</td><td style="text-align: right;">'.$data['setup'].' €</td></tr>';
... ...
@@ -93,7 +93,7 @@ if (isset($_REQUEST['domain'])) {
93 93
                 $form .='</table>';
94 94
 
95 95
 
96
-                $form .= '<p><input type="hidden" name="domain" value="'.filter_input_general($_REQUEST['domain']).'">
96
+                $form .= '<p><input type="hidden" name="domain" value="'.filter_input_general($avail['domainNameUnicode']).'">
97 97
                     <input type="submit" name="submit" value="Ich möchte diese Domain zu '.config('company_name').' umziehen"></p>';
98 98
 
99 99
                 output(html_form('domains_transferin', 'domainreg', '', $form));
Browse code

Domain-Transfer und -Registrierung eingebaut (braucht Überprüfung)

Bernd Wurst authored on 03/02/2018 15:39:25
Showing 1 changed files
... ...
@@ -48,7 +48,7 @@ if (isset($_REQUEST['domain'])) {
48 48
         redirect('');
49 49
     }
50 50
     $avail = api_domain_available($_REQUEST['domain']);
51
-    if ($avail == 'available') {
51
+    if ($avail['status'] == 'available') {
52 52
         output('<p class="domain-available">Die Domain '.filter_input_general($_REQUEST['domain']).' ist verfügbar!</p>');
53 53
         # Neue Domain eintragen
54 54
         $data = get_domain_offer($_REQUEST['domain']);
... ...
@@ -58,8 +58,10 @@ if (isset($_REQUEST['domain'])) {
58 58
         $form = '<p>Folgende Konditionen gelten bei Registrierung der Domain im nächsten Schritt:</p>
59 59
             <table>
60 60
             <tr><td>Domainname:</td><td><strong>'.$data['domainname'].'</strong></td></tr>
61
-            <tr><td>Jahresgebühr:</td><td style="text-align: right;">'.$data['gebuehr'].' €</td></tr>
62
-            <tr><td>Setup-Gebühr (einmalig):</td><td style="text-align: right;">'.$data['setup'].' €</td></tr>';
61
+            <tr><td>Jahresgebühr:</td><td style="text-align: right;">'.$data['gebuehr'].' €</td></tr>';
62
+        if ($data['setup']) {
63
+            $form .= '<tr><td>Setup-Gebühr (einmalig):</td><td style="text-align: right;">'.$data['setup'].' €</td></tr>';
64
+        }
63 65
         $form .='</table>';
64 66
 
65 67
 
... ...
@@ -67,34 +69,40 @@ if (isset($_REQUEST['domain'])) {
67 69
             <input type="submit" name="submit" value="Ich möchte diese Domain registrieren"></p>';
68 70
         output(html_form('domains_register', 'domainreg', '', $form));
69 71
         output('<p>'.internal_link('domains', 'Zurück').'</p>');
70
-    } elseif ($avail == 'registered' || $avail == 'alreadyRegistered') {
72
+    } elseif ($avail['status'] == 'registered' || $avail['status'] == 'alreadyRegistered') {
71 73
         output('<p class="domain-unavailable">Die Domain '.filter_input_general($_REQUEST['domain']).' ist bereits vergeben.</p>');
72
-        
73
-        output('<h3>Domain zu '.config('company_name').' umziehen</h3>');
74
-        $data = get_domain_offer($_REQUEST['domain']);
75 74
 
76
-        if (! $data) {
77
-            // Die Include-Datei setzt eine passende Warning-Nachricht
78
-            output('<p>Eine Registrierung ist nicht automatisiert möglich. Bitte wenden Sie sich an den Support.');
75
+        output('<h3>Domain zu '.config('company_name').' umziehen</h3>');
76
+        if ($avail['status'] == 'registered' && $avail['transferMethod'] != 'authInfo') {
77
+            output('<p>Diese Domainendung kann nicht automatisiert übertragen werden. Bitte wenden Sie sich an den Support.</p>');
79 78
         } else {
79
+            $data = get_domain_offer($_REQUEST['domain']);
80
+
81
+            if (! $data) {
82
+                // Die Include-Datei setzt eine passende Warning-Nachricht
83
+                output('<p>Eine Registrierung ist nicht automatisiert möglich. Bitte wenden Sie sich an den Support.');
84
+            } else {
80 85
 
81
-            $form = '<p>Folgende Konditionen gelten beim Transfer der Domain im nächsten Schritt:</p>
82
-                <table>
83
-                <tr><td>Domainname:</td><td><strong>'.$data['domainname'].'</strong></td></tr>
84
-                <tr><td>Jahresgebühr:</td><td style="text-align: right;">'.$data['gebuehr'].' €</td></tr>
85
-                <tr><td>Setup-Gebühr (einmalig):</td><td style="text-align: right;">'.$data['setup'].' €</td></tr>';
86
-            $form .='</table>';
86
+                $form = '<p>Folgende Konditionen gelten beim Transfer der Domain im nächsten Schritt:</p>
87
+                    <table>
88
+                    <tr><td>Domainname:</td><td><strong>'.$data['domainname'].'</strong></td></tr>
89
+                    <tr><td>Jahresgebühr:</td><td style="text-align: right;">'.$data['gebuehr'].' €</td></tr>';
90
+                if ($data['setup']) {
91
+                    $form .= '<tr><td>Setup-Gebühr (einmalig):</td><td style="text-align: right;">'.$data['setup'].' €</td></tr>';
92
+                }
93
+                $form .='</table>';
87 94
 
88 95
 
89
-            $form .= '<p><input type="hidden" name="domain" value="'.filter_input_general($_REQUEST['domain']).'">
90
-                <input type="submit" name="submit" value="Ich möchte diese Domain zu '.config('company_name').' umziehen"></p>';
96
+                $form .= '<p><input type="hidden" name="domain" value="'.filter_input_general($_REQUEST['domain']).'">
97
+                    <input type="submit" name="submit" value="Ich möchte diese Domain zu '.config('company_name').' umziehen"></p>';
91 98
 
92
-            output(html_form('domains_transferin', 'domainreg', '', $form));
99
+                output(html_form('domains_transferin', 'domainreg', '', $form));
93 100
 
101
+            }
94 102
         }
95 103
         output('<h3>Diese Domain als externe Domain nutzen</h3>');
96 104
         output('<p>Sie können diese Domain für Konfigurationen bei uns nutzen ohne einen Transfer vorzunehmen.</p>
97
-        <p><strong>Beachten Sie:</strong> Um diese Domain nutzen zu können, benötigen Sie bei Ihrem bisherigen Domainregistrar die Möglichkeit, DNS-Records anzulegen oder die zuständigen DNS-Server zu ändern. Sie können dann entweder unsere DNS-Server nutzen oder einzelne DNS-Records auf unsere Server einrichten.</p>');
105
+                <p><strong>Beachten Sie:</strong> Um diese Domain nutzen zu können, benötigen Sie bei Ihrem bisherigen Domainregistrar die Möglichkeit, DNS-Records anzulegen oder die zuständigen DNS-Server zu ändern. Sie können dann entweder unsere DNS-Server nutzen oder einzelne DNS-Records auf unsere Server einrichten.</p>');
98 106
 
99 107
         output('<p>Mit Betätigen des unten stehenden Knopfes bestätigen Sie, dass Sie entweder der Domaininhaber sind oder mit expliziter Zustimmung des Domaininhabers handeln.</p>');
100 108
         $form = '
... ...
@@ -121,7 +129,7 @@ if (isset($_REQUEST['domain'])) {
121 129
     } else {
122 130
         output('<p class="domain-unavailable">Die Domain '.filter_input_general($_REQUEST['domain']).' kann nicht registriert werden.</p>');
123 131
 
124
-        switch ($avail) {
132
+        switch ($avail['status']) {
125 133
             case 'nameContainsForbiddenCharacter':
126 134
                 output('<p>Der Domainname enthält unerlaubte Zeichen.</p>');
127 135
                 break;
... ...
@@ -133,7 +141,6 @@ if (isset($_REQUEST['domain'])) {
133 141
                 break;
134 142
             default:
135 143
                 output('<p>Ein Fehler ist aufgetreten beim Prüfen der Verfügbarkeit. Eventuell geht es später wieder.</p>');
136
-
137 144
         }
138 145
     }
139 146
 
Browse code

Erste Vorbereitungen für Domainregistrierung

Bernd Wurst authored on 02/02/2018 05:25:41
Showing 1 changed files
... ...
@@ -60,16 +60,6 @@ if (isset($_REQUEST['domain'])) {
60 60
             <tr><td>Domainname:</td><td><strong>'.$data['domainname'].'</strong></td></tr>
61 61
             <tr><td>Jahresgebühr:</td><td style="text-align: right;">'.$data['gebuehr'].' €</td></tr>
62 62
             <tr><td>Setup-Gebühr (einmalig):</td><td style="text-align: right;">'.$data['setup'].' €</td></tr>';
63
-        $users = list_useraccounts();
64
-        if (count($users) > 1) {
65
-            $userselect = array();
66
-            foreach ($users as $u) {
67
-                $userselect[$u['uid']] = $u['username'].' / '.$u['name'];
68
-            }
69
-
70
-
71
-            $form .= '<tr><td>Benutzeraccount:</td><td>'.html_select('uid', $userselect).'</td></tr>';
72
-        }
73 63
         $form .='</table>';
74 64
 
75 65
 
Browse code

Erkenne Domains die schon bei uns in der DB sind und gebe eine passende Meldung aus

Bernd Wurst authored on 30/01/2018 09:11:15
Showing 1 changed files
... ...
@@ -38,6 +38,15 @@ if (isset($_REQUEST['domain'])) {
38 38
         warning('Leerzeichen sind in Domainnamen nicht erlaubt.');
39 39
         redirect('');
40 40
     }
41
+    $dom = new Domain();
42
+    if ($dom->loadByName($_REQUEST['domain']) !== false) {
43
+        if ($dom->is_customerdomain()) {
44
+            warning('Diese Domain ist bereits in Ihrem Kundenkonto eingetragen!');
45
+        } else {
46
+            warning('Diese Domain ist bei einem anderen Kunden von uns in Nutzung. Kontaktieren Sie den Support, wenn Sie eine Domain in ein anderes Kundenkonto übertragen möchten.');
47
+        }
48
+        redirect('');
49
+    }
41 50
     $avail = api_domain_available($_REQUEST['domain']);
42 51
     if ($avail == 'available') {
43 52
         output('<p class="domain-available">Die Domain '.filter_input_general($_REQUEST['domain']).' ist verfügbar!</p>');
... ...
@@ -98,11 +107,19 @@ if (isset($_REQUEST['domain'])) {
98 107
         <p><strong>Beachten Sie:</strong> Um diese Domain nutzen zu können, benötigen Sie bei Ihrem bisherigen Domainregistrar die Möglichkeit, DNS-Records anzulegen oder die zuständigen DNS-Server zu ändern. Sie können dann entweder unsere DNS-Server nutzen oder einzelne DNS-Records auf unsere Server einrichten.</p>');
99 108
 
100 109
         output('<p>Mit Betätigen des unten stehenden Knopfes bestätigen Sie, dass Sie entweder der Domaininhaber sind oder mit expliziter Zustimmung des Domaininhabers handeln.</p>');
101
-        $form = '<p class="buttonset" id="buttonset-external">
110
+        $form = '
111
+            <p class="buttonset" id="buttonset-external">
102 112
             <input type="radio" name="dns" id="option-dns-enable" value="enable" />
103 113
             <label for="option-dns-enable">Lokalen DNS-Server aktivieren</label>
104 114
             <input type="radio" name="dns" id="option-dns-disable" value="disable" checked="checked" />
105 115
             <label for="option-dns-disable">Weiterhin externen DNS verwenden</label>
116
+            </p>
117
+
118
+            <p class="buttonset" id="buttonset-email">
119
+            <input type="radio" name="email" id="option-email-enable" value="enable" checked="checked" />
120
+            <label for="option-email-enable">E-Mail-Nutzung aktivieren</label>
121
+            <input type="radio" name="email" id="option-email-disable" value="disable" />
122
+            <label for="option-email-disable">Nicht für E-Mail nutzen</label>
106 123
             </p>';
107 124
 
108 125
         $form .= '<p><input type="hidden" name="domain" value="'.filter_input_general($_REQUEST['domain']).'">
... ...
@@ -118,6 +135,8 @@ if (isset($_REQUEST['domain'])) {
118 135
             case 'nameContainsForbiddenCharacter':
119 136
                 output('<p>Der Domainname enthält unerlaubte Zeichen.</p>');
120 137
                 break;
138
+            case 'extensionDoesNotExist':
139
+            case 'extensionCannotBeRegistered':
121 140
             case 'suffixDoesNotExist':
122 141
             case 'suffixCannotBeRegistered':
123 142
                 output('<p>Diese Endung ist nicht verfügbar.</p>');
Browse code

Ermögliche das Hinzufügen externer Domains

Bernd Wurst authored on 28/01/2018 07:23:10
Showing 1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,131 @@
1
+<?php
2
+/*
3
+This file belongs to the Webinterface of schokokeks.org Hosting
4
+
5
+Written 2008-2018 by schokokeks.org Hosting, namely
6
+  Bernd Wurst <bernd@schokokeks.org>
7
+  Hanno Böck <hanno@schokokeks.org>
8
+
9
+To the extent possible under law, the author(s) have dedicated all copyright and related and neighboring rights to this software to the public domain worldwide. This software is distributed without any warranty.
10
+
11
+You should have received a copy of the CC0 Public Domain Dedication along with this software. If not, see 
12
+http://creativecommons.org/publicdomain/zero/1.0/
13
+
14
+Nevertheless, in case you use a significant part of this code, we ask (but not require, see the license) that you keep the authors' names in place and return your changes to the public. We would be especially happy if you tell us what you're going to do with this code.
15
+*/
16
+
17
+require_once('inc/security.php');
18
+require_once('inc/icons.php');
19
+require_once('inc/jquery.php');
20
+javascript();
21
+
22
+require_once('domainapi.php');
23
+require_once('domains.php');
24
+
25
+require_role(ROLE_CUSTOMER);
26
+
27
+title("Domain hinzufügen");
28
+$section='domains_domains';
29
+
30
+output('<p>Mit dieser Funktion können Sie eine neue Domain bestellen oder eine bestehende, extern registrierte Domain verfügbar machen.</p>');
31
+
32
+$form = '<p>Domainname: <input type="text" name="domain" size="50" /> <input type="submit" value="Verfügbarkeit prüfen" />';
33
+
34
+output(html_form('adddomain_search', '', '', $form));
35
+
36
+if (isset($_REQUEST['domain'])) {
37
+    if (strpos($_REQUEST['domain'], ' ') !== false) {
38
+        warning('Leerzeichen sind in Domainnamen nicht erlaubt.');
39
+        redirect('');
40
+    }
41
+    $avail = api_domain_available($_REQUEST['domain']);
42
+    if ($avail == 'available') {
43
+        output('<p class="domain-available">Die Domain '.filter_input_general($_REQUEST['domain']).' ist verfügbar!</p>');
44
+        # Neue Domain eintragen
45
+        $data = get_domain_offer($_REQUEST['domain']);
46
+        if (!$data) {
47
+            redirect('');
48
+        }
49
+        $form = '<p>Folgende Konditionen gelten bei Registrierung der Domain im nächsten Schritt:</p>
50
+            <table>
51
+            <tr><td>Domainname:</td><td><strong>'.$data['domainname'].'</strong></td></tr>
52
+            <tr><td>Jahresgebühr:</td><td style="text-align: right;">'.$data['gebuehr'].' €</td></tr>
53
+            <tr><td>Setup-Gebühr (einmalig):</td><td style="text-align: right;">'.$data['setup'].' €</td></tr>';
54
+        $users = list_useraccounts();
55
+        if (count($users) > 1) {
56
+            $userselect = array();
57
+            foreach ($users as $u) {
58
+                $userselect[$u['uid']] = $u['username'].' / '.$u['name'];
59
+            }
60
+
61
+
62
+            $form .= '<tr><td>Benutzeraccount:</td><td>'.html_select('uid', $userselect).'</td></tr>';
63
+        }
64
+        $form .='</table>';
65
+
66
+
67
+        $form .= '<p><input type="hidden" name="domain" value="'.filter_input_general($_REQUEST['domain']).'">
68
+            <input type="submit" name="submit" value="Ich möchte diese Domain registrieren"></p>';
69
+        output(html_form('domains_register', 'domainreg', '', $form));
70
+        output('<p>'.internal_link('domains', 'Zurück').'</p>');
71
+    } elseif ($avail == 'registered' || $avail == 'alreadyRegistered') {
72
+        output('<p class="domain-unavailable">Die Domain '.filter_input_general($_REQUEST['domain']).' ist bereits vergeben.</p>');
73
+        
74
+        output('<h3>Domain zu '.config('company_name').' umziehen</h3>');
75
+        $data = get_domain_offer($_REQUEST['domain']);
76
+
77
+        if (! $data) {
78
+            // Die Include-Datei setzt eine passende Warning-Nachricht
79
+            output('<p>Eine Registrierung ist nicht automatisiert möglich. Bitte wenden Sie sich an den Support.');
80
+        } else {
81
+
82
+            $form = '<p>Folgende Konditionen gelten beim Transfer der Domain im nächsten Schritt:</p>
83
+                <table>
84
+                <tr><td>Domainname:</td><td><strong>'.$data['domainname'].'</strong></td></tr>
85
+                <tr><td>Jahresgebühr:</td><td style="text-align: right;">'.$data['gebuehr'].' €</td></tr>
86
+                <tr><td>Setup-Gebühr (einmalig):</td><td style="text-align: right;">'.$data['setup'].' €</td></tr>';
87
+            $form .='</table>';
88
+
89
+
90
+            $form .= '<p><input type="hidden" name="domain" value="'.filter_input_general($_REQUEST['domain']).'">
91
+                <input type="submit" name="submit" value="Ich möchte diese Domain zu '.config('company_name').' umziehen"></p>';
92
+
93
+            output(html_form('domains_transferin', 'domainreg', '', $form));
94
+
95
+        }
96
+        output('<h3>Diese Domain als externe Domain nutzen</h3>');
97
+        output('<p>Sie können diese Domain für Konfigurationen bei uns nutzen ohne einen Transfer vorzunehmen.</p>
98
+        <p><strong>Beachten Sie:</strong> Um diese Domain nutzen zu können, benötigen Sie bei Ihrem bisherigen Domainregistrar die Möglichkeit, DNS-Records anzulegen oder die zuständigen DNS-Server zu ändern. Sie können dann entweder unsere DNS-Server nutzen oder einzelne DNS-Records auf unsere Server einrichten.</p>');
99
+
100
+        output('<p>Mit Betätigen des unten stehenden Knopfes bestätigen Sie, dass Sie entweder der Domaininhaber sind oder mit expliziter Zustimmung des Domaininhabers handeln.</p>');
101
+        $form = '<p class="buttonset" id="buttonset-external">
102
+            <input type="radio" name="dns" id="option-dns-enable" value="enable" />
103
+            <label for="option-dns-enable">Lokalen DNS-Server aktivieren</label>
104
+            <input type="radio" name="dns" id="option-dns-disable" value="disable" checked="checked" />
105
+            <label for="option-dns-disable">Weiterhin externen DNS verwenden</label>
106
+            </p>';
107
+
108
+        $form .= '<p><input type="hidden" name="domain" value="'.filter_input_general($_REQUEST['domain']).'">
109
+            <input type="submit" name="submit" value="Diese Domain bei '.config('company_name').' verwenden"></p>';
110
+
111
+        output(html_form('domains_external', 'useexternal', '', $form));
112
+        output('</div>');
113
+
114
+    } else {
115
+        output('<p class="domain-unavailable">Die Domain '.filter_input_general($_REQUEST['domain']).' kann nicht registriert werden.</p>');
116
+
117
+        switch ($avail) {
118
+            case 'nameContainsForbiddenCharacter':
119
+                output('<p>Der Domainname enthält unerlaubte Zeichen.</p>');
120
+                break;
121
+            case 'suffixDoesNotExist':
122
+            case 'suffixCannotBeRegistered':
123
+                output('<p>Diese Endung ist nicht verfügbar.</p>');
124
+                break;
125
+            default:
126
+                output('<p>Ein Fehler ist aufgetreten beim Prüfen der Verfügbarkeit. Eventuell geht es später wieder.</p>');
127
+
128
+        }
129
+    }
130
+
131
+}