f730ad807db06ba13315d7cb312cd9dc9b2cfe59
bernd neues VHosts-Modul (unbenut...

bernd authored 16 years ago

1) <?php
Bernd Wurst Added license tags for CC0,...

Bernd Wurst authored 12 years ago

2) /*
3) This file belongs to the Webinterface of schokokeks.org Hosting
4) 
Bernd Wurst Copyright year update

Bernd Wurst authored 6 years ago

5) Written 2008-2018 by schokokeks.org Hosting, namely
Bernd Wurst Added license tags for CC0,...

Bernd Wurst authored 12 years ago

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) 
bernd neues VHosts-Modul (unbenut...

bernd authored 16 years ago

17) require_once('inc/debug.php');
18) require_once('inc/security.php');
bernd neue Bilder, mehr SSL-Zerti...

bernd authored 14 years ago

19) require_once('inc/icons.php');
bernd neues VHosts-Modul (unbenut...

bernd authored 16 years ago

20) 
Bernd Wurst Domain-Nutzung mit Deeplink...

Bernd Wurst authored 6 years ago

21) require_once('inc/jquery.php');
22) javascript();
23) 
bernd neues VHosts-Modul (unbenut...

bernd authored 16 years ago

24) require_once('vhosts.php');
25) 
bernd Benutze überall title() sta...

bernd authored 13 years ago

26) title("Subdomains");
bernd neues VHosts-Modul (unbenut...

bernd authored 16 years ago

27) $error = '';
28) 
29) require_role(ROLE_SYSTEMUSER);
30) 
bernd VHost-Löschen als icon

bernd authored 16 years ago

31) global $prefix;
bernd neues VHosts-Modul (unbenut...

bernd authored 16 years ago

32) 
bernd Benutze überall title() sta...

bernd authored 13 years ago

33) output("<p>Mit dieser Funktion legen Sie fest, welche Domains und Subdomains als Webserver-Ressource verfügbar sein sollen und welches Verzeichnis die Dateien enthalten soll.</p>
bernd Beta-Hinweis im vhost-modul

bernd authored 16 years ago

34) <p>Änderungen an Ihren Einstellungen werden im 5-Minuten-Takt auf dem Server übernommen.</p>
35) ");
bernd neues VHosts-Modul (unbenut...

bernd authored 16 years ago

36) 
bernd Bugfix: Funktion-Dopplung v...

bernd authored 16 years ago

37) 
Bernd Wurst Domain-Nutzung mit Deeplink...

Bernd Wurst authored 6 years ago

38) $filter = "";
39) if (isset($_REQUEST['filter']) && $_REQUEST['filter'] != '') {
Bernd Wurst Fix XSS

Bernd Wurst authored 5 years ago

40)   $filter = filter_input_general($_REQUEST['filter']);
Bernd Wurst Domain-Nutzung mit Deeplink...

Bernd Wurst authored 6 years ago

41) }
42) $vhosts = list_vhosts($filter);
43) 
44) 
Bernd Wurst Traffic-Statistik im Webint...

Bernd Wurst authored 11 years ago

45) $traffic_sum = 0;
Bernd Wurst Beta-Warnung bei aktivierte...

Bernd Wurst authored 8 years ago

46) $letsencrypt = false;
47) foreach ($vhosts as $vh) {
48)   if (strstr($vh['options'], 'letsencrypt')) {
49)     $letsencrypt = true;
50)   }
51) }
Bernd Wurst Domain-Nutzung mit Deeplink...

Bernd Wurst authored 6 years ago

52) // Filter-Funktion
53) if (count($vhosts) > 10 || $filter) {
54)     $form = '<p><label for="filter">Filter für die Anzeige:</label> <input type="text" name="filter" id="filter" value="'.$filter.'"><button type="button" id="clear" title="Filter leeren">&times;</button><input type="submit" value="Filtern!"></p>';
55)     output(html_form('vhosts_filter', 'vhosts', '', $form));
56) }
bernd neues VHosts-Modul (unbenut...

bernd authored 16 years ago

57) 
58) if (count($vhosts) > 0)
59) {
Bernd Wurst Lets Encrypt ist jetzt kein...

Bernd Wurst authored 7 years ago

60)   /*
Bernd Wurst Beta-Warnung bei aktivierte...

Bernd Wurst authored 8 years ago

61)   if ($letsencrypt) {
62)     warning("Sie haben für eine oder mehrere Domains die Nutzung eines Let's-Encrypt-Zertifikats aktiviert. Wir haben diese Funktion nach allgemeiner Verfügbarkeit von Let's Encrypt umgehend freigeschaltet und sind mit der ersten Erfahrungen sehr zufrieden. Dennoch befindet sich Let's Encrypt momentan im Beta-Betrieb (d.h. Testbetrieb). Störungen sind daher nicht auszuschließen.");
63)     warning("Die Bereitstellung eines Zertifikats von Let's Encrypt kann momentan bis zu 15 Minuten in Anspruch nehmen.");
64)   }
Bernd Wurst Lets Encrypt ist jetzt kein...

Bernd Wurst authored 7 years ago

65)   */
Bernd Wurst Ermögliche das Auswählen de...

