Browse code

Zeige die Zertifikatsauswahl gar nicht erst an, wenn es nichts zu wählen gibt.

Bernd Wurst authored on17/02/2018 17:51:08
Showing1 changed files
... ...
@@ -210,34 +210,40 @@ $form .= "
210 210
     </span>
211 211
     </div>";
212 212
 
213
-  $certs = user_certs();
214
-  $certselect = array();
215
-  $certselect[0] = 'kein Zertifikat / System-Standard benutzen';
216
-  if ($vhost_type != 'dav' && $vhost_type != 'svn') {
217
-      $certselect[-1] = 'Automatische Zertifikatsverwaltung mit Let\'s Encrypt';
218
-  }
219
-  foreach ($certs as $c)
220
-  {
213
+$certs = user_certs();
214
+$certselect = array();
215
+$certselect[0] = 'kein Zertifikat / System-Standard benutzen';
216
+if ($vhost_type != 'dav' && $vhost_type != 'svn') {
217
+    $certselect[-1] = 'Automatische Zertifikatsverwaltung mit Let\'s Encrypt';
218
+}
219
+foreach ($certs as $c)
220
+{
221 221
     if (! cert_is_letsencrypt($c['id'])) {
222 222
         $certselect[$c['id']] = $c['subject'];
223 223
     }
224
-  }
225
-  if (strstr($vhost['options'], 'letsencrypt')) {
224
+}
225
+if (strstr($vhost['options'], 'letsencrypt')) {
226 226
     $vhost['certid'] = -1;
227
-  }
228
-  $form .= "
229
-    <h5>verwendetes Zertifikat</h5>
230
-    <div style=\"margin-left: 2em;\">
231
-    ".html_select('cert', $certselect, $vhost['certid'])."
232
-</div>
233
-<p class=\"warning\"><b>Datenschutz-Hinweis:</b><br>
234
-Alle erstellten HTTPS-Zertifikate werden
235
-automatisch in den für jeden zugänglichen Certificate-Transparency-Logs abgelegt.
236
-Die zugehörigen Subdomains sind damit auch öffentlich.
237
-Sie können die Logs mit dem Service <a href=\"https://crt.sh/\">crt.sh</a> durchsuchen.</p>";
238
-
239
-  $form.="
240
-    <h5>Logfiles</h5>
227
+}
228
+if (count($certselect) > 1) {
229
+    // Nur dann gibt es was zum Auswählen
230
+    $form .= "
231
+        <h5>Verwendetes Zertifikat</h5>
232
+        <div style=\"margin-left: 2em;\">
233
+        ".html_select('cert', $certselect, $vhost['certid'])."
234
+        </div>
235
+        <p class=\"warning\"><b>Datenschutz-Hinweis:</b><br>
236
+        Alle erstellten HTTPS-Zertifikate werden
237
+        automatisch in den für jeden zugänglichen Certificate-Transparency-Logs abgelegt.
238
+        Die zugehörigen Subdomains sind damit auch öffentlich.
239
+        Sie können die Logs mit dem Service <a href=\"https://crt.sh/\">crt.sh</a> durchsuchen.</p>";
240
+
241
+} else {
242
+    $form .= "<h5>Verwendetes Zertifikat</h5>
243
+    <div style=\"margin-left: 2em;\"><p>Für Sonderanwendungen (WebDAV, SVN) kann momentan kein Lets-Encrypt-Zertifikat verwaltet werden. Bitte beschaffen Sie ggf. ein Zertifikat und tragen Sie dieses unten auf der Websites-Übersichtsseite ein, damit es hier ausgewählt werden kann.</p></div>";
244
+}
245
+$form.="
246
+<h5>Logfiles</h5>
241 247
     <div style=\"margin-left: 2em;\">
242 248
       <select name=\"logtype\" id=\"logtype\">
243 249
         <option value=\"none\" ".($vhost['logtype'] == NULL ? 'selected="selected"' : '')." >keine Logfiles</option>