Alle Domain-Details auf einer Übersichtsseite zusammengeführt
Bernd Wurst

Bernd Wurst commited on 2018-02-20 11:35:38
Zeige 6 geänderte Dateien mit 174 Einfügungen und 261 Löschungen.

... ...
@@ -28,13 +28,13 @@ if (isset($_GET['type'])) {
28 28
     }
29 29
     $_SESSION['contacts_choose_header'] = 'Wählen Sie einen neuen '.$t.' für die Domain '.$_SESSION['domains_update_domainname'];
30 30
     $_SESSION['contacts_choose_key'] = 'domains_update_'.$function;
31
-    $_SESSION['contacts_choose_redirect'] = '../domains/update';
31
+    $_SESSION['contacts_choose_redirect'] = '../domains/detail';
32 32
     redirect('../contacts/choose');
33 33
 } else {
34 34
     unset($_SESSION['contacts_choose_key']);
35 35
     unset($_SESSION['contacts_choose_header']);
36 36
     unset($_SESSION['contacts_choose_redirect']);
37
-    redirect("update.php");
37
+    redirect("detail");
38 38
 }
39 39
 
40 40
 
... ...
@@ -19,50 +19,175 @@ require_once('inc/icons.php');
19 19
 
20 20
 require_once('class/domain.php');
21 21
 require_once('domains.php');
22
-require_once('modules/contacts/include/contacts.php');
22
+require_once('domainapi.php');
23 23
 
24 24
 require_role(ROLE_CUSTOMER);
25 25
 
26
-if (!isset($_REQUEST['id'])) {
27
-    system_failure("Ungültiger Aufruf!");
28
-}
29
-
30
-
26
+$dom = NULL;
27
+if (isset($_REQUEST['id'])) {
31 28
     $dom = new Domain( (int) $_REQUEST['id']);
29
+    $_SESSION['domains_update_domainname'] = $dom->fqdn;
30
+} elseif (isset($_SESSION['domains_update_domainname'])) {
31
+    $dom = new Domain($_SESSION['domains_update_domainname']);
32
+} else {
33
+    system_failure("Keine Domain angegeben");
34
+}
35
+if (!$dom) {
36
+    system_failure("Keine Domain gewählt!");
37
+}
38
+$dom->ensure_customerdomain();
32 39
 
33 40
 title("Domain {$dom->fqdn}");
34 41
 $section = 'domains_domains';
35 42
 
