function Attack_edit() { $attid = param_num("id"); if (!$attid) { $this->_header(); } $attplan = attack_get($attid); if (empty($attplan)) { $this->_header(); } //rightcheck if ($this->userdata['uid'] != $attplan['owner'] && !$this->_checkUserRights("attorga")) { $this->_header(); } if ($_SESSION['steps']['editattack']) { unset($_SESSION['steps']['editattack']); $this->forms['information']['action'] = ""; $this->forms['information']['url'] = $this->backtracking->backlink(); $this->forms['information']['title'] = "Angriffsplan bearbeiten"; $this->forms['information']['message'] = "Daten wurden erfolgreich geändert!"; $this->forms['information']['style'] = "green"; $this->show('message_information', "Angriffsplan bearbeiten"); } $form = new formContainer(); $form->add(new formInput("title", "Titel", "string", true, 255)); $form->add(new formInput("descr", "Beschreibung", "string", true, null, true)); $form->add(new formInput("reserve_date", "Datum für die Reservierung", "date", false, 40, true, "'(\\d{1,2})\\.(\\d{1,2})\\.(\\d{2,4})'is")); $form->add(new formInput("reserve_time", "Startzeit für die Reservierung", "time", false, 40, true, "'(\\d{1,2}):(\\d{2})'is")); $form->add(new formRadio("hidden", "Plan verstecken", "numeric", array(1, 0))); if ($_POST['send']) { $form->submit(); if (!$form->hasErrors()) { if ($form->get("reserve_date")) { $date = $form->getregex("reserve_date"); $time = $form->getregex("reserve_time"); $reserve = mktime($time[1], $time[2], 0, $date[2], $date[1], $date[3]); } attack_edit($attid, $form->get("title"), $form->get("descr"), $reserve, $form->get("hidden")); $_SESSION['steps']['editattack'] = 1; $this->_header("attplan.php?action=edit&id={$attid}&send"); } } else { $form->select("hidden", $attplan['hidden']); $form->set("title", $attplan['title']); $form->set("descr", $attplan['descr']); $form->set("reserve_date", date("d.m.Y", $attplan['access_time'])); $form->set("reserve_time", date("H:i", $attplan['access_time'])); } $form->registerVars(&$this->template); $this->template->assign("attplan", $attplan); $this->show("attplan_edit", "Attplaner"); }
function incoming_fleetstatus() { if (!($fsid = param_num("id")) || !($status = fleetstatus_get($fsid))) { $this->_header(); } if ($status['uid']) { $this->_header("user.php?action=fleet&id=" . $status['uid'] . "&send"); } $page = param_num("page", 1); $form = new formContainer(); $form_params = array(); $form_params[] = array("value" => $this->session['id'], "name" => $this->session['name']); $form_params[] = array("value" => "fleetstatus", "name" => "action"); $form_params[] = array("value" => $page, "name" => "page"); $form_params[] = array("value" => 1, "name" => "send"); $form_params[] = array("value" => $fsid, "name" => "id"); if ($_SESSION['steps']['fleetstatus']) { $this->template->assign("message", $_SESSION['steps']['fleetstatus']); unset($_SESSION['steps']['fleetstatus']); } switch ($page) { // daten ändern case 1: $form->add(new formInput("eta", "Verbleibene Flugzeit (ETA)", "string", true, 255, true, "'^(?:(\\d+?):(\\d+?)|(\\d+?))\$'is")); $list = array(array("title" => "Flotte 1", "value" => 1), array("title" => "Flotte 2", "value" => 2)); $form->add(new formSelectBox("fleetnum", "Flotte", "numeric", $list, false)); $form->add(new formInput("orbit", "Zeit im Orbit", "string", true, 255, true, "'^(?:(\\d+?):(\\d+?)|(\\d+?))\$'is")); if ($_POST['send']) { $form->submit(); $eta = $form->getRegex("eta"); if (strlen($eta[1])) { $eta = $eta[1] * 60 + $eta[2]; } else { $eta = $eta[3]; } if ($eta < 0) { $eta = 0; } $time = $form->getRegex("orbit"); if (strlen($time[1])) { $orbittime = $time[1] * 60 + $time[2]; } else { $orbittime = $time[3]; } if ($orbittime < 0) { $orbittime = 0; } if ($eta == 0) { $orbittime = gnticktime($orbittime); } if (!$form->hasErrors()) { if ($form->get("fleetnum") != $status['fleetnum']) { fleetstatus_change_fleetnum($status['fsid'], $form->get("fleetnum")); } fleetstatus_update($fsid, array("arrival" => gnarrival($eta), "orbittime" => $orbittime)); $_SESSION['steps']['fleetstatus'] = "Taktikdaten geändert"; $this->_header("takscreen.php?action=fleetstatus&id={$fsid}&page={$page}&send"); } } else { if ($status['arrival']) { $eta = $status['arrival'] - time(); if ($eta <= 0) { if (isset($status['orbittime'])) { $orbittime = $status['orbittime'] * 60 + $eta; } $eta = 0; } else { $orbittime = $status['orbittime'] * 60; } $form->set("eta", $this->formattime($eta)); $form->set("orbit", $this->formattime($orbittime)); } if ($status['fleetnum']) { $form->select("fleetnum", $status['fleetnum']); } } break; // scan laden // scan laden case 2: $scan = getScan(array("gala" => $status['gala'], "pos" => $status['pos'])); if ($scan['hasunit'] || $scan['hasmili']) { $scantypes = array(); if ($scan['hasmili']) { $scantypes[] = "mili"; $list = array(array("title" => "Flotte 1", "value" => 1), array("title" => "Flotte 2", "value" => 2)); $form->add(new formSelectBox("fleet", "Flotte", "numeric", $list, false)); } if ($scan['hasunit']) { $scantypes[] = "unit"; } $form->add(new formRadio("scan", "Scan laden", "string", $scantypes)); if ($_POST['send']) { $form->submit(); if (!$form->hasErrors()) { if ($form->get("scan") == "unit") { // unit laden $updatefleetdata = fleet_get($scan['unit_fid']); $updatefleetdata['svs'] = $scan['unit_svs']; $updatefleetdata['prec'] = $scan['unit_prec']; $updatefleetdata['fleetnum'] = $status['fleetnum']; $message = "Einheitenscan"; } else { // mili laden $updatefleetdata = miliscan_fleet_get_bykoords($scan['gala'], $scan['pos'], $form->get("fleet")); $updatefleetdata['svs'] = $scan['mili_svs']; $updatefleetdata['prec'] = $scan['mili_prec']; $updatefleetdata['fleetnum'] = $form->get("fleet"); $message = "Militärscan Flotte " . $form->get("fleet"); } if ($form->get("fleetnum") != $updatefleetdata['fleetnum']) { fleetstatus_change_fleetnum($status['fsid'], $updatefleetdata["fleetnum"]); } fleetstatus_update_fleet($fsid, $updatefleetdata, $updatefleetdata['svs'], $updatefleetdata['prec']); $_SESSION['steps']['fleetstatus'] = $message . " wurde geladen"; $this->_header("takscreen.php?action=fleetstatus&id={$fsid}&page=2&send"); } } else { $form->select("scan", $scantypes[0]); if ($scan['hasmili']) { $form->select("fleet", $status['fleetnum']); } } $this->template->assign("scan", scan_format($scan)); } break; // manuelle flotteneingabe // manuelle flotteneingabe case 3: $checkfleet = array("jaeger" => "Jäger", "bomber" => "Bomber", "fregatten" => "Fregatten", "zerstoerer" => "Zerstörer", "kreuzer" => "Kreuzer", "schlachter" => "Schlachter", "traeger" => "Träger", "kleptoren" => "Kleptoren", "cancris" => "Cancris", "prec" => "Scangenauigkeit", "svs" => "Scanverstärker"); foreach ($checkfleet as $key => $value) { $form->add(new formInput($key, $value, "numeric")); } if ($_POST['send']) { $form->submit(); if (!$form->hasErrors()) { $updatefleetdata = array(); foreach ($checkfleet as $key => $value) { $updatefleetdata[$key] = $form->get($key); } fleetstatus_update_fleet($fsid, $updatefleetdata, $updatefleetdata['svs'], $updatefleetdata['prec']); $_SESSION['steps']['fleetstatus'] = "Flottendaten gespeichert"; $this->_header("takscreen.php?action=fleetstatus&id={$fsid}&page=3&send"); } } else { foreach ($checkfleet as $key => $value) { $form->set($key, $status[$key]); } } break; case 4: $form->add(new formInput("code", "Text", "string")); if ($_POST['send']) { $form->submit(); if (!$form->hasErrors()) { $result = parseWurstFleet($form->get("code")); if ($result !== false) { fleetstatus_update_fleet($fsid, $result, "0", "100"); $_SESSION['steps']['fleetstatus'] = "Flottendaten gespeichert"; $this->_header("takscreen.php?action=fleetstatus&id={$fsid}&page=4&send"); } else { $form->addError("Fehler beim Parsen"); $form->setError("code"); } } } } $form->registerVars($this->template); // baue manuelles flottenupdate formular if ($page == 3) { $formitems = array(); foreach ($checkfleet as $key => $value) { $formitems[] = array("value" => $form->smartyitems[$key]['value'], "title" => $form->smartyitems[$key]['title'], "name" => $key, "class" => $form->smartyitems[$key]['class']); } $this->template->assign("fleetupdateform", $formitems); } $this->template->assign(array("status" => $status, "page" => $page, "form_params" => $form_params)); $this->show('takscreen_fleetstatus', "Flottendaten"); }
function User_fleet_manuell() { $id = param_num("id"); if ($id) { $user = getUserByID($id); if (!$user || $user['aid'] != $this->userdata['aid']) { $this->_header(); } $this->template->assign("id", $id); } else { $id = $this->userdata['uid']; } $data = $_SESSION['steps']; #information message, step 2 if ($data['fleetmanuell']) { #unset step unset($data['fleetmanuell']); $_SESSION['steps'] = $data; $this->forms['information']['url'] = $this->backtracking->backlink(); $this->forms['information']['title'] = "Flotte updaten"; $this->forms['information']['message'] = "Flotte aktualisiert"; $this->forms['information']['style'] = "green"; $this->show('message_information', "Flotte updaten"); } $names = array("Jäger" => "jaeger", "Bomber" => "bomber", "Fregatten" => "fregatten", "Zerstörer" => "zerstoerer", "Kreuzer" => "kreuzer", "Schlachtschiffe" => "schlachter", "Träger" => "traeger", "Kleptoren" => "kleptoren", "Schutzschiffe" => "cancris"); $fleets = user_fleet_list_byuser($id); $form = new formContainer(); foreach ($names as $title => $name) { for ($i = 0; $i < 3; $i++) { $form->add(new formInput($name . $i, $title, "numeric")); } } if ($_POST['send'] && $_POST['next_x']) { $form->submit(); if (!$form->hasErrors()) { $_result = array(); foreach ($fleets as $fleet) { foreach ($names as $title => $name) { $_result[$fleet['fleetnum']][$name] = $form->get($name . $fleet['fleetnum']); } } user_fleets_update($id, $_result); $_SESSION['steps']['fleetmanuell'] = 1; $this->_header("user.php?action=fleetmanuell&send"); } } else { foreach ($fleets as $fleet) { $num = $fleet['fleetnum']; foreach ($names as $key => $name) { $val =& $fleet[$name]; if ($val) { $form->set($name . $num, $val); } else { $form->set($name . $num, 0); } } } } # $this->template->assign("errors",$errors); # $this->template->assign("items",$items); $form->registerVars($this->template); $this->show("user_fleetupdate_manuell", "Flottenupdate"); }