98fd4f66e2b78cdef2a7a77e326f16b4988820d5
bernd neues VHosts-Modul (unbenut...

bernd authored 16 years ago

1) <?php
2) 
3) require_once("inc/base.php");
4) require_once("inc/error.php");
5) require_once("inc/security.php");
6) 
7) require_once('class/domain.php');
8) 
bernd Neue Zertifikatsverwaltung

bernd authored 14 years ago

9) require_once("certs.php");
10) 
bernd Aliases editieren

bernd authored 16 years ago

11) 
bernd Zusätzlicher Haken für eige...

bernd authored 13 years ago

12) function autoipv6_address($vhost_id, $mode = 1)
bernd IPv6-Regelbetrieb vorbereit...

bernd authored 13 years ago

13) {
14)   $result = db_query("SELECT uid, v6_prefix FROM vhosts.v_vhost LEFT JOIN system.servers ON (servers.hostname = server) WHERE v_vhost.id={$vhost_id}");
15)   $data = mysql_fetch_assoc($result);
16)   if (!$data['v6_prefix'])
17)   {
18)     warning("IPv6-Adresse nicht verfügbar, Server unterstützt kein IPv6");
19)     return "";
20)   }
bernd Prefix-Länge herauslöschen

bernd authored 13 years ago

21)   list($prefix, $null) = explode('/', $data['v6_prefix']);
bernd Zusätzlicher Haken für eige...

bernd authored 13 years ago

22)   $vh = ':1';
23)   if ($mode == 2) {
24)     $vh = implode(':', str_split(sprintf("%08x", $vhost_id), 4));
25)   }
bernd Prefix-Länge herauslöschen

bernd authored 13 years ago

26)   $ipv6 = $prefix . sprintf("%04s", $data['uid']) . ':' . $vh;
bernd IPv6-Regelbetrieb vorbereit...

bernd authored 13 years ago

27)   return $ipv6;
28) }
29) 
30) 
bernd neues VHosts-Modul (unbenut...

bernd authored 16 years ago

31) function list_vhosts()
32) {
33)   $uid = (int) $_SESSION['userinfo']['uid'];
bernd CGI abschaltbar

bernd authored 14 years ago

34)   $result = db_query("SELECT vh.id,fqdn,domain,docroot,docroot_is_default,php,cgi,vh.certid AS cert, vh.ssl, vh.options,logtype,errorlog,IF(dav.id IS NULL OR dav.type='svn', 0, 1) AS is_dav,IF(dav.id IS NULL OR dav.type='dav', 0, 1) AS is_svn, IF(webapps.id IS NULL, 0, 1) AS is_webapp, stats FROM vhosts.v_vhost AS vh LEFT JOIN vhosts.dav ON (dav.vhost=vh.id) LEFT JOIN vhosts.webapps ON (webapps.vhost = vh.id) WHERE uid={$uid} ORDER BY domain,hostname");
bernd neues VHosts-Modul (unbenut...

bernd authored 16 years ago

35)   $ret = array();
36)   while ($item = mysql_fetch_assoc($result))
37)     array_push($ret, $item);
38)   return $ret;
39) }
40) 
bernd IPv6-fähigkeit auch richtig...

bernd authored 13 years ago

41) function ipv6_possible($server)
bernd IPv6-Option nur anzeigen we...

bernd authored 13 years ago

42) {
bernd IPv6-fähigkeit auch richtig...

bernd authored 13 years ago

43)   $serverid = (int) $server;
44)   $servername = mysql_real_escape_string($server);
45)   $result = db_query("SELECT v6_prefix FROM system.servers WHERE id={$serverid} OR hostname='{$servername}'");
46)   $line = mysql_fetch_assoc($result);
47)   DEBUG("Server {$server} is v6-capable: ". ($line['v6_prefix'] != NULL));
48)   return ($line['v6_prefix'] != NULL);
bernd IPv6-Option nur anzeigen we...

bernd authored 13 years ago

49) }
50) 
bernd VHosts können bearbeitet we...

bernd authored 16 years ago

51) function empty_vhost()
52) {
bernd neue Bilder, mehr SSL-Zerti...

bernd authored 14 years ago

53)   $vhost['id'] = NULL;
bernd VHosts können bearbeitet we...

