Browse code

Umstellung von filter_input_general() auf filter_output_html()

Bernd Wurst authored on21/09/2019 17:07:48
Showing1 changed files
... ...
@@ -34,10 +34,10 @@ if (isset($_REQUEST['domain'])) {
34 34
     if (substr($request, 0, 4) == 'www.') {
35 35
         $request = str_replace('www.', '', $request);
36 36
     }
37
-    verify_input_general($request);
37
+    verify_input_hostname_utf8($request);
38 38
     $punycode = idn_to_ascii($request, 0, INTL_IDNA_VARIANT_UTS46);
39 39
     if (!check_domain($punycode)) {
40
-        warning("Ungültiger Domainname: ".filter_input_general($request));
40
+        warning("Ungültiger Domainname: ".filter_output_html($request));
41 41
         redirect('adddomain');
42 42
     }
43 43
     $dom = new Domain();
... ...
@@ -170,7 +170,7 @@ $form .='</table>';
170 170
 $form .= '<p>Mit dieser Bestellung geben Sie eine verbindliche Willenserklärung ab, diese Domain registrieren zu wollen. Sie treten in ein Vertragsverhältnis zu '.config('company_name').' unter dem Vorbehalt, dass die Domain registriert werden kann. Die Hoheit über die Vergabe der Domains hat die jeweils zuständige Registrierungsstelle. Es gelten die Vergabe-Bedingungen der jeweils zuständigen Registrierungsstelle.</p>
171 171
 <p>Der Domain-Vertrag beginnt mit Zuteilung der Domain durch die Regisrierungsstelle und läuft jeweils '.$pricedata['interval'].' Monate. Er verlängert sich stets automatisch um weitere '.$pricedata['interval'].' Monate, wenn nicht bis 14 Tage vor Ende der Laufzeit eine Kündigung vorliegt.</p>';
172 172
 
173
-$form .= '<p><input type="hidden" name="domain" value="'.filter_input_general($dom->fqdn).'">
173
+$form .= '<p><input type="hidden" name="domain" value="'.filter_output_html($dom->fqdn).'">
174 174
 <input type="submit" name="submit" value="Kostenpflichtigen Vertrag abschließen"></p>';
175 175
 output(html_form('domains_domainreg', 'domainreg_save', '', $form));
176 176
 output('<p>'.internal_link('domains', 'Zurück').'</p>');
Browse code

Entferne Beta-Hinweis bei der Domain-Reg-Funktion

Bernd Wurst authored on11/07/2018 20:49:28
Showing1 changed files
... ...
@@ -98,8 +98,6 @@ if ($avail['status'] == 'available') {
98 98
     title("Domain-Transfer vornehmen");
99 99
 }
100 100
 
101
-beta_notice();
102
-
103 101
 output("<p>Domainname: <strong>".$dom->fqdn."</strong></p>");
104 102
 
105 103
 $section='domains_domains';
Browse code

remove whitespace in empty lines

Hanno authored on26/06/2018 23:36:40
Showing1 changed files
... ...
@@ -55,7 +55,7 @@ if (isset($_REQUEST['domain'])) {
55 55
     if ($dom->provider == 'terions') {
56 56
         system_failure("Diese Domain ist bereits auf Ihr Kundenkonto registriert.");
57 57
     }
58
-    
58
+
59 59
     // An diesem Punkt ist die Domain eingetragen als extern und ggf. mit Mailserver-Lock
60 60
     // Bei der Reg-Bestätigung wird das Lock entfernt und die Daten entsprechend gesetzt, inklusive Preise.
61 61
 
Browse code

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

Hanno authored on26/06/2018 13:58:19
Showing1 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.
... ...
@@ -28,7 +28,7 @@ if (! config('http.net-apikey')) {
28 28
     system_failure("Dieses System ist nicht eingerichtet zum Hinzufügen von Domains");
29 29
 }
30 30
 
31
-$dom = NULL;
31
+$dom = null;
32 32
 if (isset($_REQUEST['domain'])) {
33 33
     $request = idn_to_utf8($_REQUEST['domain'], 0, INTL_IDNA_VARIANT_UTS46);
34 34
     if (substr($request, 0, 4) == 'www.') {
... ...
@@ -50,7 +50,7 @@ if (isset($_REQUEST['domain'])) {
50 50
         // Eintragen mit DNS und Mail
51 51
         $id = insert_domain_external($request, true, true);
52 52
         $dom->loadByName($request);
53
-    } 
53
+    }
54 54
     $dom->ensure_customerdomain();
55 55
     if ($dom->provider == 'terions') {
56 56
         system_failure("Diese Domain ist bereits auf Ihr Kundenkonto registriert.");
... ...
@@ -63,7 +63,6 @@ if (isset($_REQUEST['domain'])) {
63 63
     $_SESSION['domains_domainreg_admin_c'] = $dom->admin_c;
64 64
     $_SESSION['domains_domainreg_domainname'] = $request;
65 65
     $_SESSION['domains_domainreg_detach'] = 0;
66
-    
67 66
 } elseif (isset($_SESSION['domains_domainreg_domainname'])) {
68 67
     $domain = $_SESSION['domains_domainreg_domainname'];
69 68
     $dom = new Domain($domain);
... ...
@@ -86,7 +85,7 @@ if (!$pricedata) {
86 85
     warning('Die Domain '.$dom->fqdn.' kann nicht über dieses Webinterface umgezogen werden weil bei dieser Endung Besonderheiten zu beachten sind. Bitte kontaktieren Sie den Support.');
87 86
     redirect('domains');
88 87
 }
89
-$mode=NULL;
88
+$mode=null;
90 89
 
91 90
 if ($avail['status'] == 'available') {
92 91
     set_domain_prereg($dom->id);
... ...
@@ -109,7 +108,7 @@ $section='domains_domains';
109 108
 output('<h4>Inhaber der Domain</h4>');
110 109
 output('<p>Legen Sie hier einen neuen Inhaber für diese Domain fest.</p>');
111 110
 
112
-if ($_SESSION['domains_domainreg_owner'] === NULL) {
111
+if ($_SESSION['domains_domainreg_owner'] === null) {
113 112
     $kundenkontakte = get_kundenkontakte();
114 113
     $customer = get_contact($kundenkontakte['kunde']);
115 114
     if (possible_domainholder($customer)) {
... ...
@@ -124,7 +123,7 @@ if ($_SESSION['domains_domainreg_owner'] === NULL) {
124 123
 
125 124
 if ($_SESSION['domains_domainreg_detach'] == 0) {
126 125
     $_SESSION['domains_domainreg_admin_c'] = $_SESSION['domains_domainreg_owner'];
127
-} 
126
+}
128 127
 
129 128
 // Behandlung für "keinen extra Verwalter"
130 129
 if (isset($_GET['admin_c']) && $_GET['admin_c'] == 'none') {
... ...
@@ -158,7 +157,6 @@ $form = '';
158 157
 if ($mode == 'transfer') {
159 158
     $form .= '<h4>Auth-Info-Code für den Transfer</h4>';
160 159
     $form .= '<p><label for="authinfo">Auth-Info-Code für den Domainumzug:</label> <input type="text" name="authinfo" id="authinfo"></p>';
161
-    
162 160
 }
163 161
 
164 162
 $form .= '<h4>Kosten</h4>';
... ...
@@ -178,8 +176,3 @@ $form .= '<p><input type="hidden" name="domain" value="'.filter_input_general($d
178 176
 <input type="submit" name="submit" value="Kostenpflichtigen Vertrag abschließen"></p>';
179 177
 output(html_form('domains_domainreg', 'domainreg_save', '', $form));
180 178
 output('<p>'.internal_link('domains', 'Zurück').'</p>');
181
-
182
-
183
-
184
-
185
-
Browse code

Setze wenn möglich einen sinnvollen Default für den Domaininhaber

Bernd Wurst authored on17/02/2018 16:27:46
Showing1 changed files
... ...
@@ -109,6 +109,19 @@ $section='domains_domains';
109 109
 output('<h4>Inhaber der Domain</h4>');
110 110
 output('<p>Legen Sie hier einen neuen Inhaber für diese Domain fest.</p>');
111 111
 
112
+if ($_SESSION['domains_domainreg_owner'] === NULL) {
113
+    $kundenkontakte = get_kundenkontakte();
114
+    $customer = get_contact($kundenkontakte['kunde']);
115
+    if (possible_domainholder($customer)) {
116
+        $_SESSION['domains_domainreg_owner'] = $kundenkontakte['kunde'];
117
+    } else {
118
+        $list = array_keys(possible_domainholders());
119
+        if (count($list) > 0) {
120
+            $_SESSION['domains_domainreg_owner'] = $list[0];
121
+        }
122
+    }
123
+}
124
+
112 125
 if ($_SESSION['domains_domainreg_detach'] == 0) {
113 126
     $_SESSION['domains_domainreg_admin_c'] = $_SESSION['domains_domainreg_owner'];
114 127
 } 
... ...
@@ -130,11 +143,11 @@ if ($_SESSION['domains_domainreg_owner']) {
130 143
 } else {
131 144
     output('<p><strong>Inhaber und Verwalter:</strong></p><p><em>Bisher kein Inhaber ausgewählt</em>');
132 145
 }
133
-addnew('choose', 'Neuen Inhaber wählen', "type=owner&backto=domainreg");
146
+addnew('choose', 'Inhaber wählen', "type=owner&backto=domainreg");
134 147
 if ($_SESSION['domains_domainreg_admin_c'] != $_SESSION['domains_domainreg_owner']) {
135 148
     $admin_c = get_contact($_SESSION['domains_domainreg_admin_c']);
136 149
     output('<p><strong>Verwalter:</strong></p>'.display_contact($admin_c, ''));
137
-    addnew('choose', 'Neuen Verwalter wählen', "type=admin_c&backto=domainreg");
150
+    addnew('choose', 'Anderen Verwalter wählen', "type=admin_c&backto=domainreg");
138 151
     output('<p class="delete">'.internal_link('', 'Keinen separaten Verwalter festlegen', 'admin_c=none').'</p>');
139 152
 } else {
140 153
     addnew('choose', 'Einen separaten Verwalter wählen', "type=admin_c&detach=1&backto=domainreg");
Browse code

Beta-Hinweis eingefügt

Bernd Wurst authored on14/02/2018 06:13:47
Showing1 changed files
... ...
@@ -38,7 +38,7 @@ if (isset($_REQUEST['domain'])) {
38 38
     $punycode = idn_to_ascii($request, 0, INTL_IDNA_VARIANT_UTS46);
39 39
     if (!check_domain($punycode)) {
40 40
         warning("Ungültiger Domainname: ".filter_input_general($request));
41
-        redirect('');
41
+        redirect('adddomain');
42 42
     }
43 43
     $dom = new Domain();
44 44
     if ($dom->loadByName($request) !== false && !$dom->is_customerdomain()) {
... ...
@@ -99,6 +99,7 @@ if ($avail['status'] == 'available') {
99 99
     title("Domain-Transfer vornehmen");
100 100
 }
101 101
 
102
+beta_notice();
102 103
 
103 104
 output("<p>Domainname: <strong>".$dom->fqdn."</strong></p>");
104 105
 
Browse code

Ermögliche das Umziehen von Domains die schon vorher als extern eingetragen waren

Bernd Wurst authored on09/02/2018 05:30:51
Showing1 changed files
... ...
@@ -41,13 +41,9 @@ if (isset($_REQUEST['domain'])) {
41 41
         redirect('');
42 42
     }
43 43
     $dom = new Domain();
44
-    if ($dom->loadByName($request) !== false) {
45
-        if ($dom->is_customerdomain()) {
46
-            warning('Diese Domain ist bereits in Ihrem Kundenkonto eingetragen!');
47
-        } else {
48
-            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.');
49
-        }
50
-        redirect('');
44
+    if ($dom->loadByName($request) !== false && !$dom->is_customerdomain()) {
45
+        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.');
46
+        redirect('adddomain');
51 47
     }
52 48
     $dom = new Domain();
53 49
     if ($dom->loadByName($request) === false) {
... ...
@@ -86,7 +82,9 @@ if ($tld != $dom->tld) {
86 82
 
87 83
 $pricedata = get_domain_offer($tld);
88 84
 if (!$pricedata) {
89
-    redirect('adddomain');
85
+    // Hier kommen wir hin, wenn eine externe Domain umgezogen wird, deren Endung wir nicht automatisch anbieten
86
+    warning('Die Domain '.$dom->fqdn.' kann nicht über dieses Webinterface umgezogen werden weil bei dieser Endung Besonderheiten zu beachten sind. Bitte kontaktieren Sie den Support.');
87
+    redirect('domains');
90 88
 }
91 89
 $mode=NULL;
92 90
 
Browse code

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

Bernd Wurst authored on09/02/2018 05:16:15
Showing1 changed files
... ...
@@ -24,6 +24,9 @@ require_role(ROLE_CUSTOMER);
24 24
 use_module('contacts');
25 25
 require_once('contacts.php');
26 26
 
27
+if (! config('http.net-apikey')) {
28
+    system_failure("Dieses System ist nicht eingerichtet zum Hinzufügen von Domains");
29
+}
27 30
 
28 31
 $dom = NULL;
29 32
 if (isset($_REQUEST['domain'])) {
Browse code

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

Bernd Wurst authored on08/02/2018 15:36:32
Showing1 changed files
... ...
@@ -151,9 +151,9 @@ $form .= '<h4>Kosten</h4>';
151 151
 $form .= '<p>Für die Verwaltung der Domain fallen folgende Kosten an:</p>
152 152
 <table>
153 153
 <tr><td>Domainname:</td><td><strong>'.$dom->fqdn.'</strong></td></tr>
154
-<tr><td>Jahresgebühr:</td><td style="text-align: right;">'.$pricedata['gebuehr'].' €</td></tr>';
154
+<tr><td>Jahresgebühr:</td><td style="text-align: right;">'.$pricedata['gebuehr'].' €'.footnote('Preis für Deutschland, inkl. 19% USt. Preise für andere Länder entsprechend. Bitte beim Support anfragen').'</td></tr>';
155 155
 if ($pricedata['setup']) {
156
-    $form .= '<tr><td>Setup-Gebühr (einmalig):</td><td style="text-align: right;">'.$pricedata['setup'].' €</td></tr>';
156
+    $form .= '<tr><td>Setup-Gebühr (einmalig):</td><td style="text-align: right;">'.$pricedata['setup'].' €'.footnote('Preis für Deutschland, inkl. 19% USt. Preise für andere Länder entsprechend. Bitte beim Support anfragen').'</td></tr>';
157 157
 }
158 158
 $form .='</table>';
159 159
 $form .= '<p>Mit dieser Bestellung geben Sie eine verbindliche Willenserklärung ab, diese Domain registrieren zu wollen. Sie treten in ein Vertragsverhältnis zu '.config('company_name').' unter dem Vorbehalt, dass die Domain registriert werden kann. Die Hoheit über die Vergabe der Domains hat die jeweils zuständige Registrierungsstelle. Es gelten die Vergabe-Bedingungen der jeweils zuständigen Registrierungsstelle.</p>
Browse code

hardening domain input (II)

Bernd Wurst authored on06/02/2018 17:55:49
Showing1 changed files
... ...
@@ -27,15 +27,30 @@ require_once('contacts.php');
27 27
 
28 28
 $dom = NULL;
29 29
 if (isset($_REQUEST['domain'])) {
30
-    $domain = $_REQUEST['domain'];
31
-    if (strpos($domain, ' ') !== false) {
32
-        system_failure('Leerzeichen sind in Domainnamen nicht erlaubt.');
30
+    $request = idn_to_utf8($_REQUEST['domain'], 0, INTL_IDNA_VARIANT_UTS46);
31
+    if (substr($request, 0, 4) == 'www.') {
32
+        $request = str_replace('www.', '', $request);
33
+    }
34
+    verify_input_general($request);
35
+    $punycode = idn_to_ascii($request, 0, INTL_IDNA_VARIANT_UTS46);
36
+    if (!check_domain($punycode)) {
37
+        warning("Ungültiger Domainname: ".filter_input_general($request));
38
+        redirect('');
39
+    }
40
+    $dom = new Domain();
41
+    if ($dom->loadByName($request) !== false) {
42
+        if ($dom->is_customerdomain()) {
43
+            warning('Diese Domain ist bereits in Ihrem Kundenkonto eingetragen!');
44
+        } else {
45
+            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.');
46
+        }
47
+        redirect('');
33 48
     }
34 49
     $dom = new Domain();
35
-    if ($dom->loadByName($domain) === false) {
50
+    if ($dom->loadByName($request) === false) {
36 51
         // Eintragen mit DNS und Mail
37
-        $id = insert_domain_external($domain, true, true);
38
-        $dom->loadByName($domain);
52
+        $id = insert_domain_external($request, true, true);
53
+        $dom->loadByName($request);
39 54
     } 
40 55
     $dom->ensure_customerdomain();
41 56
     if ($dom->provider == 'terions') {
... ...
@@ -47,7 +62,7 @@ if (isset($_REQUEST['domain'])) {
47 62
 
48 63
     $_SESSION['domains_domainreg_owner'] = $dom->owner;
49 64
     $_SESSION['domains_domainreg_admin_c'] = $dom->admin_c;
50
-    $_SESSION['domains_domainreg_domainname'] = $domain;
65
+    $_SESSION['domains_domainreg_domainname'] = $request;
51 66
     $_SESSION['domains_domainreg_detach'] = 0;
52 67
     
53 68
 } elseif (isset($_SESSION['domains_domainreg_domainname'])) {
... ...
@@ -141,7 +156,8 @@ if ($pricedata['setup']) {
141 156
     $form .= '<tr><td>Setup-Gebühr (einmalig):</td><td style="text-align: right;">'.$pricedata['setup'].' €</td></tr>';
142 157
 }
143 158
 $form .='</table>';
144
-$form .= '<p>Der Domain-Vertrag beginnt mit Zuteilung der Domain durch die Regisrierungsstelle und läuft jeweils ein Jahr. Er verlängert sich stets automatisch um ein weiteres Jahr, wenn nicht bis 14 Tage vor Ende der Laufzeit eine Kündigung vorliegt.</p>';
159
+$form .= '<p>Mit dieser Bestellung geben Sie eine verbindliche Willenserklärung ab, diese Domain registrieren zu wollen. Sie treten in ein Vertragsverhältnis zu '.config('company_name').' unter dem Vorbehalt, dass die Domain registriert werden kann. Die Hoheit über die Vergabe der Domains hat die jeweils zuständige Registrierungsstelle. Es gelten die Vergabe-Bedingungen der jeweils zuständigen Registrierungsstelle.</p>
160
+<p>Der Domain-Vertrag beginnt mit Zuteilung der Domain durch die Regisrierungsstelle und läuft jeweils '.$pricedata['interval'].' Monate. Er verlängert sich stets automatisch um weitere '.$pricedata['interval'].' Monate, wenn nicht bis 14 Tage vor Ende der Laufzeit eine Kündigung vorliegt.</p>';
145 161
 
146 162
 $form .= '<p><input type="hidden" name="domain" value="'.filter_input_general($dom->fqdn).'">
147 163
 <input type="submit" name="submit" value="Kostenpflichtigen Vertrag abschließen"></p>';
Browse code

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

Bernd Wurst authored on05/02/2018 09:04:50
Showing1 changed files
... ...
@@ -60,13 +60,18 @@ if (!$dom) {
60 60
     system_failure("Keine Domain");
61 61
 }
62 62
 
63
-$pricedata = get_domain_offer($dom->fqdn);
63
+$avail = api_domain_available($dom->fqdn);
64
+$tld = $avail['extension'];
65
+if ($tld != $dom->tld) {
66
+    system_failure("Fehler in den Daten! Bitte Support informieren");
67
+}
68
+
69
+$pricedata = get_domain_offer($tld);
64 70
 if (!$pricedata) {
65 71
     redirect('adddomain');
66 72
 }
67 73
 $mode=NULL;
68 74
 
69
-$avail = api_domain_available($dom->fqdn);
70 75
 if ($avail['status'] == 'available') {
71 76
     set_domain_prereg($dom->id);
72 77
     $mode = 'reg';
Browse code

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

Bernd Wurst authored on03/02/2018 15:39:25
Showing1 changed files
... ...
@@ -45,8 +45,8 @@ if (isset($_REQUEST['domain'])) {
45 45
     // An diesem Punkt ist die Domain eingetragen als extern und ggf. mit Mailserver-Lock
46 46
     // Bei der Reg-Bestätigung wird das Lock entfernt und die Daten entsprechend gesetzt, inklusive Preise.
47 47
 
48
-    $_SESSION['domains_domainreg_owner'] = NULL;
49
-    $_SESSION['domains_domainreg_admin_c'] = NULL;
48
+    $_SESSION['domains_domainreg_owner'] = $dom->owner;
49
+    $_SESSION['domains_domainreg_admin_c'] = $dom->admin_c;
50 50
     $_SESSION['domains_domainreg_domainname'] = $domain;
51 51
     $_SESSION['domains_domainreg_detach'] = 0;
52 52
     
... ...
@@ -60,14 +60,18 @@ if (!$dom) {
60 60
     system_failure("Keine Domain");
61 61
 }
62 62
 
63
+$pricedata = get_domain_offer($dom->fqdn);
64
+if (!$pricedata) {
65
+    redirect('adddomain');
66
+}
63 67
 $mode=NULL;
64 68
 
65 69
 $avail = api_domain_available($dom->fqdn);
66
-if ($avail == 'available') {
70
+if ($avail['status'] == 'available') {
67 71
     set_domain_prereg($dom->id);
68 72
     $mode = 'reg';
69 73
     title("Domain registrieren");
70
-} elseif ($avail == 'registered' || $avail == 'alreadyRegistered') {
74
+} elseif ($avail['status'] == 'registered' || $avail['status'] == 'alreadyRegistered') {
71 75
     // FIXME: alreadyRegistered bedeutet, dass die Domain bereits über uns verwaltet wird. Das wird dann hier nicht funktionieren
72 76
     set_domain_pretransfer($dom->id);
73 77
     $mode = 'transfer';
... ...
@@ -115,6 +119,29 @@ if ($_SESSION['domains_domainreg_admin_c'] != $_SESSION['domains_domainreg_owner
115 119
 }
116 120
 
117 121
 
122
+$form = '';
123
+if ($mode == 'transfer') {
124
+    $form .= '<h4>Auth-Info-Code für den Transfer</h4>';
125
+    $form .= '<p><label for="authinfo">Auth-Info-Code für den Domainumzug:</label> <input type="text" name="authinfo" id="authinfo"></p>';
126
+    
127
+}
128
+
129
+$form .= '<h4>Kosten</h4>';
130
+
131
+$form .= '<p>Für die Verwaltung der Domain fallen folgende Kosten an:</p>
132
+<table>
133
+<tr><td>Domainname:</td><td><strong>'.$dom->fqdn.'</strong></td></tr>
134
+<tr><td>Jahresgebühr:</td><td style="text-align: right;">'.$pricedata['gebuehr'].' €</td></tr>';
135
+if ($pricedata['setup']) {
136
+    $form .= '<tr><td>Setup-Gebühr (einmalig):</td><td style="text-align: right;">'.$pricedata['setup'].' €</td></tr>';
137
+}
138
+$form .='</table>';
139
+$form .= '<p>Der Domain-Vertrag beginnt mit Zuteilung der Domain durch die Regisrierungsstelle und läuft jeweils ein Jahr. Er verlängert sich stets automatisch um ein weiteres Jahr, wenn nicht bis 14 Tage vor Ende der Laufzeit eine Kündigung vorliegt.</p>';
140
+
141
+$form .= '<p><input type="hidden" name="domain" value="'.filter_input_general($dom->fqdn).'">
142
+<input type="submit" name="submit" value="Kostenpflichtigen Vertrag abschließen"></p>';
143
+output(html_form('domains_domainreg', 'domainreg_save', '', $form));
144
+output('<p>'.internal_link('domains', 'Zurück').'</p>');
118 145
 
119 146
 
120 147
 
Browse code

Erste Vorbereitungen für Domainregistrierung

Bernd Wurst authored on02/02/2018 05:25:41
Showing1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,122 @@
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('class/domain.php');
20
+
21
+require_once('domains.php');
22
+require_once('domainapi.php');
23
+require_role(ROLE_CUSTOMER);
24
+use_module('contacts');
25
+require_once('contacts.php');
26
+
27
+
28
+$dom = NULL;
29
+if (isset($_REQUEST['domain'])) {
30
+    $domain = $_REQUEST['domain'];
31
+    if (strpos($domain, ' ') !== false) {
32
+        system_failure('Leerzeichen sind in Domainnamen nicht erlaubt.');
33
+    }
34
+    $dom = new Domain();
35
+    if ($dom->loadByName($domain) === false) {
36
+        // Eintragen mit DNS und Mail
37
+        $id = insert_domain_external($domain, true, true);
38
+        $dom->loadByName($domain);
39
+    } 
40
+    $dom->ensure_customerdomain();
41
+    if ($dom->provider == 'terions') {
42
+        system_failure("Diese Domain ist bereits auf Ihr Kundenkonto registriert.");
43
+    }
44
+    
45
+    // An diesem Punkt ist die Domain eingetragen als extern und ggf. mit Mailserver-Lock
46
+    // Bei der Reg-Bestätigung wird das Lock entfernt und die Daten entsprechend gesetzt, inklusive Preise.
47
+
48
+    $_SESSION['domains_domainreg_owner'] = NULL;
49
+    $_SESSION['domains_domainreg_admin_c'] = NULL;
50
+    $_SESSION['domains_domainreg_domainname'] = $domain;
51
+    $_SESSION['domains_domainreg_detach'] = 0;
52
+    
53
+} elseif (isset($_SESSION['domains_domainreg_domainname'])) {
54
+    $domain = $_SESSION['domains_domainreg_domainname'];
55
+    $dom = new Domain($domain);
56
+    $dom->ensure_customerdomain();
57
+}
58
+
59
+if (!$dom) {
60
+    system_failure("Keine Domain");
61
+}
62
+
63
+$mode=NULL;
64
+
65
+$avail = api_domain_available($dom->fqdn);
66
+if ($avail == 'available') {
67
+    set_domain_prereg($dom->id);
68
+    $mode = 'reg';
69
+    title("Domain registrieren");
70
+} elseif ($avail == 'registered' || $avail == 'alreadyRegistered') {
71
+    // FIXME: alreadyRegistered bedeutet, dass die Domain bereits über uns verwaltet wird. Das wird dann hier nicht funktionieren
72
+    set_domain_pretransfer($dom->id);
73
+    $mode = 'transfer';
74
+    title("Domain-Transfer vornehmen");
75
+}
76
+
77
+
78
+output("<p>Domainname: <strong>".$dom->fqdn."</strong></p>");
79
+
80
+$section='domains_domains';
81
+
82
+
83
+output('<h4>Inhaber der Domain</h4>');
84
+output('<p>Legen Sie hier einen neuen Inhaber für diese Domain fest.</p>');
85
+
86
+if ($_SESSION['domains_domainreg_detach'] == 0) {
87
+    $_SESSION['domains_domainreg_admin_c'] = $_SESSION['domains_domainreg_owner'];
88
+} 
89
+
90
+// Behandlung für "keinen extra Verwalter"
91
+if (isset($_GET['admin_c']) && $_GET['admin_c'] == 'none') {
92
+    $_SESSION['domains_domainreg_admin_c'] = $_SESSION['domains_domainreg_owner'];
93
+    $_SESSION['domains_domainreg_detach'] = 0;
94
+}
95
+
96
+if ($_SESSION['domains_domainreg_owner']) {
97
+    $owner = get_contact($_SESSION['domains_domainreg_owner']);
98
+
99
+    $function = 'Inhaber';
100
+    if ($_SESSION['domains_domainreg_admin_c'] == $_SESSION['domains_domainreg_owner']) {
101
+        $function .= ' und Verwalter';
102
+    }
103
+    output('<p><strong>'.$function.':</strong></p>'.display_contact($owner, ''));
104
+} else {
105
+    output('<p><strong>Inhaber und Verwalter:</strong></p><p><em>Bisher kein Inhaber ausgewählt</em>');
106
+}
107
+addnew('choose', 'Neuen Inhaber wählen', "type=owner&backto=domainreg");
108
+if ($_SESSION['domains_domainreg_admin_c'] != $_SESSION['domains_domainreg_owner']) {
109
+    $admin_c = get_contact($_SESSION['domains_domainreg_admin_c']);
110
+    output('<p><strong>Verwalter:</strong></p>'.display_contact($admin_c, ''));
111
+    addnew('choose', 'Neuen Verwalter wählen', "type=admin_c&backto=domainreg");
112
+    output('<p class="delete">'.internal_link('', 'Keinen separaten Verwalter festlegen', 'admin_c=none').'</p>');
113
+} else {
114
+    addnew('choose', 'Einen separaten Verwalter wählen', "type=admin_c&detach=1&backto=domainreg");
115
+}
116
+
117
+
118
+
119
+
120
+
121
+
122
+