Bernd Wurst authored 11 years ago

66)   if (count($vhosts) > 10) {
67)     addnew('edit', 'Neue Domain bzw. Subdomain einrichten');
68)   }
Bernd Wurst Interface für Zertifikate i...

Bernd Wurst authored 7 years ago

69)   output("<table><tr><th>(Sub-)Domain</th><th></th><th>Zusätzliche Alias-Namen</th><th>Protokoll</th><th>HTTPS</th><th>Traffic<sup>*</sup></th><th>PHP</th><th>Lokaler Pfad<sup>**</sup></th></tr>\n");
bernd mod_php deprecated, zwang z...

bernd authored 15 years ago

70) 
71)   $even = True;
bernd Aliases editieren

bernd authored 16 years ago

72) 
bernd neues VHosts-Modul (unbenut...

bernd authored 16 years ago

73)   foreach ($vhosts as $vhost)
74)   {
bernd mod_php deprecated, zwang z...

bernd authored 15 years ago

75)     $even = ! $even;
bernd neues VHosts-Modul (unbenut...

bernd authored 16 years ago

76)     $fqdn = $vhost['fqdn'];
bernd mod_php deprecated, zwang z...

bernd authored 15 years ago

77)     $class = 'odd';
78)     if ($even) $class = 'even';
Bernd Wurst Link auf Website / Ermöglic...

Bernd Wurst authored 9 years ago

79)     $proto = 'http';
80)     if ($vhost['ssl'] == 'https' || $vhost['ssl'] == 'forward') {
81)       $proto = 'https';
82)     }
83)     $linkuri = $vhost['fqdn'];
84)     if (strstr($vhost['options'], 'aliaswww')) {
85)       $linkuri = "www.".$vhost['fqdn'];
86)     }
87)     output("<tr class=\"{$class}\"><td>".internal_link('edit', $fqdn, "vhost={$vhost['id']}", 'title="Einstellungen bearbeiten"')."</td><td><a href=\"{$proto}://{$linkuri}\">".other_icon('world_link.png', 'Website aufrufen')."</a> ".internal_link('save', icon_delete("»{$vhost['fqdn']}« löschen"), 'action=delete&vhost='.$vhost['id'] )."</td><td>");
bernd Weniger Datenbankzugriffe b...

bernd authored 14 years ago

88)     $aliases = get_all_aliases($vhost);
bernd mod_php deprecated, zwang z...

bernd authored 15 years ago

89)     $tmp = '';
90)     if (count($aliases) > 0)
bernd neues VHosts-Modul (unbenut...

bernd authored 16 years ago

91)     {
bernd mod_php deprecated, zwang z...

bernd authored 15 years ago

92)       foreach ($aliases as $alias)
93)       {
94)         $tmp .= $alias['fqdn'].'<br />';
95)       }
96)     } else {
97)       $tmp = '<em>- keine -</em>';
bernd neues VHosts-Modul (unbenut...

bernd authored 16 years ago

98)     }
bernd mod_php deprecated, zwang z...

