bernd commited on 2010-03-17 17:24:32
Zeige 3 geänderte Dateien mit 39 Einfügungen und 2 Löschungen.
git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@1705 87cf0b9e-d624-0410-a070-f6ee81989793
| ... | ... |
@@ -214,6 +214,7 @@ $form .= " |
| 214 | 214 |
|
| 215 | 215 |
$ipaddrs = user_ipaddrs(); |
| 216 | 216 |
$certs = user_certs(); |
| 217 |
+$available_users = available_suexec_users(); |
|
| 217 | 218 |
|
| 218 | 219 |
$form .= " |
| 219 | 220 |
<h4 style=\"margin-top: 3em;\">Erweiterte Optionen</h4> |
| ... | ... |
@@ -245,6 +246,19 @@ $form .= " |
| 245 | 246 |
".html_select('ipv4', $ipselect, $vhost['ipv4'])."
|
| 246 | 247 |
</div>"; |
| 247 | 248 |
} |
| 249 |
+ if (count($available_users)) |
|
| 250 |
+ {
|
|
| 251 |
+ $userselect = array(0 => 'Eigener Benutzeraccount'); |
|
| 252 |
+ foreach ($available_users AS $u) |
|
| 253 |
+ {
|
|
| 254 |
+ $userselect[$u['uid']] = $u['username']; |
|
| 255 |
+ } |
|
| 256 |
+ $form .= " |
|
| 257 |
+ <h5>SuExec-Benutzeraccount</h5> |
|
| 258 |
+ <div style=\"margin-left: 2em;\"> |
|
| 259 |
+ ".html_select('suexec_user', $userselect, $vhost['suexec_user'])."
|
|
| 260 |
+ </div>"; |
|
| 261 |
+ } |
|
| 248 | 262 |
$checked = ($vhost['autoipv6'] == 1) ? ' checked="checked"' : ''; |
| 249 | 263 |
$form .= '<h5>IPv6</h5> |
| 250 | 264 |
<div style="margin-left: 2em;"> |
| ... | ... |
@@ -32,6 +32,7 @@ function empty_vhost() |
| 32 | 32 |
$vhost['php'] = 'php53'; |
| 33 | 33 |
$vhost['cgi'] = 1; |
| 34 | 34 |
$vhost['ssl'] = NULL; |
| 35 |
+ $vhost['suexec_user'] = NULL; |
|
| 35 | 36 |
$vhost['logtype'] = NULL; |
| 36 | 37 |
$vhost['errorlog'] = 0; |
| 37 | 38 |
$vhost['is_dav'] = 0; |
| ... | ... |
@@ -212,6 +213,13 @@ function save_vhost($vhost) |
| 212 | 213 |
$php = maybe_null($vhost['php']); |
| 213 | 214 |
$cgi = ($vhost['cgi'] == 1 ? 1 : 0); |
| 214 | 215 |
$ssl = maybe_null($vhost['ssl']); |
| 216 |
+ $suexec_user = 'NULL'; |
|
| 217 |
+ |
|
| 218 |
+ $available_suexec = available_suexec_users(); |
|
| 219 |
+ foreach ($available_suexec AS $u) |
|
| 220 |
+ if ($u['uid'] == $vhost['suexec_user']) |
|
| 221 |
+ $suexec_user = $u['uid']; |
|
| 222 |
+ |
|
| 215 | 223 |
$logtype = maybe_null($vhost['logtype']); |
| 216 | 224 |
$errorlog = (int) $vhost['errorlog']; |
| 217 | 225 |
if ($vhost['is_svn']) {
|
| ... | ... |
@@ -241,11 +249,11 @@ function save_vhost($vhost) |
| 241 | 249 |
|
| 242 | 250 |
if ($id != 0) {
|
| 243 | 251 |
logger(LOG_INFO, 'modules/vhosts/include/vhosts', 'vhosts', 'Updating vhost #'.$id.' ('.$vhost['hostname'].'.'.$vhost['domain'].')');
|
| 244 |
- db_query("UPDATE vhosts.vhost SET hostname={$hostname}, domain={$domain}, docroot={$docroot}, php={$php}, cgi={$cgi}, `ssl`={$ssl}, logtype={$logtype}, errorlog={$errorlog}, certid={$cert}, ipv4={$ipv4}, autoipv6={$autoipv6}, options='{$options}', stats={$stats} WHERE id={$id} LIMIT 1");
|
|
| 252 |
+ 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");
|
|
| 245 | 253 |
} |
| 246 | 254 |
else {
|
| 247 | 255 |
logger(LOG_INFO, 'modules/vhosts/include/vhosts', 'vhosts', 'Creating vhost '.$vhost['hostname'].'.'.$vhost['domain'].''); |
| 248 |
- $result = db_query("INSERT INTO vhosts.vhost (user, hostname, domain, docroot, php, cgi, `ssl`, logtype, errorlog, certid, ipv4, autoipv6, options, stats) VALUES ({$_SESSION['userinfo']['uid']}, {$hostname}, {$domain}, {$docroot}, {$php}, {$cgi}, {$ssl}, {$logtype}, {$errorlog}, {$cert}, {$ipv4}, {$autoipv6}, '{$options}', {$stats})");
|
|
| 256 |
+ $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})");
|
|
| 249 | 257 |
$id = mysql_insert_id(); |
| 250 | 258 |
} |
| 251 | 259 |
$oldvhost = get_vhost_details($id); |
| ... | ... |
@@ -319,6 +327,18 @@ function save_alias($alias) |
| 319 | 327 |
} |
| 320 | 328 |
|
| 321 | 329 |
|
| 330 |
+function available_suexec_users() |
|
| 331 |
+{
|
|
| 332 |
+ $uid = (int) $_SESSION['userinfo']['uid']; |
|
| 333 |
+ $result = db_query("SELECT uid, username FROM vhosts.available_users LEFT JOIN vhosts.v_useraccounts ON (uid = suexec_user) WHERE mainuser={$uid}");
|
|
| 334 |
+ $ret = array(); |
|
| 335 |
+ while ($i = mysql_fetch_assoc($result)) |
|
| 336 |
+ $ret[] = $i; |
|
| 337 |
+ DEBUG('available suexec-users:');
|
|
| 338 |
+ DEBUG($ret); |
|
| 339 |
+ return $ret; |
|
| 340 |
+ |
|
| 341 |
+} |
|
| 322 | 342 |
|
| 323 | 343 |
|
| 324 | 344 |
function user_ipaddrs() |