bernd authored 16 years ago

54)   $vhost['hostname'] = '';
55)   
bernd domain = NULL ==> user-subd...

bernd authored 16 years ago

56)   $vhost['domain_id'] = -1;
bernd Mehr config-optionen und co...

bernd authored 14 years ago

57)   $vhost['domain'] = $_SESSION['userinfo']['username'].'.'.config('masterdomain');
bernd VHosts können bearbeitet we...

bernd authored 16 years ago

58)   
59)   $vhost['homedir'] = $_SESSION['userinfo']['homedir'];
60)   $vhost['docroot'] = NULL;
bernd PHP 5.3 als Default

bernd authored 14 years ago

61)   $vhost['php'] = 'php53';
bernd CGI abschaltbar

bernd authored 14 years ago

62)   $vhost['cgi'] = 1;
bernd SSL auch über webinterface...

bernd authored 16 years ago

63)   $vhost['ssl'] = NULL;
bernd SuExec-Useraccount einstellbar

bernd authored 14 years ago

64)   $vhost['suexec_user'] = NULL;
bernd VHosts können bearbeitet we...

bernd authored 16 years ago

65)   $vhost['logtype'] = NULL;
bernd Einige notices (undefined i...

bernd authored 14 years ago

66)   $vhost['errorlog'] = 0;
bernd vhost-Modul kann jetzt SVN-...

bernd authored 16 years ago

67)   $vhost['is_dav'] = 0;
68)   $vhost['is_svn'] = 0;
69)   $vhost['is_webapp'] = 0;
bernd Neue Zertifikatsverwaltung

bernd authored 14 years ago

70)   $vhost['webapp_id'] = NULL;
71)   
72)   $vhost['cert'] = NULL;
bernd Einige notices (undefined i...

bernd authored 14 years ago

73)   $vhost['certid'] = NULL;
bernd IP-Adressen aktivieren

bernd authored 14 years ago

74)   $vhost['ipv4'] = NULL;
bernd r1864 war Blöd, reverted

bernd authored 13 years ago

75)   $vhost['autoipv6'] = 2; // 1 => Eine IP pro User, 2 => Eine IP pro VHost
bernd Neue Zertifikatsverwaltung

bernd authored 14 years ago

76) 
bernd VHosts können bearbeitet we...

bernd authored 16 years ago

77)   $vhost['options'] = '';
bernd Webalizer/Statistik-Funktio...

bernd authored 14 years ago

78)   $vhost['stats'] = NULL;
bernd VHosts können bearbeitet we...

bernd authored 16 years ago

79)   return $vhost;
80) }
81) 
82) 
bernd Aliases editieren

bernd authored 16 years ago

83) function empty_alias()
84) {
85)   $alias['hostname'] = '';
86)   
bernd domain = NULL ==> user-subd...

bernd authored 16 years ago

87)   $alias['domain_id'] = -1;
bernd Mehr config-optionen und co...

bernd authored 14 years ago

88)   $alias['domain'] = $_SESSION['userinfo']['username'].'.'.config('masterdomain');
bernd Aliases editieren

bernd authored 16 years ago

89)   
90)   $alias['options'] = '';
91)   return $alias;
92) }
93) 
94) 
bernd VHosts können bearbeitet we...

bernd authored 16 years ago

95) function domainselect($selected = NULL, $selectattribute = '')
bernd neues VHosts-Modul (unbenut...

bernd authored 16 years ago

96) {
bernd Mehr config-optionen und co...

bernd authored 14 years ago

97)   global $domainlist, $config;
bernd neues VHosts-Modul (unbenut...

bernd authored 16 years ago

98)   if ($domainlist == NULL)
99)     $domainlist = get_domain_list($_SESSION['customerinfo']['customerno'],
100)                                   $_SESSION['userinfo']['uid']);
101)   $selected = (int) $selected;
102) 
bernd VHosts können bearbeitet we...

bernd authored 16 years ago

103)   $ret = '<select id="domain" name="domain" size="1" '.$selectattribute.' >';
bernd Mehr config-optionen und co...

bernd authored 14 years ago

104)   $ret .= ' <option value="-1">'.$_SESSION['userinfo']['username'].'.'.config('masterdomain').'</option>';
bernd domain = NULL ==> user-subd...