bernd authored 15 years ago

99)     output(internal_link('aliases', $tmp, 'vhost='.$vhost['id'], 'title="Aliase verwalten"'));
bernd neues VHosts-Modul (unbenut...

bernd authored 16 years ago

100)     output('</td>');
Bernd Wurst Traffic-Statistik im Webint...

Bernd Wurst authored 11 years ago

101)     $logfiles = 'Kein Log';
bernd Logfile-Status in der vhost...

bernd authored 16 years ago

102)     if ($vhost['logtype'] == 'default')
Bernd Wurst Traffic-Statistik im Webint...

Bernd Wurst authored 11 years ago

103)       $logfiles = 'Zugriffe ';
bernd Logfile-Status in der vhost...

bernd authored 16 years ago

104)     elseif ($vhost['logtype'] == 'anonymous')
Bernd Wurst Traffic-Statistik im Webint...

Bernd Wurst authored 11 years ago

105)       $logfiles = 'Anonym';
bernd Logfile-Status in der vhost...

bernd authored 16 years ago

106)     if ($vhost['errorlog'] == 1)
107)     {
bernd mod_php deprecated, zwang z...

bernd authored 15 years ago

108)       if ($vhost['logtype'] == NULL)
Bernd Wurst Traffic-Statistik im Webint...

Bernd Wurst authored 11 years ago

109)         $logfiles = 'Fehler';
bernd Logfile-Status in der vhost...

bernd authored 16 years ago

110)       else
Bernd Wurst Traffic-Statistik im Webint...

Bernd Wurst authored 11 years ago

111)         $logfiles .= ' + Fehler';
bernd Logfile-Status in der vhost...

bernd authored 16 years ago

112)     }
bernd Webalizer/Statistik-Funktio...

bernd authored 14 years ago

113)     $stats = $vhost['stats'] ? internal_link("showstats", other_icon("chart_bar.png", "Statistiken anzeigen"), "vhost={$vhost['id']}").' ' : '';
114)     output("<td>{$stats}{$logfiles}</td>");
bernd Neue Zertifikatsverwaltung

bernd authored 14 years ago

115)   
116)     if ($vhost['ssl'] == 'http')
117)     {
Bernd Wurst Interface für Zertifikate i...

Bernd Wurst authored 7 years ago

118)       output("<td>".icon_disabled('HTTPS ausgeschaltet')."</td>");
bernd Neue Zertifikatsverwaltung

bernd authored 14 years ago

119)     }
Bernd Wurst Add lets encrypt logo

Bernd Wurst authored 8 years ago

120)     elseif (strstr($vhost['options'], "letsencrypt") && $vhost['cert'])
121)     {
Bernd Wurst Zeige Warning wenn Lets Enc...

Bernd Wurst authored 8 years ago

122)       $forward = '';
123)       if ($vhost['ssl'] == 'forward') {
Bernd Wurst Interface für Zertifikate i...

Bernd Wurst authored 7 years ago

124)         $forward = " ".other_icon("refresh.png", 'Auf HTTPS umleiten');
Bernd Wurst Zeige Warning wenn Lets Enc...

Bernd Wurst authored 8 years ago

125)       } else {
126)         $forward = " ".other_icon("warning.png", 'Ungeschützter Aufruf weiterhin möglich');
127)       }
128)       output("<td>".other_icon("letsencrypt.png", "Automatische Zertifikatsverwaltung mit Let's Encrypt").$forward."</td>");
Bernd Wurst Add lets encrypt logo

Bernd Wurst authored 8 years ago

129)     }
bernd Neue Zertifikatsverwaltung

bernd authored 14 years ago

