mirror of
https://github.com/vichan-devel/vichan.git
synced 2024-11-12 01:50:48 +01:00
Fixed "Show configuration" page for an arrayed config
This commit is contained in:
parent
9008916c6c
commit
2c3b5d1dc2
71
mod.php
71
mod.php
@ -186,52 +186,41 @@
|
||||
} elseif(preg_match('/^\/config$/', $query)) {
|
||||
if($mod['type'] < $config['mod']['show_config']) error($config['error']['noaccess']);
|
||||
|
||||
// Show instance-config.php
|
||||
|
||||
//$data = highlight_file('inc/instance-config.php', true);
|
||||
//if(MOD_NEVER_REAL_PASSWORD) {
|
||||
// // Rough and dirty removal of password
|
||||
// $data = str_replace(MY_PASSWORD, '*******', $data);
|
||||
//}
|
||||
|
||||
$constants = get_defined_constants(true);
|
||||
$constants = $constants['user'];
|
||||
// Show instance-config.php
|
||||
|
||||
$data = '';
|
||||
foreach($constants as $name => $value) {
|
||||
if(MOD_NEVER_REAL_PASSWORD && $name == 'DB_PASSWORD')
|
||||
$value = '<em>hidden</em>';
|
||||
else {
|
||||
// For some reason PHP is only giving me the first defined value (the default), so use constant()
|
||||
$value = constant($name);
|
||||
if(gettype($value) == 'boolean') {
|
||||
$value = $value ? '<span style="color:green;">On</span>' : '<span style="color:red;">Off</span>';
|
||||
} elseif(gettype($value) == 'string') {
|
||||
if(empty($value))
|
||||
$value = '<em>empty</em>';
|
||||
else
|
||||
$value = '<span style="color:maroon;">' . utf8tohtml(substr($value, 0, 110) . (strlen($value) > 110 ? '…' : '')) . '</span>';
|
||||
} elseif(gettype($value) == 'integer') {
|
||||
// Show permissions in a cleaner way
|
||||
if(preg_match('/^MOD_/', $name) && $name != 'MOD_JANITOR' && $name != 'MOD_MOD' && $name != 'MOD_ADMIN') {
|
||||
if($value == MOD_JANITOR)
|
||||
$value = 'Janitor';
|
||||
elseif($value == MOD_MOD)
|
||||
$value = 'Mod';
|
||||
elseif($value == MOD_ADMIN)
|
||||
$value = 'Admin';
|
||||
|
||||
function do_array_part($array, $prefix = '') {
|
||||
global $data, $config;
|
||||
|
||||
foreach($array as $name => $value) {
|
||||
if(is_array($value)) {
|
||||
do_array_part($value, $prefix . $name . ' → ');
|
||||
} else {
|
||||
if($config['mod']['never_reveal_password'] && $prefix == 'db → ' && $name == 'password') {
|
||||
$value = '<em>hidden</em>';
|
||||
} elseif(gettype($value) == 'boolean') {
|
||||
$value = $value ? '<span style="color:green;">On</span>' : '<span style="color:red;">Off</span>';
|
||||
} elseif(gettype($value) == 'string') {
|
||||
if(empty($value))
|
||||
$value = '<em>empty</em>';
|
||||
else
|
||||
$value = '<span style="color:maroon;">' . utf8tohtml(substr($value, 0, 110) . (strlen($value) > 110 ? '…' : '')) . '</span>';
|
||||
} elseif(gettype($value) == 'integer') {
|
||||
$value = '<span style="color:black;">' . $value . '</span>';
|
||||
}
|
||||
|
||||
$data .=
|
||||
'<tr><th style="text-align:left;">' .
|
||||
$prefix . (gettype($name) == 'integer' ? '[]' : $name) .
|
||||
'</th><td>' .
|
||||
$value .
|
||||
'</td></tr>';
|
||||
}
|
||||
$value = '<span style="color:black;">' . $value . '</span>';
|
||||
}
|
||||
}
|
||||
|
||||
$data .=
|
||||
'<tr><th style="text-align:left;">' .
|
||||
$name .
|
||||
'</th><td>' .
|
||||
$value .
|
||||
'</td></tr>';
|
||||
}
|
||||
|
||||
do_array_part($config);
|
||||
|
||||
$body = '<fieldset><legend>Configuration</legend><table>' . $data . '</table></fieldset>';
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user