&1", $output, $return_var); } elseif ($_POST["evStart/Stop"] == "Laden stoppen") { $close = 1; exec("python wattpilot.py -stop 2>&1", $output, $return_var); } $close = 1; } else if (isset($_POST["evMode"])) { // Eingaben pruefen, bevor sie in die Kommandozeile gehen. ftt kam bisher // ungeprueft aus dem Formular und liess sich mit "12:00; befehl" zum // Anhaengen beliebiger Shell-Befehle missbrauchen. $fte = intval($_POST["fte"]); if ($fte > 100) $fte = 100; else if ($fte < 1) $fte = 1; $fte = $fte * 140; $evAmp = intval($_POST["evAmp"]); if ($evAmp > 16) $evAmp = 16; if ($evAmp < 6) $evAmp = 6; // Das Formularfeld ist ein , liefert also HH:MM. // Alles andere gilt als "keine Ladeplanung" und faellt in den else-Zweig. $ftt = ""; if (isset($_POST["ftt"]) && preg_match('/^([01][0-9]|2[0-3]):[0-5][0-9]$/', $_POST["ftt"])) { $ftt = $_POST["ftt"]; } $setTime = gmdate("Y-m-d\TH:i:s", time()) . ".000"; if ($_POST["evMode"] == "eco") { $close = 1; if ($ftt !== "" && $fte > 0) { exec("python wattpilot.py -eco -time " . escapeshellarg($ftt) . " -energy " . $fte . " -maxCurr " . $evAmp . " -setTime " . escapeshellarg($setTime) . " 2>&1", $output, $return_var); } else { exec("/bin/python wattpilot.py -e 2>&1", $output, $return_var); } } else if ($_POST["evMode"] == "default") { $close = 1; if ($ftt !== "" && $fte > 0) { exec("python wattpilot.py -default -time " . escapeshellarg($ftt) . " -energy " . $fte . " -maxCurr " . $evAmp . " -setTime " . escapeshellarg($setTime) . " 2>&1", $output, $return_var); } else { exec("python wattpilot.py -d 2>&1", $output, $return_var); } } else if ($_POST["evMode"] == "NextTrip") { $close = 1; if ($ftt !== "" && $fte > 0) { exec("python wattpilot.py -trip -time " . escapeshellarg($ftt) . " -energy " . $fte . " -maxCurr " . $evAmp . " -setTime " . escapeshellarg($setTime) . " 2>&1", $output, $return_var); } else { exec("python wattpilot.py -t 2>&1", $output, $return_var); } } $close = 1; } } else { $close = 1; } if (!$close) { $formId = "carEG_form"; include __DIR__ . "/carForm.php"; }