bernd commited on 2010-12-21 14:10:09
Zeige 3 geänderte Dateien mit 17 Einfügungen und 5 Löschungen.
git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@1857 87cf0b9e-d624-0410-a070-f6ee81989793
... | ... |
@@ -274,12 +274,14 @@ $extended = ''; |
274 | 274 |
if ($have_v6) |
275 | 275 |
{ |
276 | 276 |
$ipv6_address = ''; |
277 |
- if ($vhost['id'] && ($vhost['autoipv6'] == 1)) |
|
278 |
- $ipv6_address = '<strong>IPv6-Adresse dieser Subdomain:</strong> '.autoipv6_address($vhost['id']); |
|
279 |
- $checked = ($vhost['autoipv6'] == 1) ? ' checked="checked"' : ''; |
|
277 |
+ if ($vhost['id'] && ($vhost['autoipv6'] >0 )) |
|
278 |
+ $ipv6_address = '<strong>IPv6-Adresse dieser Subdomain:</strong> '.autoipv6_address($vhost['id'], $vhost['autoipv6']); |
|
279 |
+ $checked = ($vhost['autoipv6'] > 0) ? ' checked="checked"' : ''; |
|
280 |
+ $checked2 = ($vhost['autoipv6'] == 2) ? ' checked="checked"' : ''; |
|
280 | 281 |
$extended .= '<h5>IPv6</h5> |
281 | 282 |
<div style="margin-left: 2em;"> |
282 | 283 |
<input type="checkbox" name="ipv6" id="ipv6" value="yes" '.$checked.'/> <label for="ipv6">Auch über IPv6 erreichbar machen</label><br /> |
284 |
+<input type="checkbox" name="ipv6_separate" id="ipv6_separate" value="yes" '.$checked2.'/> <label for="ipv6_separate">Für diese Website eine eigene IPv6-Adresse reservieren</label><br /> |
|
283 | 285 |
'.$ipv6_address.' |
284 | 286 |
</div>'; |
285 | 287 |
} |
... | ... |
@@ -9,7 +9,7 @@ require_once('class/domain.php'); |
9 | 9 |
require_once("certs.php"); |
10 | 10 |
|
11 | 11 |
|
12 |
-function autoipv6_address($vhost_id) |
|
12 |
+function autoipv6_address($vhost_id, $mode = 1) |
|
13 | 13 |
{ |
14 | 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 | 15 |
$data = mysql_fetch_assoc($result); |
... | ... |
@@ -19,7 +19,10 @@ function autoipv6_address($vhost_id) |
19 | 19 |
return ""; |
20 | 20 |
} |
21 | 21 |
list($prefix, $null) = explode('/', $data['v6_prefix']); |
22 |
+ $vh = ':1'; |
|
23 |
+ if ($mode == 2) { |
|
22 | 24 |
$vh = implode(':', str_split(sprintf("%08x", $vhost_id), 4)); |
25 |
+ } |
|
23 | 26 |
$ipv6 = $prefix . sprintf("%04s", $data['uid']) . ':' . $vh; |
24 | 27 |
return $ipv6; |
25 | 28 |
} |
... | ... |
@@ -269,7 +272,10 @@ function save_vhost($vhost) |
269 | 272 |
$ipv4 = maybe_null($vhost['ipv4']); |
270 | 273 |
} |
271 | 274 |
|
272 |
- $autoipv6 = ( $vhost['autoipv6'] == 1) ? '1' : '0'; |
|
275 |
+ $autoipv6 = 1; |
|
276 |
+ if ($vhost['autoipv6'] == 0 || $vhost['autoipv6'] == 2) { |
|
277 |
+ $autoipv6 = $vhost['autoipv6']; |
|
278 |
+ } |
|
273 | 279 |
|
274 | 280 |
$stats = maybe_null($vhost['stats']); |
275 | 281 |
|
... | ... |
@@ -122,6 +122,10 @@ if ($_GET['action'] == 'edit') |
122 | 122 |
if (isset($_POST['ipv6']) && $_POST['ipv6'] == 'yes') |
123 | 123 |
{ |
124 | 124 |
$vhost['autoipv6'] = 1; |
125 |
+ if (isset($_POST['ipv6_separate']) && $_POST['ipv6_separate'] = 'yes') |
|
126 |
+ { |
|
127 |
+ $vhost['autoipv6'] = 2; |
|
128 |
+ } |
|
125 | 129 |
} else { |
126 | 130 |
$vhost['autoipv6'] = 0; |
127 | 131 |
} |
128 | 132 |