bernd authored 16 years ago

105)   $ret .= ' <option value="" disabled="disabled">--------------------------------</option>';
bernd neues VHosts-Modul (unbenut...

bernd authored 16 years ago

106)   foreach ($domainlist as $dom)
107)   {
bernd Aliases editieren

bernd authored 16 years ago

108)     $s = ($selected == $dom->id) ? ' selected="selected" ': '';
bernd neues VHosts-Modul (unbenut...

bernd authored 16 years ago

109)     $ret .= "<option value=\"{$dom->id}\"{$s}>{$dom->fqdn}</option>\n";
110)   }
111)   $ret .= '</select>';
112)   return $ret;
113) }
114) 
115) 
116) 
117) function get_vhost_details($id)
118) {
119)   $id = (int) $id;
120)   $uid = (int) $_SESSION['userinfo']['uid'];
bernd VHosts-Modul mit neuem Layo...

bernd authored 16 years ago

121)   $result = db_query("SELECT vh.*,IF(dav.id IS NULL OR dav.type='svn', 0, 1) AS is_dav,IF(dav.id IS NULL OR dav.type='dav', 0, 1) AS is_svn, IF(webapps.id IS NULL, 0, 1) AS is_webapp FROM vhosts.v_vhost AS vh LEFT JOIN vhosts.dav ON (dav.vhost=vh.id) LEFT JOIN vhosts.webapps ON (webapps.vhost = vh.id) WHERE uid={$uid} AND vh.id={$id}");
bernd neues VHosts-Modul (unbenut...

bernd authored 16 years ago

122)   if (mysql_num_rows($result) != 1)
123)     system_failure('Interner Fehler beim Auslesen der Daten');
124) 
bernd Neue Zertifikatsverwaltung

bernd authored 14 years ago

125)   $ret = mysql_fetch_assoc($result);
126)   DEBUG($ret);
127)   return $ret;
bernd neues VHosts-Modul (unbenut...

bernd authored 16 years ago

128) }
129) 
130) 
131) function get_aliases($vhost)
132) {
133)   $result = db_query("SELECT id,fqdn,options FROM vhosts.v_alias WHERE vhost={$vhost}");
134)   $ret = array();
bernd Aliases editieren

bernd authored 16 years ago

135)   while ($item = mysql_fetch_assoc($result)) {
bernd neues VHosts-Modul (unbenut...

bernd authored 16 years ago

136)     array_push($ret, $item);
bernd Aliases editieren

bernd authored 16 years ago

137)   }
138)   return $ret;
139) }
140) 
141) 
142) 
143) function get_all_aliases($vhost)
144) {
bernd Weniger Datenbankzugriffe b...

bernd authored 14 years ago

145)   //$vhost = get_vhost_details( (int) $vhost );
bernd Aliases editieren

bernd authored 16 years ago

146)   $aliases = get_aliases($vhost['id']);
147)   $ret = array();
148)   if (strstr($vhost['options'], 'aliaswww')) {
149)     array_push($ret, array('id' => 'www', 'fqdn' => 'www.'.$vhost['fqdn'], 'options' => (strstr($vhost['options'], 'forwardwww') ? 'forward' : '')));
150)   }
151)   foreach ($aliases as $item) {
152)     array_push($ret, $item);
153)     if (strstr($item['options'], 'aliaswww')) {
154)       array_push($ret, array('id' => 'www_'.$item['id'], 'fqdn' => 'www.'.$item['fqdn'], 'options' => (strstr($item['options'], 'forward') ? 'forward' : '')));
155)     }
156)   }
bernd neues VHosts-Modul (unbenut...

bernd authored 16 years ago

157)   return $ret;
158) }
159) 
bernd Aliases editieren

bernd authored 16 years ago

160) 
bernd Webapps implementiert

bernd authored 16 years ago

161) function list_available_webapps()
162) {
163)   $result = db_query("SELECT id,displayname FROM vhosts.global_webapps");
164)   $ret = array();
165)   while ($item = mysql_fetch_assoc($result))
166)     array_push($ret, $item);
167)   return $ret;
168) }
169) 
170) 
bernd VHosts können bearbeitet we...

