Add extraid parameter for forms in case we have multiple forms of the same type on one page (HTML does not allow id collissions). Fix this and other HTML errors in email domain overview.
Hanno Böck

Hanno Böck commited on 2024-02-02 13:07:17
Zeige 2 geänderte Dateien mit 15 Einfügungen und 15 Löschungen.

... ...
@@ -398,11 +398,11 @@ function internal_link($file, $label, $querystring = '', $attribs = '')
398 398
 }
399 399
 
400 400
 
401
-function html_form($form_id, $scriptname, $querystring, $content)
401
+function html_form($form_id, $scriptname, $querystring, $content, $extraid="")
402 402
 {
403 403
     $querystring = encode_querystring($querystring);
404 404
     $ret = '';
405
-    $ret .= '<form id="' . $form_id . '" action="' . $scriptname . $querystring . '" method="post">' . "\n";
405
+    $ret .= '<form id="' . $form_id . $extraid . '" action="' . $scriptname . $querystring . '" method="post">' . "\n";
406 406
     $ret .= '<p style="display: none;"><input type="hidden" name="formtoken" value="' . generate_form_token($form_id) . '"></p>' . "\n";
407 407
     $ret .= $content;
408 408
     $ret .= '</form>';
... ...
@@ -43,7 +43,7 @@ sollen bzw. ob zusätzlich eine DMARC-Policy veröffentlicht werden soll.</p>
43 43
 <h4>Ihre Domains sind momentan wie folgt konfiguriert:</h4>
44 44
 
45 45
 <table>
46
-  <tr><th>Domainname</th><th>Einstellung</th><th></th><th></th></tr>
46
+  <tr><th>Domainname</th><th>Einstellung</th><th></th></tr>
47 47
 ');
48 48
 
49 49
 $odd = true;
... ...
@@ -70,19 +70,19 @@ foreach ($domains as $id => $dom) {
70 70
     $check_manual = ($dom['type'] == 'auto' || $dom['type'] == 'manual' ? ' checked="checked"' : '');
71 71
 
72 72
     $buttons = '<span class="buttonset' . ($edit_disabled ? ' disabled' : '') . '" id="buttonset-' . $id . '">
73
-         <input type="radio" name="option-' . $id . '" id="option-' . $id . '-webinterface" value="webinterface"' . $check_webinterface . ' ' . ($edit_disabled ? ' disabled="disabled"' : '') . '/>
73
+         <input type="radio" name="option-' . $id . '" id="option-' . $id . '-webinterface" value="webinterface"' . $check_webinterface . ' ' . ($edit_disabled ? ' disabled="disabled"' : '') . '>
74 74
          <label for="option-' . $id . '-webinterface">Webinterface</label>
75
-         <input type="radio" name="option-' . $id . '" id="option-' . $id . '-manual" value="manual"' . $check_manual . ' ' . ($edit_disabled ? ' disabled="disabled"' : '') . '/>
75
+         <input type="radio" name="option-' . $id . '" id="option-' . $id . '-manual" value="manual"' . $check_manual . ' ' . ($edit_disabled ? ' disabled="disabled"' : '') . '>
76 76
          <label for="option-' . $id . '-manual">Manuell</label>
77
-         <input type="radio" name="option-' . $id . '" id="option-' . $id . '-off" value="off"' . $check_off . ' ' . ($edit_disabled ? ' disabled="disabled"' : '') . '/>
77
+         <input type="radio" name="option-' . $id . '" id="option-' . $id . '-off" value="off"' . $check_off . ' ' . ($edit_disabled ? ' disabled="disabled"' : '') . '>
78 78
          <label for="option-' . $id . '-off">Ausgeschaltet</label>';
79
-    $buttons .= '<input type="submit" value="Speichern" />
79
+    $buttons .= '<input type="submit" value="Speichern">
80 80
       </span>';
81 81
     if ($dom['type'] == 'nomail' || $dom['type'] == 'none') {
82 82
         $notice .= '<a href="https://wiki.schokokeks.org/E-Mail/Keine-Mailnutzung">Hinweise zur Verhinderung der Mail-Nutzung</a>';
83
-        $buttons .= '<span class="nomail"><input type="checkbox" class="nomail autosubmit" name="nomail-' . $id . '" id="option-' . $id . '-nomail" value="nomail"' . $check_nomail . ' ' . ($edit_disabled ? ' disabled="disabled"' : '') . '/>
83
+        $buttons .= '<span class="nomail"><input type="checkbox" class="nomail autosubmit" name="nomail-' . $id . '" id="option-' . $id . '-nomail" value="nomail"' . $check_nomail . ' ' . ($edit_disabled ? ' disabled="disabled"' : '') . '>
84 84
                      <label class="nomail" for="option-' . $id . '-nomail">Mail-Nutzung verhindern</label>
85
-         <input class="hidden" type="submit" value="Speichern" /></span>';
85
+         <input class="hidden" type="submit" value="Speichern"></span>';
86 86
     }
87 87
 
88 88
     if ($dom['type'] != 'none' && $dom['type'] != 'nomail' && $dom['dns'] == 1) {
... ...
@@ -94,12 +94,12 @@ foreach ($domains as $id => $dom) {
94 94
             <option value="dkim" ' . ($dom['dkim'] == 'dkim' ? 'selected' : '') . '>Nur DKIM</option>
95 95
             <option value="none" ' . ($dom['dkim'] == 'none' ? 'selected' : '') . '>DKIM ausgeschaltet</option>
96 96
         </select>
97
-         <input class="hidden" type="submit" value="Speichern" />
97
+         <input class="hidden" type="submit" value="Speichern">
98 98
       ';
99 99
     } else {
100 100
         //$buttons .= 'Sie können keine DKIM-Einstellung vornehmen, wenn der Mail-Empfang ausgeschaltet ist.';
101 101
     }
102
-    output("<tr{$trextra}><td>{$dom['name']}</td><td class=\"nowrap\">" . html_form('vmail_domainchange', 'domainchange', '', $buttons) . "</td><td>{$notice}</td></tr>\n");
102
+    output("<tr{$trextra}><td>{$dom['name']}</td><td class=\"nowrap\">" . html_form('vmail_domainchange', 'domainchange', '', $buttons, $extraid=$id) . "</td><td>{$notice}</td></tr>\n");
103 103
     if (array_key_exists($id, $subdomains)) {
104 104
         foreach ($subdomains[$id] as $subdom) {
105 105
             $odd = !$odd;
... ...
@@ -109,11 +109,11 @@ foreach ($domains as $id => $dom) {
109 109
             $check_manual = ($subdom['type'] == 'auto' || $subdom['type'] == 'manual' ? ' checked="checked"' : '');
110 110
             $id = $id . '-' . $subdom['name'];
111 111
             $buttons = '<span class="buttonset' . ($edit_disabled ? ' disabled' : '') . '" id="buttonset-' . $id . '">
112
-         <input type="radio" name="option-' . $id . '" id="option-' . $id . '-webinterface" value="webinterface"' . $check_webinterface . ' ' . ($edit_disabled ? ' disabled="disabled"' : '') . '/>
112
+         <input type="radio" name="option-' . $id . '" id="option-' . $id . '-webinterface" value="webinterface"' . $check_webinterface . ' ' . ($edit_disabled ? ' disabled="disabled"' : '') . '>
113 113
          <label for="option-' . $id . '-webinterface">Webinterface</label>
114
-         <input type="radio" name="option-' . $id . '" id="option-' . $id . '-manual" value="manual"' . $check_manual . ' ' . ($edit_disabled ? ' disabled="disabled"' : '') . '/>
114
+         <input type="radio" name="option-' . $id . '" id="option-' . $id . '-manual" value="manual"' . $check_manual . ' ' . ($edit_disabled ? ' disabled="disabled"' : '') . '>
115 115
          <label for="option-' . $id . '-manual">Manuell</label>
116
-         <input type="radio" name="option-' . $id . '" id="option-' . $id . '-off" value="off"' . ($edit_disabled ? ' disabled="disabled"' : '') . '/>
116
+         <input type="radio" name="option-' . $id . '" id="option-' . $id . '-off" value="off"' . ($edit_disabled ? ' disabled="disabled"' : '') . '>
117 117
          <label for="option-' . $id . '-off">Ausgeschaltet</label>
118 118
       </span>';
119 119
             output("<tr{$trextra}><td>{$subdom['name']}.{$dom['name']}</td><td>{$buttons}</td><td>Subdomains können nur von Admins geändert werden!</td></tr>\n");
... ...
@@ -121,7 +121,7 @@ foreach ($domains as $id => $dom) {
121 121
     }
122 122
 }
123 123
 output('</table>
124
-<br />');
124
+<br>');
125 125
 
126 126
 output('<p><strong>Sicherheitshinweis:</strong> Während der Umstellung der Empfangsart ist Ihre Domain eventuell für einige Minuten in einem undefinierten Zustand. In dieser Zeit kann es passieren, dass E-Mails nicht korrekt zugestellt oder sogar ganz zurückgewiesen werden. Sie sollten diese Einstellungen daher nicht mehr ändern, wenn die Domain aktiv für den E-Mail-Verkehr benutzt wird.</p>
127 127
 ');
128 128