/**
 * controlFluxd
 */
function admin_controlFluxd()
{
    global $cfg;
    $message = "";
    $action = tfb_getRequestVar('a');
    switch ($action) {
        case "start":
            // start fluxd
            if (Fluxd::isReadyToStart()) {
                Fluxd::start();
                if (Fluxd::isRunning()) {
                    $message = 'fluxd started';
                } else {
                    $message = 'Error starting fluxd.';
                    $msgs = Fluxd::getMessages();
                    Fluxd::logError("Error starting fluxd." . (!empty($msgs) ? "\n" . implode("\n", $msgs) . "\n" : "\n"), true);
                    array_push($msgs, "please check fluxd-logs");
                    @error($message, "admin.php?op=fluxdSettings", "fluxd-Settings", $msgs);
                }
                break;
            }
            $message = 'fluxd not ready to start';
            break;
        case "stop":
            // kill fluxd
            if (Fluxd::isRunning()) {
                Fluxd::stop();
                $message = Fluxd::isRunning() ? 'Stop-Command sent.' : 'fluxd stopped.';
            }
            break;
        default:
            $message = 'Error : no control-operation.';
            break;
    }
    if ($message != "") {
        @header("Location: admin.php?op=fluxdSettings&m=" . urlencode($message));
    } else {
        @header("Location: admin.php?op=fluxdSettings");
    }
    exit;
}