36
-if ($dom->provider == 'external') {
37
-    output("<p>Diese Domain ist extern registriert!</p>");
43
+// Block zuständiger Useraccount
44
+
45
+$useraccounts = list_useraccounts();
46
+if ($_SESSION['role'] & ROLE_CUSTOMER && count($useraccounts) > 1) {
47
+    // Mehrere User vorhanden
48
+    $options = array();
49
+    foreach ($useraccounts as $u) {
50
+        $options[$u['uid']] = $u['username'];
51
+    }
52
+    if (!array_key_exists($dom->useraccount, $options)) {
53
+        $options[$dom->useraccount] = $dom->useraccount;
54
+    }
55
+    output('<h4>Zuständiges Benutzerkonto</h4>');
56
+    $form = '<p>Diese Domain nutzen im Benutzerkonto '.html_select('domainuser', $options, $dom->useraccount).' <input type="submit" name="submit" value="Änderung speichern"></p>';
57
+    output(html_form('update-user', 'update', 'action=chguser&id='.$dom->id, $form));
58
+}
59
+
60
+
61
+// Block Domain-Inhaber 
62
+
63
+if ($dom->provider == 'terions' && ($dom->cancel_date === NULL || $dom->cancel_date > date('Y-m-d'))) {
64
+    use_module('contacts');
65
+    require_once('contacts.php');
66
+
67
+    output('<h4>Inhaberwechsel der Domain</h4>');
68
+    output('<p>Legen Sie hier einen neuen Inhaber für diese Domain fest.</p>');
69
+
70
+    if (isset($_REQUEST['id'])) {
71
+        api_download_domain($_REQUEST['id']);
72
+        $_SESSION['domains_update_domainname'] = $dom->fqdn;
73
+        $_SESSION['domains_update_owner'] = $dom->owner;
74
+        $_SESSION['domains_update_admin_c'] = $dom->admin_c;
75
+    }
76
+    if (!update_possible($dom->id)) {
77
+        warning("Diese Domain verwendet eine unübliche Endung. Daher kann der Inhaber nicht auf diesem Weg verändert werden. Bitte kontaktieren Sie den Support.");
78
+    } else {
79
+
80
+        if ($_SESSION['domains_update_admin_c'] == $dom->admin_c && 
81
+                $_SESSION['domains_update_owner'] != $dom->owner && 
82
+                (!isset($_SESSION['domains_update_detach']) || $_SESSION['domains_update_detach'] == 0)) {
83
+            // Wenn der Owner geändert wurde, der Admin aber nicht und das detach-Flag 
84
+            // nicht gesetzt ist, dann wird der Admin gleich dem Owner gesetzt
85
+            $_SESSION['domains_update_admin_c'] = $_SESSION['domains_update_owner'];
86
+        }
87
+
88
+        if (isset($_GET['admin_c']) && $_GET['admin_c'] == 'none') {
89
+            $_SESSION['domains_update_admin_c'] = $_SESSION['domains_update_owner'];
90
+            unset($_SESSION['domains_update_detach']);
91
+        }
92
+
93
+        $owner = get_contact($_SESSION['domains_update_owner']);
94
+        $admin_c = get_contact($_SESSION['domains_update_admin_c']);
95
+        $function = 'Inhaber';
96
+        if ($owner['id'] == $admin_c['id']) {
97
+            $function .= ' und Verwalter';
98
+        }
99
+        $cssclass = '';
100
+        if ($owner['id'] != $dom->owner) {
101
+            $cssclass = 'modified';
38 102
         }
39
-if ($dom->provider == 'terions') {
40
-    output("<p>Folgende Informationen sind bei dieser Domain hinterlegt:</p>");
41
-    if ($dom->owner && $dom->admin_c) {
42
-        $descr = 'Inhaber (OWNER)';
43
-        if ($dom->owner == $dom->admin_c) {
44
-            $descr = 'Inhaber';
103
+        output('<p><strong>'.$function.':</strong></p>'.display_contact($owner, '', $cssclass));
104
+        addnew('choose', 'Neuen Inhaber wählen', "type=owner");
105
+        if ($owner['id'] != $admin_c['id']) {
106
+            $cssclass = '';
107
+            if ($admin_c['id'] != $dom->admin_c) {
108
+                $cssclass = 'modified';
45 109
             }
46
-        $owner = get_contact($dom->owner);
47
-        $name = nl2br(filter_input_general($owner['name']));
48
-        if ($owner['company']) {
49
-            $name = nl2br(filter_input_general($owner['company']))."<br>\n".$name;
110
+            output('<p><strong>Verwalter:</strong></p>'.display_contact($admin_c, '', $cssclass));
111
+            addnew('choose', 'Neuen Verwalter wählen', "type=admin_c");
112
+            output('<p class="delete">'.internal_link('update', 'Keinen separaten Verwalter festlegen', 'admin_c=none').'</p>');
113
+        } else {
114
+            addnew('choose', 'Einen separaten Verwalter wählen', "type=admin_c&detach=1");
50 115
         }
51
-        output("<p>{$descr}:<br><strong>{$name}</strong><br>(Adresse #{$owner['id']})<br>".internal_link("../contacts/edit", icon_edit()." Adresse bearbeiten", "back=".urlencode('../domains/detail?id='.$dom->id)."&id=".$owner['id'])."</p>");
52 116
 
53
-        if ($dom->owner != $dom->admin_c) {
54
-            $admin_c = get_contact($dom->admin_c);
55
-            $name = nl2br(filter_input_general($admin_c['name']));
56
-            if ($admin_c['company']) {
57
-                $name = nl2br(filter_input_general($admin_c['company']))."<br>\n".$name;
117
+
118
+        if ($owner['id'] != $dom->owner || $admin_c['id'] != $dom->admin_c) {
119
+            if (isset($_GET['error']) && $_GET['error'] == '1') {
120
+                input_error('Sie müssen der Übertragung explizit zustimmen!');
121
+            }
122
+            $form = '<p>Es sind Änderungen vorgenommen worden, die noch nicht gespeichert wurden</p>';
123
+            $form .= '<p><input type="checkbox" name="accept" value="1" id="accept"><label for="accept"> Ich bestätige, dass ich die nachfolgenden Hinweise zur Kenntnis genommen habe.</p>
124
+                <p>Mit Speichern dieser Änderungen führen Sie möglicherweise einen Inhaberwechsel bei der Domain '.$dom->fqdn.' aus. Inhaberwechsel sind bei einigen Domainendungen (z.B. com/net/org) zustimmungspflichtig vom alten und vom neuen Inhaber. Die Registrierungsstelle kann nach eigenem Ermessen diese Zustimmung per separater E-Mail einfordern. Wird diese Zustimmung nicht oder verspätet erteilt, kann eine Domain gesperrt werden. Dieser Vorgang wird nicht von '.config('company_name').' kontrolliert.</p>
125
+                <p>Sie sind ferner darüber informiert, dass die Adresse des Domaininhabers öffentlich abrufbar ist.</p>';
126
+            $form .= '<p><input type="submit" name="sumbit" value="Änderungen speichern und Domaininhaber ändern"></p>';
127
+            output(html_form('domains_update', 'update', "action=ownerchange&id=".$dom->id, $form));
128
+        } 
58 129
     }
59
-            output("<p>Verwalter (ADMIN_C):<br><strong>{$name}</strong><br>(Adresse #{$admin_c['id']})<br>".internal_link("../contacts/edit", icon_edit()." Adresse bearbeiten", "back=".urlencode('../domains/detail?id='.$dom->id)."&id=".$admin_c['id'])."</p>");
60 130
 }
61 131
 
62
-        #addnew("ownchange", "Inhaber dieser Domain ändern", "id=".$dom->id."&back=".urlencode('detail?id='.$dom->id));
132
+// Block Externe Domain umziehen
63 133
 
134
+if ($dom->provider != 'terions') {
135
+    output('<h4>Domain-Transfer ausführen</h4>
136
+            <p>'.internal_link('domainreg', 'Domain-Transfer ausführen', "domain={$dom->fqdn}").'</p>');
137
+}
138
+
139
+// Block Domain bestätigen
140
+
141
+if ($dom->mailserver_lock == 1) {
142
+    if (has_own_ns($dom->domainname, $dom->tld)) {
143
+        unset_mailserver_lock($dom);
144
+        success_msg("Die Domain {$dom->fqdn} wurde erfolgreich bestätigt und kann nun in vollem Umfang verwendet werden.");
145
+        redirect("");
146
+    }
147
+    output('<h3>Mailserver-Sperre aktiv</h3>
148
+            <p>Bisher ist für diese Domain die Nutzung als Mail-Domain eingeschränkt, da wir noch keine Gewissheit haben, ob Sie der rechtmäßige Nutzer der Domain sind. Eine Domain, die für E-Mail-Aktivität genutzt werden soll, muss entweder die DNS-Server von '.config('company_name').' verwenden oder die Inhaberschaft muss durch einen passend gesetzten DNS-Record nachgewiesen werden. Nachfolgend werden die Möglichkeiten im Detail vorgestellt.</p>');
149
+    if (!$dom->secret) {
150
+        create_domain_secret($dom);
151
+    }
152
+
153
+    $TXT = get_txt_record('_schokokeks', $dom->domainname, $dom->tld);
154
+    if ($TXT == $dom->secret) {
155
+        unset_mailserver_lock($dom);
156
+        success_msg("Die Domain {$dom->fqdn} wurde erfolgreich bestätigt und kann nun in vollem Umfang verwendet werden.");
157
+        redirect("domains");
158
+    }
159
+
160
+    if ($dom->dns == 1 || have_module('dns')) {
161
+        output('<h4>DNS-Server von '.config('company_name').' nutzen</h4>');
162
+        output('<p>Wenn Sie die lokalen DNS-Server als zuständig einrichten, wird die Domain automatisch bestätigt.</p>');
163
+        if ($dom->dns == 0) {
164
+            output('<p>Bisher ist der lokale DNS-Server ausgeschaltet. Besuchen Sie die DNS-Einstellungen um dies zu ändern.</p>');
165
+            output('<p>'.internal_link('../dns/dns', 'DNS-Einstellungen aufrufen').'</p>');
64 166
         } else {
65
-        output('<p>Die Inhaberdaten dieser Domain können nicht ausgelesen werden. Bitte wenden Sie sich für Änderungen an den Support!</p>');
167
+            $own_ns = own_ns();
168
+            asort($own_ns);
169
+            output('<p>Wenn Sie die DNS-Server von '.config('company_name').' nutzen möchten, dann richten Sie bei Ihrem Domain-Registrar bitte folgende DNS-Server als zuständig für diese Domain ein:</p>
170
+                    <ul>');
171
+            foreach ($own_ns as $ns) {
172
+                output('<li>'.$ns.'</li>');
173
+            }
174
+            output('</ul>');
175
+            output('<p>Nachdem die Änderungen bei der Registrierungsstelle übernommen wurden (das kann mehrere Stunden dauern), reicht ein erneuter Aufruf dieser Seite um die Sperrung aufzuheben.</p>');
176
+        }
66 177
     }
178
+    output('<h4>Inhaberschaft bestätigen</h4>');
179
+    output('<p>Um eine extern registrierte Domain in vollem Umfang zu nutzen, ohne die lokalen DNS-Server als zuständig einzurichten, müssen Sie die Inhaberschaft bestätigen. Erst nach diesem Schritt können Sie diese Domain bei '.config('company_name').' als Mail-Domain nutzen.</p>');
180
+    
181
+    output('<p>Die Zeichenkette zur Bestätigung lautet <strong>'.$dom->secret.'</strong>.</p>');
182
+    output('<p>Richten Sie bitte auf dem zuständigen DNS-Server einen DNS-Record vom Typ TXT unter dem Hostname <strong>_schokokeks.'.$dom->fqdn.'</strong> ein und hinterlegen Sie dort diese Zeichenkette als Inhalt:</p>
183
+            <p><code>_schokokeks.'.$dom->fqdn.'.    IN TXT "'.$dom->secret.'"</code></p>
184
+            <p>Beachten Sie, dass Aktualisierungen am DNS-Server i.d.R. mit einigen Minuten verzögerung abgerufen werden können.</p>');
185
+#output('<p>Sie können diese entweder als DNS-Record vom Typ TXT unter dem Hostname <strong>_schokokeks.'.$dom->fqdn.'</strong> einrichten oder auf dem zuständigen Webserver eine Datei hinterlegen mit dem Code als Inhalt und der Abruf-URL <strong>http://'.$dom->fqdn.'/'.$dom->secret.'.txt</strong></p>');
186
+    output('<p>'.internal_link('', other_icon('refresh.png').' Diese Seite neu laden um den DNS-Record zu prüfen', "id={$dom->id}&ts=".time()).'</p>');
187
+    output('<p>Nach erfolgreicher Überprüfung kann der DNS-Eintrag wieder entfernt werden.</p>');
188
+
67 189
 }
68
-output("");
190
+
191
+
192
+output('<p>'.internal_link('domains', 'Ohne Änderungen zurück').'</p>');
193
+
... ...
@@ -88,11 +88,7 @@ foreach ($user_domains as $domain)
88 88
     $punycode = '';
89 89
   }
90 90
   $domainname = "{$domain->fqdn}{$punycode}";
91
-  if ((!$domain->cancel_date || $domain->cancel_date > date('Y-m-d')) && have_module('contacts') && $_SESSION['role'] & ROLE_CUSTOMER && update_possible($domain->id)) {
92
-      $domainname = internal_link('update', $domainname, 'id='.$domain->id);
93
-  } elseif ($_SESSION['role'] & ROLE_CUSTOMER && $domain->mailserver_lock == 1) {
94
-      $domainname = internal_link('verify', $domainname, 'id='.$domain->id);
95
-  }
91
+  $domainname = internal_link('detail', $domainname, 'id='.$domain->id);
96 92
   output("  <div class=\"domain-item {$status} {$locked}\"><p class=\"domainname\">{$domainname}</p><p class=\"regdate\">{$regdate}</p><p class=\"domain-usage\">Verwendung: {$features}{$mailserver_lock}</p></div>\n");
97 93
 }
98 94
 output('</div>');
... ...
@@ -19,104 +19,36 @@ require_once('inc/icons.php');
19 19
 
20 20
 require_once('class/domain.php');
21 21
 require_once('domains.php');
22
-require_once('domainapi.php');
23 22
 
24 23
 require_role(ROLE_CUSTOMER);
25
-use_module('contacts');
26
-require_once('contacts.php');
27 24
 
28
-$dom = NULL;
29
-if (isset($_REQUEST['id'])) {
30
-    api_download_domain($_REQUEST['id']);
31
-    $dom = new Domain( (int) $_REQUEST['id']);
32
-    if ($dom->provider == 'external' || $dom->provider != 'terions') {
33
-        system_failure("<p>Diese Domain ist extern registriert!</p>");
34
-    }
35
-    $_SESSION['domains_update_domainname'] = $dom->fqdn;
36
-    $_SESSION['domains_update_owner'] = $dom->owner;
37
-    $_SESSION['domains_update_admin_c'] = $dom->admin_c;
38
-} else {
39
-    $dom = new Domain($_SESSION['domains_update_domainname']);
40
-}
41
-if (!$dom) {
42
-    system_failure("Keine Domain gewählt!");
43
-}
44
-if (!update_possible($dom->id)) {
45
-    system_failure("Diese Domain verwendet eine unübliche Endung. Daher kann der Inhaber nicht auf diesem Weg verändert werden. Bitte kontaktieren Sie den Support.");
25
+if (!isset($_REQUEST['action'])) {
26
+    system_failure("Falscher Aufruf");
46 27
 }
47 28
 
48
-if ($_SESSION['domains_update_admin_c'] == $dom->admin_c && 
49
-    $_SESSION['domains_update_owner'] != $dom->owner && 
50
-    (!isset($_SESSION['domains_update_detach']) || $_SESSION['domains_update_detach'] == 0)) {
51
-    // Wenn der Owner geändert wurde, der Admin aber nicht und das detach-Flag 
52
-    // nicht gesetzt ist, dann wird der Admin gleich dem Owner gesetzt
53
-    $_SESSION['domains_update_admin_c'] = $_SESSION['domains_update_owner'];
54
-}
55
-
56
-if (isset($_GET['admin_c']) && $_GET['admin_c'] == 'none') {
57
-    $_SESSION['domains_update_admin_c'] = $_SESSION['domains_update_owner'];
58
-    unset($_SESSION['domains_update_detach']);
29
+if ($_REQUEST['action'] == 'chguser') {
30
+    change_user((int)$_REQUEST['id'], $_REQUEST['domainuser']);
31
+    redirect('detail?id='.(int)$_REQUEST['id']);
59 32
 }
60 33
     
34
+if ($_REQUEST['action'] == 'ownerchange') {
61 35
 
62
-
63
-title("Änderung der Domain {$dom->fqdn}");
64
-$section = 'domains_domains';
65
-
66
-$useraccounts = list_useraccounts();
67
-if ($_SESSION['role'] & ROLE_CUSTOMER && count($useraccounts) > 1) {
68
-    // Mehrere User vorhanden
69
-    $options = array();
70
-    foreach ($useraccounts as $u) {
71
-        $options[$u['uid']] = $u['username'];
72
-    }
73
-    if (!array_key_exists($dom->useraccount, $options)) {
74
-        $options[$dom->useraccount] = $dom->useraccount;
36
+    if (!(isset($_POST['accept']) && $_POST['accept'] == '1')) {
37
+        redirect('detail?error=1');
75 38
     }
76
-    output('<h4>Zuständiges Benutzerkonto</h4>');
77
-    $form = '<p>Diese Domain nutzen im Benutzerkonto '.html_select('domainuser', $options, $dom->useraccount).' <input type="submit" name="submit" value="Änderung speichern"></p>';
78
-    output(html_form('update-user', 'update_save', 'action=chguser&id='.$dom->id, $form));
39
+    $dom = new Domain($_SESSION['domains_update_domainname']);
40
+    if (!$dom) {
41
+        system_failure("Keine Domain gewählt!");
79 42
     }
80 43
 
44
+    DEBUG($dom);
45
+    domain_ownerchange($_SESSION['domains_update_domainname'], $_SESSION['domains_update_owner'], $_SESSION['domains_update_admin_c']);
81 46
 
82
-output('<h4>Inhaberwechsel der Domain</h4>');
83
-output('<p>Legen Sie hier einen neuen Inhaber für diese Domain fest.</p>');
84
-
85
-$owner = get_contact($_SESSION['domains_update_owner']);
86
-$admin_c = get_contact($_SESSION['domains_update_admin_c']);
87
-$function = 'Inhaber';
88
-if ($owner['id'] == $admin_c['id']) {
89
-    $function .= ' und Verwalter';
90
-}
91
-$cssclass = '';
92
-if ($owner['id'] != $dom->owner) {
93
-    $cssclass = 'modified';
94
-}
95
-output('<p><strong>'.$function.':</strong></p>'.display_contact($owner, '', $cssclass));
96
-addnew('choose', 'Neuen Inhaber wählen', "type=owner");
97
-if ($owner['id'] != $admin_c['id']) {
98
-    $cssclass = '';
99
-    if ($admin_c['id'] != $dom->admin_c) {
100
-        $cssclass = 'modified';
101
-    }
102
-    output('<p><strong>Verwalter:</strong></p>'.display_contact($admin_c, '', $cssclass));
103
-    addnew('choose', 'Neuen Verwalter wählen', "type=admin_c");
104
-    output('<p class="delete">'.internal_link('update', 'Keinen separaten Verwalter festlegen', 'admin_c=none').'</p>');
105
-} else {
106
-    addnew('choose', 'Einen separaten Verwalter wählen', "type=admin_c&detach=1");
107
-}
108 47
 
48
+    unset($_SESSION['domains_update_domainname']);
49
+    unset($_SESSION['domains_update_owner']);
50
+    unset($_SESSION['domains_update_admin_c']);
51
+    unset($_SESSION['domains_update_detach']);
109 52
 
110
-if ($owner['id'] != $dom->owner || $admin_c['id'] != $dom->admin_c) {
111
-    if (isset($_GET['error']) && $_GET['error'] == '1') {
112
-        input_error('Sie müssen der Übertragung explizit zustimmen!');
53
+    redirect('domains');
113 54
 }
114
-    $form = '<p>Es sind Änderungen vorgenommen worden, die noch nicht gespeichert wurden</p>';
115
-    $form .= '<p><input type="checkbox" name="accept" value="1" id="accept"><label for="accept"> Ich bestätige, dass ich die nachfolgenden Hinweise zur Kenntnis genommen habe.</p>
116
-    <p>Mit Speichern dieser Änderungen führen Sie möglicherweise einen Inhaberwechsel bei der Domain '.$dom->fqdn.' aus. Inhaberwechsel sind bei einigen Domainendungen (z.B. com/net/org) zustimmungspflichtig vom alten und vom neuen Inhaber. Die Registrierungsstelle kann nach eigenem Ermessen diese Zustimmung per separater E-Mail einfordern. Wird diese Zustimmung nicht oder verspätet erteilt, kann eine Domain gesperrt werden. Dieser Vorgang wird nicht von '.config('company_name').' kontrolliert.</p>
117
-    <p>Sie sind ferner darüber informiert, dass die Adresse des Domaininhabers öffentlich abrufbar ist.</p>';
118
-    $form .= '<p><input type="submit" name="sumbit" value="Änderungen speichern und Domaininhaber ändern"></p>';
119
-    output(html_form('domains_update', 'update_save', "action=ownerchange&id=".$dom->id, $form));
120
-} 
121
-
122
-output('<p>'.internal_link('domains', 'Ohne Änderungen zurück').'</p>');
... ...
@@ -1,54 +0,0 @@
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/debug.php');
18
-require_once('inc/icons.php');
19
-
20
-require_once('class/domain.php');
21
-require_once('domains.php');
22
-
23
-require_role(ROLE_CUSTOMER);
24
-
25
-if (!isset($_REQUEST['action'])) {
26
-    system_failure("Falscher Aufruf");
27
-}
28
-
29
-if ($_REQUEST['action'] == 'chguser') {
30
-    change_user((int)$_REQUEST['id'], $_REQUEST['domainuser']);
31
-    redirect('update?id='.(int)$_REQUEST['id']);
32
-}
33
-    
34
-if ($_REQUEST['action'] == 'ownerchange') {
35
-
36
-    if (!(isset($_POST['accept']) && $_POST['accept'] == '1')) {
37
-        redirect('update?error=1');
38
-    }
39
-    $dom = new Domain($_SESSION['domains_update_domainname']);
40
-    if (!$dom) {
41
-        system_failure("Keine Domain gewählt!");
42
-    }
43
-
44
-    DEBUG($dom);
45
-    domain_ownerchange($_SESSION['domains_update_domainname'], $_SESSION['domains_update_owner'], $_SESSION['domains_update_admin_c']);
46
-
47
-
48
-    unset($_SESSION['domains_update_domainname']);
49
-    unset($_SESSION['domains_update_owner']);
50
-    unset($_SESSION['domains_update_admin_c']);
51
-    unset($_SESSION['domains_update_detach']);
52
-
53
-    redirect('domains');
54
-}
... ...
@@ -1,86 +0,0 @@
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/debug.php');
18
-require_once('inc/icons.php');
19
-
20
-require_once('class/domain.php');
21
-require_once('domains.php');
22
-
23
-require_role(ROLE_CUSTOMER);
24
-
25
-$dom = NULL;
26
-if (!isset($_REQUEST['id'])) {
27
-    system_failure("Keine Domain angegeben!");
28
-}
29
-$dom = new Domain( (int) $_REQUEST['id']);
30
-$dom->ensure_customerdomain();
31
-if ($dom->mailserver_lock === 0) {
32
-    system_failure("Diese Domain ist momentan nicht gesperrt. Entsperrung nicht notwendig.");
33
-}
34
-if ($dom->provider == 'terions') {
35
-    system_failure("Diese Domain ist bereits über uns registriert und sollte schon freigeschaltet sein. Wenden Sie sich im Zweifel bitte an den Support.");
36
-}
37
-if (has_own_ns($dom->domainname, $dom->tld)) {
38
-    unset_mailserver_lock($dom);
39
-    success_msg("Die Domain {$dom->fqdn} wurde erfolgreich bestätigt und kann nun in vollem Umfang verwendet werden.");
40
-    redirect("domains");
41
-}
42
-if (!$dom->secret) {
43
-    create_domain_secret($dom);
44
-}
45
-
46
-$TXT = get_txt_record('_schokokeks', $dom->domainname, $dom->tld);
47
-if ($TXT == $dom->secret) {
48
-    unset_mailserver_lock($dom);
49
-    success_msg("Die Domain {$dom->fqdn} wurde erfolgreich bestätigt und kann nun in vollem Umfang verwendet werden.");
50
-    redirect("domains");
51
-}
52
-
53
-
54
-title("Externe Domain {$dom->fqdn}");
55
-$section = 'domains_domains';
56
-output('<p>Die Domain '.$dom->fqdn.' ist momentan extern registriert und verwendet auch externe DNS-Server. Um Missbrauch zu verhindern, kann diese Domain daher bislang nicht als E-Mail-Domain benutzt werden. Um die Domain als E-Mail-Domain zu nutzen, können Sie diese zu uns umziehen, beim Registrar die DNS-Server von '.config('company_name').' einsetzen oder die Inhaberschaft bestätigen durch das Setzen eines passenden DNS-Records.</p>');
57
-output('<h4>Domain-Transfer ausführen</h4>
58
-<p>'.internal_link('domainreg', 'Domain-Transfer ausführen', "domain={$dom->fqdn}").'</p>');
59
-if ($dom->dns == 1 || have_module('dns')) {
60
-    output('<h4>DNS-Server von '.config('company_name').' nutzen</h4>');
61
-    if ($dom->dns == 0) {
62
-        output('<p>Bisher ist der lokale DNS-Server ausgeschaltet. Besuchen Sie die DNS-Einstellungen um dies zu ändern.</p>');
63
-        output('<p>'.internal_link('../dns/dns', 'DNS-Einstellungen aufrufen').'</p>');
64
-    } else {
65
-        $own_ns = own_ns();
66
-        asort($own_ns);
67
-        output('<p>Tragen Sie bitte folgende DNS-Server als zuständig für diese Domain ein:</p>
68
-                <ul>');
69
-        foreach ($own_ns as $ns) {
70
-            output('<li>'.$ns.'</li>');
71
-        }
72
-        output('</ul>');
73
-        output('<p>Nachdem die Änderungen bei der Registrierungsstelle übernommen wurden (das kann mehrere Stunden dauern), reicht ein erneuter Aufruf dieser Seite um die Sperrung aufzuheben.</p>');
74
-    }
75
-}
76
-output('<h4>Inhaberschaft bestätigen</h4>');
77
-output('<p>Um eine extern registrierte Domain hier in vollem Umfang zu nutzen, müssen Sie die Inhaberschaft bestätigen. Erst nach diesem Schritt können Sie diese Domain bei uns als Mail-Domain nutzen.</p>');
78
-output('<p>Die Zeichenkette zur Bestätigung lautet <strong>'.$dom->secret.'</strong>.</p>');
79
-output('<p>Richten Sie bitte auf dem zuständigen DNS-Server einen DNS-Record vom Typ TXT unter dem Hostname <strong>_schokokeks.'.$dom->fqdn.'</strong> ein und hinterlegen Sie dort diese Zeichenkette als Inhalt:</p>
80
-<p><code>_schokokeks.'.$dom->fqdn.'.    IN TXT "'.$dom->secret.'"</code></p>
81
-<p>Beachten Sie, dass Aktualisierungen am DNS-Server i.d.R. mit einigen Minuten verzögerung abgerufen werden können.</p>');
82
-#output('<p>Sie können diese entweder als DNS-Record vom Typ TXT unter dem Hostname <strong>_schokokeks.'.$dom->fqdn.'</strong> einrichten oder auf dem zuständigen Webserver eine Datei hinterlegen mit dem Code als Inhalt und der Abruf-URL <strong>http://'.$dom->fqdn.'/'.$dom->secret.'.txt</strong></p>');
83
-output('<p>'.internal_link('', other_icon('refresh.png').' Diese Seite neu laden um den DNS-Record zu prüfen', "id={$dom->id}&ts=".time()).'</p>');
84
-output('<p>Nach erfolgreicher Überprüfung kann der DNS-Eintrag wieder entfernt werden.</p>');
85
-
86
-
87 0