Files
Froxlor/lib/functions/settings/function.storeSettingField.php
2013-10-16 08:54:39 +02:00

75 lines
2.2 KiB
PHP

<?php
/**
* This file is part of the Froxlor project.
* Copyright (c) 2003-2009 the SysCP Team (see authors).
* Copyright (c) 2010 the Froxlor Team (see authors).
*
* For the full copyright and license information, please view the COPYING
* file that was distributed with this source code. You can also view the
* COPYING file online at http://files.froxlor.org/misc/COPYING.txt
*
* @copyright (c) the authors
* @author Florian Lippert <flo@syscp.org> (2003-2009)
* @author Froxlor team <team@froxlor.org> (2010-)
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
* @package Functions
*
*/
function storeSettingField($fieldname, $fielddata, $newfieldvalue) {
if (is_array($fielddata)
&& isset($fielddata['settinggroup'])
&& $fielddata['settinggroup'] != ''
&& isset($fielddata['varname'])
&& $fielddata['varname'] != ''
) {
if (saveSetting($fielddata['settinggroup'], $fielddata['varname'], $newfieldvalue) != false) {
/*
* when fielddata[cronmodule] is set, this means enable/disable a cronjob
*/
if (isset($fielddata['cronmodule'])
&& $fielddata['cronmodule'] != ''
) {
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);
} else {
return false;
}
} else {
return false;
}
}
function storeSettingFieldInsertBindTask($fieldname, $fielddata, $newfieldvalue) {
if (is_array($fielddata)
&& isset($fielddata['settinggroup'])
&& $fielddata['settinggroup'] != ''
&& isset($fielddata['varname'])
&& $fielddata['varname'] != ''
) {
if (saveSetting($fielddata['settinggroup'], $fielddata['varname'], $newfieldvalue) != false) {
return array($fielddata['settinggroup'] . '.' . $fielddata['varname'] => $newfieldvalue);
} else {
return false;
}
} else {
return false;
}
}