Bernd Wurst commited on 2018-07-18 20:56:31
Zeige 2 geänderte Dateien mit 33 Einfügungen und 11 Löschungen.
... | ... |
@@ -146,6 +146,8 @@ $phpoptions = "<h5>PHP</h5> |
146 | 146 |
$options[$tag] = 'PHP '.$info['major'].'.'.$info['minor']; |
147 | 147 |
if ($info['status'] == 'deprecated') { |
148 | 148 |
$options[$tag] .= ' (veraltet)'; |
149 |
+ } elseif ($info['status'] == 'beta') { |
|
150 |
+ $options[$tag] .= ' (Testversion)'; |
|
149 | 151 |
} elseif ($info['status'] == 'used') { |
150 | 152 |
$options[$tag] .= ' (nur Bestandsschutz)'; |
151 | 153 |
} |
... | ... |
@@ -24,18 +24,33 @@ require_once("certs.php"); |
24 | 24 |
|
25 | 25 |
|
26 | 26 |
function valid_php_versions() { |
27 |
+ /* In der konfiguration ist die Variable "php_versions" eine kommaseparierte Liste der unterstützten Versionen. |
|
28 |
+ Dabei gelten folgende Suffixe (nicht kombinierbar!): |
|
29 |
+ *: Standardversion für neue Konfigurationen |
|
30 |
+ /: Deprecated |
|
31 |
+ +: Beta-Version |
|
32 |
+ */ |
|
27 | 33 |
$tags = explode(',', config('php_versions')); |
28 | 34 |
$ret = array(); |
29 | 35 |
foreach ($tags as $t) { |
30 |
- $key = str_replace('*', '', $t); |
|
31 |
- $ret[$key] = array('major' => null, 'minor' => null, 'status' => 'regular'); |
|
36 |
+ $key = $t; |
|
37 |
+ $ver = array('major' => null, 'minor' => null, 'status' => 'regular', 'default' => false); |
|
38 |
+ if (substr($t, -1, 1) == '+') { |
|
39 |
+ $ver['status'] = 'beta'; |
|
40 |
+ $key = substr($t, 0, -1); |
|
41 |
+ } elseif (substr($t, -1, 1) == '/') { |
|
42 |
+ $ver['status'] = 'deprecated'; |
|
43 |
+ $key = substr($t, 0, -1); |
|
44 |
+ } elseif (substr($t, -1, 1) == '*') { |
|
45 |
+ $ver['default'] = true; |
|
46 |
+ $key = substr($t, 0, -1); |
|
47 |
+ } |
|
48 |
+ |
|
32 | 49 |
/* Wir nehmen an, dass unsere Tags immer an zweitletzter Stelle die Major-Version und |
33 | 50 |
an letzter Stelle die Minor-Version enthalten */ |
34 |
- $ret[$key]['major'] = substr(str_replace('*', '', $t), -2, 1); |
|
35 |
- $ret[$key]['minor'] = substr(str_replace('*', '', $t), -1, 1); |
|
36 |
- if (substr($t, -1) === '*') { |
|
37 |
- $ret[$key]['status'] = 'deprecated'; |
|
38 |
- } |
|
51 |
+ $ver['major'] = substr($key, -2, 1); |
|
52 |
+ $ver['minor'] = substr($key, -1, 1); |
|
53 |
+ $ret[$key] = $ver; |
|
39 | 54 |
} |
40 | 55 |
/* Bis hier: aus der Datenbank ausgelesen */ |
41 | 56 |
DEBUG($ret); |
... | ... |
@@ -44,12 +59,11 @@ function valid_php_versions() { |
44 | 59 |
foreach ($list as $vhost) { |
45 | 60 |
if ($vhost['php'] && !array_key_exists($vhost['php'], $ret)) { |
46 | 61 |
$key = $vhost['php']; |
47 |
- $ret = array($key => array('major' => null, 'minor' => null, 'status' => 'regular')) + $ret; |
|
62 |
+ $ret = array($key => array('major' => null, 'minor' => null, 'status' => 'used', 'default' => false)) + $ret; |
|
48 | 63 |
/* Wir nehmen an, dass unsere Tags immer an zweitletzter Stelle die Major-Version und |
49 | 64 |
an letzter Stelle die Minor-Version enthalten */ |
50 | 65 |
$ret[$key]['major'] = substr($key, -2, 1); |
51 | 66 |
$ret[$key]['minor'] = substr($key, -1, 1); |
52 |
- $ret[$key]['status'] = 'used'; |
|
53 | 67 |
} |
54 | 68 |
} |
55 | 69 |
return $ret; |
... | ... |
@@ -118,8 +132,14 @@ function empty_vhost() |
118 | 132 |
|
119 | 133 |
$vhost['homedir'] = $_SESSION['userinfo']['homedir']; |
120 | 134 |
$vhost['docroot'] = null; |
121 |
- $phpversions = explode(',', config('php_versions')); |
|
122 |
- $vhost['php'] = end($phpversions); |
|
135 |
+ |
|
136 |
+ $vhost['php'] = null; |
|
137 |
+ $phpversions = valid_php_versions(); |
|
138 |
+ foreach ($phpversions as $tag => $info) { |
|
139 |
+ if ($info['default']) { |
|
140 |
+ $vhost['php'] = $tag; |
|
141 |
+ } |
|
142 |
+ } |
|
123 | 143 |
$vhost['cgi'] = 1; |
124 | 144 |
$vhost['ssl'] = null; |
125 | 145 |
$vhost['hsts'] = -1; |
126 | 146 |