buildFromPost(); } if (empty($script)) { $script = preg_replace('/\r\n?/', "\n", Request::post('script', Request::REQUIRED, 'string')); } $task = RebootControl::runScript($machines, $script, 15); if (Taskmanager::isTask($task)) { Util::redirect("?do=rebootcontrol&show=task&what=task&taskid=" . $task["id"]); } } /* * Render */ public static function doRender() { $what = Request::get('what', 'list', 'string'); if ($what === 'prepare') { self::showPrepare(); } } private static function showPrepare() { $id = Request::get('id', Request::REQUIRED, 'int'); $machines = Session::get('exec-' . $id); if (!is_array($machines)) { Message::addError('unknown-exec-job', $id); return; } Session::set('exec-' . $id, false); $preset = self::presetFromRequest(); Render::addTemplate('exec-enter-command', ['clients' => $machines, 'id' => $id, 'preset' => $preset]); } private static function presetFromRequest(): ?ExecTemplate { $presetId = Request::any('preset', null, 'string'); if ($presetId === null) return null; $preset = ExecTemplate::get($presetId); if ($preset === null) { Message::addError('exec-template-not-found', $presetId); } return $preset; } public static function doAjax() { } }