bernd authored 16 years ago

171) function delete_vhost($id)
172) {
173)   $id = (int) $id;
174)   if ($id == 0)
175)     system_failure("id == 0");
176)   $vhost = get_vhost_details($id);
bernd Logger mit Logleveln

bernd authored 14 years ago

177)   logger(LOG_INFO, 'modules/vhosts/include/vhosts', 'vhosts', 'Removing vhost #'.$id.' ('.$vhost['hostname'].'.'.$vhost['domain'].')');
bernd VHosts können bearbeitet we...

bernd authored 16 years ago

178)   db_query("DELETE FROM vhosts.vhost WHERE id={$vhost['id']} LIMIT 1");
179) }
180) 
bernd Aliases editieren

bernd authored 16 years ago

181) 
bernd vhost-Modul kann jetzt SVN-...

bernd authored 16 years ago

182) 
183) function make_svn_vhost($id) 
184) {
185)   $id = (int) $id;
186)   if ($id == 0)
187)     system_failure("id == 0");
bernd Logger mit Logleveln

bernd authored 14 years ago

188)   logger(LOG_INFO, 'modules/vhosts/include/vhosts', 'vhosts', 'Converting vhost #'.$id.' to SVN');
bernd letzter commit rückgängig

bernd authored 16 years ago

189)   db_query("REPLACE INTO vhosts.dav (vhost, type) VALUES ({$id}, 'svn')");
bernd Webapps implementiert

bernd authored 16 years ago

190)   db_query("DELETE FROM vhosts.webapps WHERE vhost={$id}");
bernd vhost-Modul kann jetzt SVN-...

bernd authored 16 years ago

191) }
192) 
193) function make_dav_vhost($id) 
194) {
195)   $id = (int) $id;
196)   if ($id == 0)
197)     system_failure("id == 0");
bernd Logger mit Logleveln

bernd authored 14 years ago

198)   logger(LOG_INFO, 'modules/vhosts/include/vhosts', 'vhosts', 'Converting vhost #'.$id.' to WebDAV');
bernd Docroot auch bei WebDAV anz...

bernd authored 16 years ago

199)   db_query("REPLACE INTO vhosts.dav (vhost, type, options) VALUES ({$id}, 'dav', 'nouserfile')");
bernd Webapps implementiert

bernd authored 16 years ago

200)   db_query("DELETE FROM vhosts.webapps WHERE vhost={$id}");
bernd vhost-Modul kann jetzt SVN-...

bernd authored 16 years ago

201) }
202) 
bernd Webapps implementiert

bernd authored 16 years ago

203) function make_regular_vhost($id)
bernd vhost-Modul kann jetzt SVN-...

bernd authored 16 years ago

204) {
205)   $id = (int) $id;
206)   if ($id == 0)
207)     system_failure("id == 0");
bernd Logger mit Logleveln

bernd authored 14 years ago

208)   logger(LOG_INFO, 'modules/vhosts/include/vhosts', 'vhosts', 'Converting vhost #'.$id.' to regular');
bernd vhost-Modul kann jetzt SVN-...

bernd authored 16 years ago

209)   db_query("DELETE FROM vhosts.dav WHERE vhost={$id}");
bernd Webapps implementiert

bernd authored 16 years ago

210)   db_query("DELETE FROM vhosts.webapps WHERE vhost={$id}");
bernd vhost-Modul kann jetzt SVN-...

bernd authored 16 years ago

211) }
212) 
213) 
214) function make_webapp_vhost($id, $webapp) 
215) {
216)   $id = (int) $id;
217)   $webapp = (int) $webapp;
218)   if ($id == 0)
219)     system_failure("id == 0");
bernd Webapps implementiert

bernd authored 16 years ago

220)   $result = db_query("SELECT displayname FROM vhosts.global_webapps WHERE id={$webapp};");
221)   if (mysql_num_rows($result) == 0)
222)     system_failure("webapp-id invalid");
223)   $webapp_name = mysql_fetch_object($result)->displayname;
bernd Logger mit Logleveln

bernd authored 14 years ago

224)   logger(LOG_INFO, 'modules/vhosts/include/vhosts', 'vhosts', 'Setting up webapp '.$webapp_name.' on vhost #'.$id);
bernd Webapps implementiert

