709c9ea228a4039610d5aaafd0a4464e1f7b443e
bernd neues VHosts-Modul (unbenut...

bernd authored 17 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 Aliases editieren

bernd authored 17 years ago

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

bernd authored 17 years ago

10) function list_vhosts()
11) {
12)   $uid = (int) $_SESSION['userinfo']['uid'];
bernd VHosts können bearbeitet we...

bernd authored 17 years ago

13)   $result = db_query("SELECT id,fqdn,docroot,docroot_is_default,php,options FROM vhosts.v_vhost WHERE uid={$uid} ORDER BY domain,hostname");
bernd neues VHosts-Modul (unbenut...

bernd authored 17 years ago

14)   $ret = array();
15)   while ($item = mysql_fetch_assoc($result))
16)     array_push($ret, $item);
17)   return $ret;
18) }
19) 
20) 
bernd VHosts können bearbeitet we...

bernd authored 17 years ago

21) function empty_vhost()
22) {
23)   $vhost['hostname'] = '';
24)   
25)   $domainlist = get_domain_list($_SESSION['customerinfo']['customerno'],
26)                                 $_SESSION['userinfo']['uid']);
27)   $dom = $domainlist[0];
28) 
29)   $vhost['domain_id'] = $dom->id;
30)   $vhost['domain'] = $dom->fqdn;
31)   
32)   $vhost['homedir'] = $_SESSION['userinfo']['homedir'];
33)   $vhost['docroot'] = NULL;
34)   $vhost['php'] = 'mod_php';
35)   $vhost['logtype'] = NULL;
36)     
37)   $vhost['options'] = '';
38)   return $vhost;
39) }
40) 
41) 
bernd Aliases editieren

bernd authored 17 years ago

42) function empty_alias()
43) {
44)   $alias['hostname'] = '';
45)   
46)   $domainlist = get_domain_list($_SESSION['customerinfo']['customerno'],
47)                                 $_SESSION['userinfo']['uid']);
48)   $dom = $domainlist[0];
49) 
50)   $alias['domain_id'] = $dom->id;
51)   $alias['domain'] = $dom->fqdn;
52)   
53)   $alias['options'] = '';
54)   return $alias;
55) }
56) 
57) 
bernd VHosts können bearbeitet we...

bernd authored 17 years ago

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

bernd authored 17 years ago

59) {
60)   global $domainlist;
61)   if ($domainlist == NULL)
62)     $domainlist = get_domain_list($_SESSION['customerinfo']['customerno'],
63)                                   $_SESSION['userinfo']['uid']);
64)   $selected = (int) $selected;
65) 
bernd VHosts können bearbeitet we...

bernd authored 17 years ago

66)   $ret = '<select id="domain" name="domain" size="1" '.$selectattribute.' >';
bernd neues VHosts-Modul (unbenut...

bernd authored 17 years ago

67)   foreach ($domainlist as $dom)
68)   {
bernd Aliases editieren

bernd authored 17 years ago

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

bernd authored 17 years ago

70)     $ret .= "<option value=\"{$dom->id}\"{$s}>{$dom->fqdn}</option>\n";
71)   }
72)   $ret .= '</select>';
73)   return $ret;
74) }
75) 
76) 
77) 
78) function get_vhost_details($id)
79) {
80)   $id = (int) $id;
81)   $uid = (int) $_SESSION['userinfo']['uid'];
82)   $result = db_query("SELECT * FROM vhosts.v_vhost WHERE uid={$uid} AND id={$id}");
83)   if (mysql_num_rows($result) != 1)
84)     system_failure('Interner Fehler beim Auslesen der Daten');
85) 
86)   return mysql_fetch_assoc($result);
87) }
88) 
89) 
90) function get_aliases($vhost)
91) {
92)   $result = db_query("SELECT id,fqdn,options FROM vhosts.v_alias WHERE vhost={$vhost}");
93)   $ret = array();
bernd Aliases editieren

bernd authored 17 years ago

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

bernd authored 17 years ago

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

bernd authored 17 years ago

96)   }
97)   return $ret;
98) }
99) 
100) 
101) 
102) function get_all_aliases($vhost)
103) {
104)   $vhost = get_vhost_details( (int) $vhost );
105)   $aliases = get_aliases($vhost['id']);
106)   $ret = array();
107)   if (strstr($vhost['options'], 'aliaswww')) {
108)     array_push($ret, array('id' => 'www', 'fqdn' => 'www.'.$vhost['fqdn'], 'options' => (strstr($vhost['options'], 'forwardwww') ? 'forward' : '')));
109)   }
110)   foreach ($aliases as $item) {
111)     array_push($ret, $item);
112)     if (strstr($item['options'], 'aliaswww')) {
113)       array_push($ret, array('id' => 'www_'.$item['id'], 'fqdn' => 'www.'.$item['fqdn'], 'options' => (strstr($item['options'], 'forward') ? 'forward' : '')));
114)     }
115)   }
bernd neues VHosts-Modul (unbenut...

bernd authored 17 years ago

116)   return $ret;
117) }
118) 
bernd Aliases editieren

