- added dependecies to settings (now only used in password-reset functions), fixes #40

This commit is contained in:
Michael Kaufmann (d00p)
2010-03-01 07:42:07 +00:00
parent adf79b3b1d
commit 25b1478261
3 changed files with 34 additions and 2 deletions

View File

@@ -95,6 +95,14 @@ return array(
'type' => 'bool',
'default' => false,
'save_method' => 'storeSettingField',
'dependency' => array(
'fieldname' => 'panel_allow_preset_admin',
'fielddata' => array(
'settinggroup' => 'panel',
'varname' => 'allow_preset_admin',
),
'onlyif' => 0
)
),
'panel_allow_preset_admin' => array(
'label' => $lng['serversettings']['allow_password_reset_admin'],
@@ -103,6 +111,14 @@ return array(
'type' => 'bool',
'default' => false,
'save_method' => 'storeSettingField',
'dependency' => array(
'fieldname' => 'panel_allow_preset',
'fielddata' => array(
'settinggroup' => 'panel',
'varname' => 'allow_preset',
),
'onlyif' => 1
)
),
),
),

View File

@@ -305,14 +305,19 @@ if($action == 'forgotpwd')
}
if($adminchecked)
{
if($settings['panel']['allow_preset_admin'] != '1')
{
$message = $lng['pwdreminder']['notallowed'];
unset ($adminchecked);
}
if($settings['panel']['allow_preset'] != '1')
}
else
{
$message = $lng['pwdreminder']['notallowed'];
if($settings['panel']['allow_preset'] != '1')
{
$message = $lng['pwdreminder']['notallowed'];
}
}
eval("echo \"" . getTemplate("fpwd") . "\";");

View File

@@ -30,6 +30,17 @@ function storeSettingField($fieldname, $fielddata, $newfieldvalue)
{
toggleCronStatus($fielddata['cronmodule'], $newfieldvalue);
}
/*
* satisfy dependencies
*/
if(isset($fielddata['dependency']) && is_array($fielddata['dependency']))
{
if((int)$fielddata['dependency']['onlyif'] == (int)$newfieldvalue)
{
storeSettingField($fielddata['dependency']['fieldname'], $fielddata['dependency']['fielddata'], $newfieldvalue);
}
}
return array($fielddata['settinggroup'] . '.' . $fielddata['varname'] => $newfieldvalue);
}