bernd authored 16 years ago

225)   db_query("REPLACE INTO vhosts.webapps (vhost, webapp) VALUES ({$id}, {$webapp})");
226)   mail('webapps-setup@schokokeks.org', 'setup', 'setup');
bernd vhost-Modul kann jetzt SVN-...

bernd authored 16 years ago

227) }
228) 
229) 
bernd VHosts können bearbeitet we...

bernd authored 16 years ago

230) function save_vhost($vhost)
231) {
232)   if (! is_array($vhost))
233)     system_failure('$vhost kein array!');
234)   $id = (int) $vhost['id'];
235)   $hostname = maybe_null($vhost['hostname']);
bernd Webalizer/Statistik-Funktio...

bernd authored 14 years ago

236)   $domain = (int) $vhost['domain_id'];
bernd VHosts können bearbeitet we...

bernd authored 16 years ago

237)   if ($domain == 0)
bernd Aliases editieren

bernd authored 16 years ago

238)     system_failure('$domain == 0');
bernd Webalizer/Statistik-Funktio...

bernd authored 14 years ago

239)   if ($vhost['domain_id'] == -1)
bernd domain = NULL ==> user-subd...

bernd authored 16 years ago

240)     $domain = 'NULL';
bernd VHosts können bearbeitet we...

bernd authored 16 years ago

241)   $docroot = maybe_null($vhost['docroot']);
242)   $php = maybe_null($vhost['php']);
bernd CGI abschaltbar

bernd authored 14 years ago

243)   $cgi = ($vhost['cgi'] == 1 ? 1 : 0);
bernd SSL auch über webinterface...

bernd authored 16 years ago

244)   $ssl = maybe_null($vhost['ssl']);
bernd SuExec-Useraccount einstellbar

bernd authored 14 years ago

245)   $suexec_user = 'NULL';
246) 
247)   $available_suexec = available_suexec_users();
248)   foreach ($available_suexec AS $u)
249)     if ($u['uid'] == $vhost['suexec_user'])
250)       $suexec_user = $u['uid'];
251) 
bernd VHosts können bearbeitet we...

bernd authored 16 years ago

252)   $logtype = maybe_null($vhost['logtype']);
bernd error_log konfigurierbar

bernd authored 16 years ago

253)   $errorlog = (int) $vhost['errorlog'];
bernd fix für svn/nodocroot

bernd authored 16 years ago

254)   if ($vhost['is_svn']) {
bernd nodocroot für svn-hosts

bernd authored 16 years ago

255)     if (! $vhost['options']) $vhost['options']='nodocroot';
256)     else $vhost['options']+=",nodocroot";
257)   }
bernd VHosts können bearbeitet we...

bernd authored 16 years ago

258)   $options = mysql_real_escape_string( $vhost['options'] );
259) 
bernd Neue Zertifikatsverwaltung

bernd authored 14 years ago

260)   $cert = 0;
261)   $certs = user_certs();
262)   foreach ($certs as $c)
263)     if ($c['id'] == $vhost['cert'])
264)       $cert = $c['id'];
265)   if ($cert == 0)
266)     $cert = 'NULL';
267) 
bernd IP-Adressen aktivieren

bernd authored 14 years ago

268)   $ipv4 = 'NULL';
269)   $ipv4_avail = user_ipaddrs();
270)   if (in_array($vhost['ipv4'], $ipv4_avail))
271)   {
272)     $ipv4 = maybe_null($vhost['ipv4']);
273)   }
bernd IPv6

bernd authored 14 years ago

274) 
bernd Zusätzlicher Haken für eige...

bernd authored 13 years ago

275)   $autoipv6 = 1;
276)   if ($vhost['autoipv6'] == 0 ||  $vhost['autoipv6'] == 2) {
277)     $autoipv6 = $vhost['autoipv6'];
278)   }
bernd IPv6

bernd authored 14 years ago

279) 
bernd Webalizer/Statistik-Funktio...

bernd authored 14 years ago

280)   $stats = maybe_null($vhost['stats']);
bernd IP-Adressen aktivieren

bernd authored 14 years ago

281) 
bernd Logging

bernd authored 16 years ago