bernd authored 17 years ago

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

bernd authored 17 years ago

120) function delete_vhost($id)
121) {
122)   $id = (int) $id;
123)   if ($id == 0)
124)     system_failure("id == 0");
125)   $vhost = get_vhost_details($id);
bernd Logging

bernd authored 17 years ago

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

bernd authored 17 years ago

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

bernd authored 17 years ago

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

bernd authored 17 years ago

131) function save_vhost($vhost)
132) {
133)   if (! is_array($vhost))
134)     system_failure('$vhost kein array!');
135)   $id = (int) $vhost['id'];
136)   $hostname = maybe_null($vhost['hostname']);
137)   $domain = (int) $vhost['domainid'];
138)   if ($domain == 0)
bernd Aliases editieren

bernd authored 17 years ago

139)     system_failure('$domain == 0');
bernd VHosts können bearbeitet we...

bernd authored 17 years ago

140)   $docroot = maybe_null($vhost['docroot']);
141)   $php = maybe_null($vhost['php']);
142)   $logtype = maybe_null($vhost['logtype']);
143)   $options = mysql_real_escape_string( $vhost['options'] );
144) 
bernd Logging

bernd authored 17 years ago

145)   if ($id != 0) {
146)     logger('modules/vhosts/include/vhosts.php', 'vhosts', 'Updating vhost #'.$id.' ('.$vhost['hostname'].'.'.$vhost['domain'].')');
bernd VHosts können bearbeitet we...

bernd authored 17 years ago

147)     db_query("UPDATE vhosts.vhost SET hostname={$hostname}, domain={$domain}, docroot={$docroot}, php={$php}, logtype={$logtype}, options='{$options}' WHERE id={$id} LIMIT 1");
bernd Logging

bernd authored 17 years ago

148)   }
149)   else {
150)     logger('modules/vhosts/include/vhosts.php', 'vhosts', 'Creating vhost '.$vhost['hostname'].'.'.$vhost['domain'].'');
bernd VHosts können bearbeitet we...

bernd authored 17 years ago

151)     db_query("INSERT INTO vhosts.vhost (user, hostname, domain, docroot, php, logtype, options) VALUES ({$_SESSION['userinfo']['uid']}, {$hostname}, {$domain}, {$docroot}, {$php}, {$logtype}, '{$options}')");
bernd Logging

bernd authored 17 years ago

152)   }
bernd VHosts können bearbeitet we...

bernd authored 17 years ago

153) }
154) 
155) 
bernd Aliases editieren

bernd authored 17 years ago

156) function get_alias_details($id)
157) {
158)   $id = (int) $id;
159)   $uid = (int) $_SESSION['userinfo']['uid'];
160)   $result = db_query("SELECT * FROM vhosts.v_alias WHERE id={$id}");
161)   
162)   if (mysql_num_rows($result) != 1)
163)     system_failure('Interner Fehler beim Auslesen der Alias-Daten');
164)   
165)   $alias = mysql_fetch_assoc($result);
166) 
167)   /* Das bewirkt, dass nur die eigenen Aliase gesehen werden können */
168)   get_vhost_details( (int) $alias['vhost'] );
169) 
170)   return $alias;
171) }
172) 
173) 
174) function delete_alias($id)
175) {
176)   $id = (int) $id;
177)   $alias = get_alias_details($id);
178) 
179)   logger('modules/vhosts/include/vhosts.php', 'aliases', 'Removing alias #'.$id.' ('.$alias['hostname'].'.'.$alias['domain'].')');
180)   db_query("DELETE FROM vhosts.alias WHERE id={$id}");
181) }
182) 
183) function save_alias($alias)
184) {
185)   if (! is_array($alias))
186)     system_failure('$alias kein array!');
187)   $id = (int) $alias['id'];
188)   $hostname = maybe_null($alias['hostname']);
189)   $domain = (int) $alias['domainid'];
190)   if ($domain == 0)
191)     system_failure('$domain == 0');
192)   $vhost = get_vhost_details( (int) $alias['vhost']);
193)   $options = mysql_real_escape_string( $alias['options'] );
194)   if ($id == 0) {
195)     logger('modules/vhosts/include/vhosts.php', 'aliases', 'Creating alias '.$alias['hostname'].'.'.$alias['domain'].' for VHost '.$vhost['id']);
196)     db_query("INSERT INTO vhosts.alias (hostname, domain, vhost, options) VALUES ({$hostname}, {$domain}, {$vhost['id']}, '{$options}')");
197)   }
198)   else {
199)     logger('modules/vhosts/include/vhosts.php', 'aliases', 'Updating alias #'.$id.' ('.$alias['hostname'].'.'.$alias['domain'].')');
200)     db_query("UPDATE vhosts.alias SET hostname={$hostname}, domain={$domain}, options='{$options}' WHERE id={$id} LIMIT 1");
201)   }
202) }
203)