130)     elseif ($vhost['cert'])
131)     {
Bernd Wurst Ermögliche das Setzen des P...

Bernd Wurst authored 6 years ago

132)       output("<td>".other_icon("key.png", "HTTPS mit eigenem Zertifikat")."</td>");
Bernd Wurst Icons für LE-Zertifikat

Bernd Wurst authored 8 years ago

133)     }
134)     elseif (strstr($vhost['options'], "letsencrypt")) {
135)       // Letsencrypt gewählt aber noch nicht aktiv
136)       $message = "Let's Encrypt-Zertifikat ist noch nicht bereit";
Bernd Wurst Add lets encrypt logo

Bernd Wurst authored 8 years ago

137)       output("<td>".other_icon("letsencrypt.png", $message).icon_warning($message)."</td>");
bernd Neue Zertifikatsverwaltung

bernd authored 14 years ago

138)     }
139)     else
140)     {
Bernd Wurst Interface für Zertifikate i...

Bernd Wurst authored 7 years ago

141)       output("<td>".icon_enabled('HTTPS eingeschaltet')."</td>");
bernd Neue Zertifikatsverwaltung

bernd authored 14 years ago

142)     }
143) 
Bernd Wurst Traffic-Statistik im Webint...

Bernd Wurst authored 11 years ago

144)     $traffic = traffic_month($vhost['id']);
145)     $traffic_sum += (int) $traffic;
146)     $traffic_string = $traffic.' MB';
147)     if ($traffic > 1024) {
148)       $traffic_string = round($traffic / 1024, 2).' GB';
149)     }
150)     if ($traffic === NULL) {
151)       $traffic_string = '--';
152)     }
153)     output("<td style=\"text-align: right;\">{$traffic_string}</td>");
154) 
bernd VHosts-Modul mit neuem Layo...

bernd authored 16 years ago

155)     if ($vhost['is_webapp'] == 1) {
bernd mod_php deprecated, zwang z...

bernd authored 15 years ago

156)       output('<td colspan="2"><em><strong>Sonderanwendung:</strong> Vorinstallierte Webanwendung</em></td>');
bernd VHosts-Modul mit neuem Layo...

bernd authored 16 years ago

157)     }
158)     elseif ($vhost['is_dav'] == 1) {
bernd mod_php deprecated, zwang z...

bernd authored 15 years ago

159)       output('<td colspan="2"><em><strong>Sonderanwendung:</strong> WebDAV</em></td>');
bernd VHosts-Modul mit neuem Layo...

bernd authored 16 years ago

160)     }
161)     elseif ($vhost['is_svn'] == 1) {
bernd mod_php deprecated, zwang z...

bernd authored 15 years ago

162)       output('<td colspan="2"><em><strong>Sonderanwendung:</strong> Subversion-Server</em></td>');
bernd VHosts-Modul mit neuem Layo...

bernd authored 16 years ago

163)     }
164)     else {
165)       $php = $vhost['php'];
166)       switch ($php)
167)       {
Hanno Böck add PHP 7.2 support, re-cre...

Hanno Böck authored 6 years ago

168)         /* To create new PHP icon:
169)            convert ok.png -gravity center -draw "text 0,0 '7.2'" ok-php72.png
170)         */
bernd VHosts-Modul mit neuem Layo...

bernd authored 16 years ago

171)         case NULL:
bernd neue Bilder, mehr SSL-Zerti...

bernd authored 14 years ago

172)           $php = icon_disabled('PHP ausgeschaltet');
bernd VHosts-Modul mit neuem Layo...

bernd authored 16 years ago

173)           break;
Hanno Böck php 5.6 logo, reorganize lo...

Hanno Böck authored 9 years ago

174)         case 'php56':
175)           $php = icon_enabled_phpxx('PHP in Version 5.6 eingeschaltet', 5, 6);
bernd VHosts-Modul mit neuem Layo...

bernd authored 16 years ago

176)           break;
Bernd Wurst PHP <= 5.5 entfernt und Vor...

Bernd Wurst authored 7 years ago

177)         case 'fpm70':
Hanno Böck PHP 7.0 support