282)   if ($id != 0) {
bernd Logger mit Logleveln

bernd authored 14 years ago

283)     logger(LOG_INFO, 'modules/vhosts/include/vhosts', 'vhosts', 'Updating vhost #'.$id.' ('.$vhost['hostname'].'.'.$vhost['domain'].')');
bernd SuExec-Useraccount einstellbar

bernd authored 14 years ago

284)     db_query("UPDATE vhosts.vhost SET hostname={$hostname}, domain={$domain}, docroot={$docroot}, php={$php}, cgi={$cgi}, `ssl`={$ssl}, `suexec_user`={$suexec_user}, logtype={$logtype}, errorlog={$errorlog}, certid={$cert}, ipv4={$ipv4}, autoipv6={$autoipv6}, options='{$options}', stats={$stats} WHERE id={$id} LIMIT 1");
bernd Logging

bernd authored 16 years ago

285)   }
286)   else {
bernd Logger mit Logleveln

bernd authored 14 years ago

287)     logger(LOG_INFO, 'modules/vhosts/include/vhosts', 'vhosts', 'Creating vhost '.$vhost['hostname'].'.'.$vhost['domain'].'');
bernd SuExec-Useraccount einstellbar

bernd authored 14 years ago

288)     $result = db_query("INSERT INTO vhosts.vhost (user, hostname, domain, docroot, php, cgi, `ssl`, `suexec_user`, logtype, errorlog, certid, ipv4, autoipv6, options, stats) VALUES ({$_SESSION['userinfo']['uid']}, {$hostname}, {$domain}, {$docroot}, {$php}, {$cgi}, {$ssl}, {$suexec_user}, {$logtype}, {$errorlog}, {$cert}, {$ipv4}, {$autoipv6}, '{$options}', {$stats})");
bernd vhost-Modul kann jetzt SVN-...

bernd authored 16 years ago

289)     $id = mysql_insert_id();
bernd Logging

bernd authored 16 years ago

290)   }
bernd Webapps implementiert

bernd authored 16 years ago

291)   $oldvhost = get_vhost_details($id);
292)   /*
293)     these vars may be 0 or 1.
294)     So newval > oldval means that it has been switched on yet.
295)   */
296)   if ($vhost['is_dav'] > $oldvhost['is_dav'])
bernd vhost-Modul kann jetzt SVN-...

bernd authored 16 years ago

297)       make_dav_vhost($id);
bernd Webapps implementiert

bernd authored 16 years ago

298)   elseif ($vhost['is_svn'] > $oldvhost['is_svn'])
bernd vhost-Modul kann jetzt SVN-...

bernd authored 16 years ago

299)       make_svn_vhost($id);
bernd Webapps implementiert

bernd authored 16 years ago

300)   elseif ($vhost['is_webapp'] > $oldvhost['is_webapp'])
301)       make_webapp_vhost($id, $vhost['webapp_id']);
302)   elseif ($vhost['is_dav'] == 0 && $vhost['is_svn'] == 0 && $vhost['is_webapp'] == 0)
303)       make_regular_vhost($id);
bernd VHosts können bearbeitet we...

bernd authored 16 years ago

304) }
305) 
306) 
bernd Aliases editieren

bernd authored 16 years ago

307) function get_alias_details($id)
308) {
309)   $id = (int) $id;
310)   $uid = (int) $_SESSION['userinfo']['uid'];
311)   $result = db_query("SELECT * FROM vhosts.v_alias WHERE id={$id}");
312)   
313)   if (mysql_num_rows($result) != 1)
314)     system_failure('Interner Fehler beim Auslesen der Alias-Daten');
315)   
316)   $alias = mysql_fetch_assoc($result);
bernd domain = NULL ==> user-subd...

bernd authored 16 years ago

317)   
bernd auch aliases dürfen usernam...

bernd authored 16 years ago

318)   if ($alias['domain_id'] == NULL) {
bernd domain = NULL ==> user-subd...

bernd authored 16 years ago

319)     $alias['domain_id'] = -1;
bernd auch aliases dürfen usernam...

bernd authored 16 years ago

320)   }
bernd Aliases editieren

bernd authored 16 years ago

