Ermögliche das Erstellen einer neuen Adresse beim Ändern des Domaininhabers
Bernd Wurst

Bernd Wurst commited on 2018-01-24 10:34:58
Zeige 3 geänderte Dateien mit 27 Einfügungen und 3 Löschungen.

... ...
@@ -53,6 +53,7 @@ foreach ($contacts as $c) {
53 53
 
54 54
 output('</div>');
55 55
 
56
+addnew('edit', 'Neue Adresse erstellen', 'id=new&back=choose&domainholder=1');
56 57
 
57 58
 
58 59
 
... ...
@@ -47,6 +47,9 @@ if ($c['nic_handle'] != NULL) {
47 47
     $readonly = ' disabled="disabled" ';
48 48
     output('<p>Da diese Adresse als möglicher Domaininhaber bei der Domain-Regristry angemeldet ist, können Name/Firmenname und Land nicht mehr geändert werden. Legen Sie ggf. eine neue Adresse an und ändern Sie den Domain-Inhaber entsprechend.</p>');
49 49
 }
50
+if (isset($_REQUEST['domainholder']) && $_REQUEST['domainholder'] == 1) {
51
+    output('<p>Für einen Domaininhaber muss mindestens Name, vollständige Adresse, E-Mail-Adresse und Telefonnummer angegeben werden.</p>');
52
+}
50 53
 $odd = false;
51 54
 $html = '<table>';
52 55
 $html .= '    <tr class="'.($odd == true ? 'odd' : 'even').'"><td>Firmenname:</td><td><input type="text" name="firma" id="firma" value="'.$c['company'].'" '.$readonly.' /></td></tr>';
... ...
@@ -79,7 +82,12 @@ $back = 'list';
79 82
 if (isset($_REQUEST['back'])) {
80 83
     $back = urldecode($_REQUEST['back']);
81 84
 }
82
-output(html_form('contacts_edit', 'save', 'id='.$_REQUEST['id']."&back=".urlencode($back), $html));
85
+$domainholder = '';
86
+if (isset($_REQUEST['domainholder']) && $_REQUEST['domainholder'] == 1) {
87
+    $domainholder='&domainholder=1';
88
+}
89
+
90
+output(html_form('contacts_edit', 'save', 'id='.$_REQUEST['id']."&back=".urlencode($back).$domainholder, $html));
83 91
 
84 92
 
85 93
 ?>
... ...
@@ -97,7 +97,12 @@ if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'delete') {
97 97
     $c['country'] = verify_input_general(maybe_null(strtoupper($_REQUEST['land'])));
98 98
     $c['zip'] = verify_input_general(maybe_null($_REQUEST['plz']));
99 99
     $c['city'] = verify_input_general(maybe_null($_REQUEST['ort']));
100
-
100
+    if ($new) {
101
+        $c['email'] = verify_input_general(maybe_null($_REQUEST['email']));
102
+        if (!check_emailaddr($c['email'])) {
103
+            system_failure("Ungültige E-Mail-Adresse!");
104
+        }
105
+    }
101 106
         
102 107
 
103 108
     if ($_REQUEST['telefon']) {
... ...
@@ -133,6 +138,16 @@ if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'delete') {
133 138
 
134 139
     // FIXME: PGP-ID/Key fehlen
135 140
 
141
+
142
+    if (isset($_REQUEST['domainholder']) && $_REQUEST['domainholder'] == 1) {
143
+        if (!possible_domainholder($c)) {
144
+            DEBUG("Kein möglicher Domaininhaber:");
145
+            DEBUG($c);
146
+            warning('Zur Verwendung als Domaininhaber fehlen noch Angaben.');
147
+            redirect('edit?id='.$_REQUEST['id'].'&back='.$_REQUEST['back'].'&domainholder=1');
148
+        }
149
+    }
150
+
136 151
     // Zuerst Kontakt speichern und wenn eine Änderung der E-Mail gewünscht war,
137 152
     // dann hinterher das Token erzeugen und senden. Weil wir für das Token die 
138 153
     // Contact-ID brauchen und die bekommen wir bei einer Neueintragung erst nach 
... ...
@@ -141,7 +156,7 @@ if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'delete') {
141 156
     $id = save_contact($c);
142 157
     $c['id'] = $id;
143 158
 
144
-    if ($c['email'] != $_REQUEST['email']) {
159
+    if ($new || $c['email'] != $_REQUEST['email']) {
145 160
         if (have_mailaddress($_REQUEST['email'])) {
146 161
             save_emailaddress($c['id'], verify_input_general($_REQUEST['email']));
147 162
         } else {
148 163