Hanno Böck authored 8 years ago

178)           $php = icon_enabled_phpxx('PHP in Version 7.0 eingeschaltet', 7, 0);
179)           break;
Bernd Wurst PHP <= 5.5 entfernt und Vor...

Bernd Wurst authored 7 years ago

180)         case 'fpm71':
181)           $php = icon_enabled_phpxx('PHP in Version 7.1 eingeschaltet', 7, 1);
182)           break;
Hanno Böck add PHP 7.2 support, re-cre...

Hanno Böck authored 6 years ago

183)         case 'fpm72':
184)           $php = icon_enabled_phpxx('PHP in Version 7.2 eingeschaltet', 7, 2);
185)           break;
bernd VHosts-Modul mit neuem Layo...

bernd authored 16 years ago

186)       }
187)       output("<td>{$php}</td>");
188)       if ($vhost['docroot_is_default'] == 1)
189)         output("<td><span style=\"color:#777;\">{$vhost['docroot']}</span></td>");
190)       else
191)         output("<td><strong>{$vhost['docroot']}</strong></td>");
192)     }
bernd mod_php deprecated, zwang z...

bernd authored 15 years ago

193)     output("</tr>\n");
bernd neues VHosts-Modul (unbenut...

bernd authored 16 years ago

194)   }
bernd VHosts anlegen geht auch we...

bernd authored 16 years ago

195)   output('</table>');
Bernd Wurst Traffic-Statistik im Webint...

Bernd Wurst authored 11 years ago

196)   if ($traffic_sum > 0) {
197)     $traffic_string = $traffic_sum.' MB';
198)     if ($traffic_sum > 1024) {
199)       $traffic_string = round($traffic_sum / 1024, 2).' GB';
200)     }
schokokeks.org web services Typo

schokokeks.org web services authored 10 years ago

201)     output('<p><strong>Traffic insgesamt: '.$traffic_string.'</strong> in den letzten 30 Tagen</p>');
Bernd Wurst Traffic-Statistik im Webint...

Bernd Wurst authored 11 years ago

202)   }
203)   output('<p style="font-size: 90%;"><sup>*</sup>)&#160;Dieser Wert stellt den Datenverkehr dieser Website für die letzten 30 Tage dar.</p>');
204)   output('<p style="font-size: 90%;"><sup>**</sup>)&#160;schwach geschriebene Pfadangaben bezeichnen die Standardeinstellung. Ist ein Pfad fett dargestellt, so haben Sie einen davon abweichenden Wert eingegeben.</p>');
bernd neues VHosts-Modul (unbenut...

bernd authored 16 years ago

205) }
Bernd Wurst Domain-Nutzung mit Deeplink...

Bernd Wurst authored 6 years ago

206) elseif ($filter) {
207)   output("<p><strong><em>Keine Einträge für Ihre aktuellen Filterkrieterien.</em></strong></p>");
208) }
bernd Deutlich machen wenn keine...

bernd authored 14 years ago

209) else // keine VHosts vorhanden
210) {
211)   output("<p><strong><em>Bisher haben Sie keine Domain bzw. Subdomain eingerichtet.</em></strong></p>");
212) }
bernd neues VHosts-Modul (unbenut...

bernd authored 16 years ago

213) 
bernd addnew() eingeführt

bernd authored 14 years ago

214) addnew('edit', 'Neue Domain bzw. Subdomain einrichten');
215) 
Bernd Wurst Interface für Zertifikate i...

Bernd Wurst authored 7 years ago

216) output('<p>Bei passenden Einstellungen wird für jede Ihrer Websites automatisch ein Zertifikat von Let\'s Encrypt verwaltet und regelmäßig erneuert. Wenn Sie ein Zertifikat einsetzen möchten, das von einer anderen Zertifizierungsstelle ausgestellt ist, können Sie dieses hier hochladen.</p>');
217) addnew('newcert', 'Ein eigenes HTTPS-Zertifikat eintragen');
218)