/**
 * updateFluxdSettings
 */
function admin_updateFluxdSettings()
{
    global $cfg;
    if ($_POST["fluxd_dbmode"] != $cfg["fluxd_dbmode"] || $_POST["fluxd_loglevel"] != $cfg["fluxd_loglevel"] || $_POST["fluxd_Qmgr_enabled"] != $cfg["fluxd_Qmgr_enabled"] || $_POST["fluxd_Fluxinet_enabled"] != $cfg["fluxd_Fluxinet_enabled"] || $_POST["fluxd_Maintenance_enabled"] != $cfg["fluxd_Maintenance_enabled"] || $_POST["fluxd_Trigger_enabled"] != $cfg["fluxd_Trigger_enabled"] || $_POST["fluxd_Watch_enabled"] != $cfg["fluxd_Watch_enabled"] || $_POST["fluxd_Rssad_enabled"] != $cfg["fluxd_Rssad_enabled"] || $_POST["fluxd_Qmgr_maxTotalTransfers"] != $cfg["fluxd_Qmgr_maxTotalTransfers"] || $_POST["fluxd_Qmgr_maxUserTransfers"] != $cfg["fluxd_Qmgr_maxUserTransfers"] || $_POST["fluxd_Qmgr_interval"] != $cfg["fluxd_Qmgr_interval"] || $_POST["fluxd_Fluxinet_port"] != $cfg["fluxd_Fluxinet_port"] || $_POST["fluxd_Watch_interval"] != $cfg["fluxd_Watch_interval"] || $_POST["fluxd_Rssad_interval"] != $cfg["fluxd_Rssad_interval"] || $_POST["fluxd_Maintenance_interval"] != $cfg["fluxd_Maintenance_interval"] || $_POST["fluxd_Trigger_interval"] != $cfg["fluxd_Trigger_interval"]) {
        $message = 'Settings changed. ';
        // fluxd Running?
        if (Fluxd::isRunning()) {
            // restart ?
            if ($_POST["fluxd_dbmode"] != $cfg["fluxd_dbmode"]) {
                // save settings
                $settings = processSettingsParams(false, false);
                saveSettings('tf_settings', $settings);
                $message .= 'fluxd needs to be restarted to change db-mode.';
            } else {
                // reload ?
                $reloadModules = false;
                if ($_POST["fluxd_Qmgr_enabled"] != $cfg["fluxd_Qmgr_enabled"] || $_POST["fluxd_Fluxinet_enabled"] != $cfg["fluxd_Fluxinet_enabled"] || $_POST["fluxd_Maintenance_enabled"] != $cfg["fluxd_Maintenance_enabled"] || $_POST["fluxd_Trigger_enabled"] != $cfg["fluxd_Trigger_enabled"] || $_POST["fluxd_Watch_enabled"] != $cfg["fluxd_Watch_enabled"] || $_POST["fluxd_Rssad_enabled"] != $cfg["fluxd_Rssad_enabled"]) {
                    $reloadModules = true;
                }
                // reconfig of running daemon :
                if ($_POST["fluxd_loglevel"] != $cfg["fluxd_loglevel"]) {
                    Fluxd::setConfig('LOGLEVEL', $_POST["fluxd_loglevel"]);
                    sleep(2);
                }
                // save settings
                $settings = processSettingsParams(false, false);
                saveSettings('tf_settings', $settings);
                // reload fluxd-database-cache
                Fluxd::reloadDBCache();
                // reload fluxd-modules
                if ($reloadModules) {
                    sleep(5);
                    Fluxd::reloadModules();
                    $message .= 'modules reloaded.';
                } else {
                    $message .= ' reload module(s) to use new settings.';
                }
            }
        } else {
            // save settings
            $settings = processSettingsParams(false, false);
            saveSettings('tf_settings', $settings);
            $message .= 'fluxd is not running.';
        }
        // log
        AuditAction($cfg["constants"]["fluxd"], " Updating fluxd Settings");
        // redir
        @header("Location: admin.php?op=fluxdSettings&m=" . urlencode($message));
    } else {
        // save settings
        $settings = processSettingsParams(false, false);
        saveSettings('tf_settings', $settings);
        // log
        AuditAction($cfg["constants"]["fluxd"], " Updating fluxd Settings");
        // redir
        @header("Location: admin.php?op=fluxdSettings");
    }
    exit;
}