Browse code

Wenn die E-Mail-Funktion komplett abgeschaltet ist, wird die Domain nicht mehr als unbestätigt markiert.

Bernd Wurst authored on30/01/2018 09:12:00
Showing4 changed files
... ...
@@ -37,7 +37,7 @@ output('<p>In Ihrem Account werden die folgenden Domains verwaltet:</p>
37 37
 foreach ($user_domains as $domain)
38 38
 {
39 39
   $mailserver_lock = '';
40
-  if ($domain->mailserver_lock == 1) {
40
+  if ($domain->mail != 'none' && $domain->mailserver_lock == 1) {
41 41
       $mailserver_lock = '<br><strong>Mail-Verarbeitung eingeschränkt!</strong>'.footnote('Diese Domain ist extern registriert und wurde noch nicht bestätigt. Momentan ist daher der Mail-Empfang auf dieser Domain nicht möglich.');
42 42
   }
43 43
   $regdate = $domain->reg_date;
... ...
@@ -212,6 +212,7 @@ function list_useraccounts()
212 212
 }
213 213
 
214 214
 
215
+
215 216
 function get_domain_offer($domainname) 
216 217
 {
217 218
   $domainname = filter_input_hostname($domainname);
... ...
@@ -248,7 +249,33 @@ function get_domain_offer($domainname)
248 249
 }
249 250
 
250 251
 
251
-function insert_domain_external($domain, $dns)
252
+function insert_domain_prereg($domain, $transfer=false)
253
+{
254
+    $cid = (int) $_SESSION['customerinfo']['customerno'];
255
+    $uid = (int) $_SESSION['userinfo']['uid'];
256
+    if (strpos($domain, ' ') !== false) {
257
+        system_failure("Ungültige Zeichen im Domainname");
258
+    }
259
+    $parts = explode('.', $domain);
260
+    if (count($parts) !== 2) {
261
+        system_failure("Ungültiger Domainname");
262
+    }
263
+    $domainname = $parts[0];
264
+    $tld = $parts[1];
265
+    $status = 'prereg';
266
+    if ($transfer) {
267
+        $status = 'pretransfer';
268
+    }
269
+    db_query("INSERT INTO kundendaten.domains (status, kunde, useraccount, domainname, tld, billing, provider, dns, mail, mailserver_lock) VALUES 
270
+        (?, ?, ?, ?, ?, 'regular', 'other', 1, 'auto', 1)", array($status, $cid, $uid, $domainname, $tld));
271
+    $id = db_insert_id();
272
+    $vmailserver = (int) $_SESSION['userinfo']['server'];
273
+    db_query("INSERT INTO mail.virtual_mail_domains (domain, server) VALUES (?, ?)", array($id, $vmailserver));
274
+    return $id;
275
+}
276
+
277
+
278
+function insert_domain_external($domain, $dns = false, $mail = true)
252 279
 {
253 280
     $cid = (int) $_SESSION['customerinfo']['customerno'];
254 281
     $uid = (int) $_SESSION['userinfo']['uid'];
... ...
@@ -261,12 +288,16 @@ function insert_domain_external($domain, $dns)
261 288
     }
262 289
     $domainname = $parts[0];
263 290
     $tld = $parts[1];
264
-    db_query("INSERT INTO kundendaten.domains (kunde, useraccount, domainname, tld, billing, provider, dns, mailserver_lock) VALUES 
265
-        (?, ?, ?, ?, 'external', 'other', 0, 1)", array($cid, $uid, $domainname, $tld));
291
+    db_query("INSERT INTO kundendaten.domains (status, kunde, useraccount, domainname, tld, billing, provider, dns, mail, mailserver_lock) VALUES 
292
+        ('external', ?, ?, ?, ?, 'external', 'other', 0, ?, 1)", array($cid, $uid, $domainname, $tld, ($mail ? 'auto' : 'none')));
266 293
     $id = db_insert_id();
267 294
     if ($dns) {
268 295
         db_query("UPDATE kundendaten.domains SET dns=1 WHERE id=?", array($id));
269 296
     }
297
+    if ($mail) {
298
+        $vmailserver = (int) $_SESSION['userinfo']['server'];
299
+        db_query("INSERT INTO mail.virtual_mail_domains (domain, server) VALUES (?, ?)", array($id, $vmailserver));
300
+    }
270 301
     return $id;
271 302
 }
272 303
 
... ...
@@ -27,7 +27,7 @@ if (!isset($_REQUEST['domain'])) {
27 27
     system_failure('Kein Domainname übergeben');
28 28
 }
29 29
 
30
-$id = insert_domain_external($_REQUEST['domain'], ($_REQUEST['dns'] === 'enable'));
30
+$id = insert_domain_external($_REQUEST['domain'], ($_REQUEST['dns'] === 'enable'), ($_REQUEST['email'] === 'enable'));
31 31
 
32 32
 redirect('verify?id='.$id);
33 33
 
... ...
@@ -55,7 +55,7 @@ title("Externe Domain {$dom->fqdn}");
55 55
 $section = 'domains_domains';
56 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 57
 output('<h4>Domain-Transfer ausführen</h4>
58
-<p></p>'); //FIXME
58
+<p>'.internal_link('domainreg', 'Domain-Transfer ausführen', "domain={$dom->fqdn}").'</p>');
59 59
 if ($dom->dns == 1 || have_module('dns')) {
60 60
     output('<h4>DNS-Server von '.config('company_name').' nutzen</h4>');
61 61
     if ($dom->dns == 0) {
... ...
@@ -70,6 +70,7 @@ if ($dom->dns == 1 || have_module('dns')) {
70 70
             output('<li>'.$ns.'</li>');
71 71
         }
72 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>');
73 74
     }
74 75
 }
75 76
 output('<h4>Inhaberschaft bestätigen</h4>');