321) 
322)   /* Das bewirkt, dass nur die eigenen Aliase gesehen werden können */
323)   get_vhost_details( (int) $alias['vhost'] );
324) 
325)   return $alias;
326) }
327) 
328) 
329) function delete_alias($id)
330) {
331)   $id = (int) $id;
332)   $alias = get_alias_details($id);
333) 
bernd Logger mit Logleveln

bernd authored 14 years ago

334)   logger(LOG_INFO, 'modules/vhosts/include/vhosts', 'aliases', 'Removing alias #'.$id.' ('.$alias['hostname'].'.'.$alias['domain'].')');
bernd Aliases editieren

bernd authored 16 years ago

335)   db_query("DELETE FROM vhosts.alias WHERE id={$id}");
336) }
337) 
338) function save_alias($alias)
339) {
340)   if (! is_array($alias))
341)     system_failure('$alias kein array!');
bernd Neue aliase haben keine ID

bernd authored 14 years ago

342)   $id = (isset($alias['id']) ? (int) $alias['id'] : 0);
bernd Aliases editieren

bernd authored 16 years ago

343)   $hostname = maybe_null($alias['hostname']);
bernd Webalizer/Statistik-Funktio...

bernd authored 14 years ago

344)   $domain = (int) $alias['domain_id'];
bernd Aliases editieren

bernd authored 16 years ago

345)   if ($domain == 0)
346)     system_failure('$domain == 0');
bernd Webalizer/Statistik-Funktio...

bernd authored 14 years ago

347)   if ($alias['domain_id'] == -1)
bernd domain = NULL ==> user-subd...

bernd authored 16 years ago

348)     $domain = 'NULL';
bernd Aliases editieren

bernd authored 16 years ago

349)   $vhost = get_vhost_details( (int) $alias['vhost']);
350)   $options = mysql_real_escape_string( $alias['options'] );
351)   if ($id == 0) {
bernd Logger mit Logleveln

bernd authored 14 years ago

352)     logger(LOG_INFO, 'modules/vhosts/include/vhosts', 'aliases', 'Creating alias '.$alias['hostname'].'.'.$alias['domain'].' for VHost '.$vhost['id']);
bernd Aliases editieren

bernd authored 16 years ago

353)     db_query("INSERT INTO vhosts.alias (hostname, domain, vhost, options) VALUES ({$hostname}, {$domain}, {$vhost['id']}, '{$options}')");
354)   }
355)   else {
bernd Logger mit Logleveln

bernd authored 14 years ago

356)     logger(LOG_INFO, 'modules/vhosts/include/vhosts', 'aliases', 'Updating alias #'.$id.' ('.$alias['hostname'].'.'.$alias['domain'].')');
bernd Aliases editieren

bernd authored 16 years ago

357)     db_query("UPDATE vhosts.alias SET hostname={$hostname}, domain={$domain}, options='{$options}' WHERE id={$id} LIMIT 1");
358)   }
359) }
360) 
bernd neues VHosts-Modul (unbenut...

bernd authored 16 years ago

361) 
bernd SuExec-Useraccount einstellbar

bernd authored 14 years ago

362) function available_suexec_users()
363) {
364)   $uid = (int) $_SESSION['userinfo']['uid'];
365)   $result = db_query("SELECT uid, username FROM vhosts.available_users LEFT JOIN vhosts.v_useraccounts ON (uid = suexec_user) WHERE mainuser={$uid}");
366)   $ret = array();
367)   while ($i = mysql_fetch_assoc($result))
368)     $ret[] = $i;
369)   DEBUG('available suexec-users:');
370)   DEBUG($ret);
371)   return $ret;
372) 
373) }
bernd neues VHosts-Modul (unbenut...

bernd authored 16 years ago

374) 
bernd Neue Zertifikatsverwaltung

bernd authored 14 years ago

375) 
376) function user_ipaddrs()
377) {
378)   $uid = (int) $_SESSION['userinfo']['uid'];
379)   $result = db_query("SELECT ipaddr FROM vhosts.ipaddr_available WHERE uid={$uid}");
380)   $ret = array();
381)   while ($i = mysql_fetch_assoc($result))
382)   {
383)     $ret[] = $i['ipaddr'];
384)   }
385)   DEBUG($ret);
386)   return $ret;
387) }
388) 
389)