function scan_details($gala, $pos) { $scan = getScan(array("gala" => $gala, "pos" => $pos)); $this->template->assign("gala", $gala); $this->template->assign("pos", $pos); $this->template->assign("scan", scan_format($scan)); $this->show('scan_details', "Details von ({$gala}:{$pos})"); }
/** * @return unknown * @param $nick unknown * @param $password unknown * @param $email unknown * @param $phone unknown * @param $koords unknown * @desc Enter description here... */ function addUser($nick, $login, $password, $gid, $gala, $pos, $ircauth) { Assert::isNumeric($gid); Assert::isId($gala); Assert::isId($pos); $nick = mysql_real_escape_string($nick); $login = mysql_real_escape_string($login); $ircauth = mysql_real_escape_string($ircauth); $user = insertsql("insert into user (nick,login,password,gid,gala,pos,changepw,ircauth) values ('{$nick}','{$login}','" . md5($password) . "',{$gid},{$gala},{$pos},1,'{$ircauth}')"); for ($i = 0; $i < 3; $i++) { if ($i > 0) { $status = fleetstatus_get_bykoords($gala, $pos, $i); } if ($status['fid']) { $fid = $status['fid']; } else { $fid = fleet_add(); } insertsql("insert into user_fleet (gala,pos,fid,fleetnum) values ({$gala},{$pos},{$fid},{$i})"); } $position = getScan(array("gala" => $gala, "pos" => $pos)); if ($position) { scan_update_nick($gala, $pos, $nick); } else { scan_add($gala, $pos, array("nick" => $nick)); } return $user; }
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 xmlrpc_scan_get($params) { global $timeout, $xmlrpc_errors, $logger; $gala = $params->getParam(0); $pos = $params->getParam(1); $scan = getScan(array("gala" => $gala->scalarval(), "pos" => $pos->scalarval(), "hideold" => 1), $timeout); if (!$scan) { $logger->debug("scan not found"); return new XML_RPC_Response(0, $xmlrpc_errors["scan_not_found"]["code"], $xmlrpc_errors["scan_not_found"]["msg"]); } else { $logger->debug(var_export($scan, true)); } $data = array(); $data['nick'] = new XML_RPC_Value(utf8_encode($scan['nick'])); $data['gala'] = new XML_RPC_Value($scan['gala'], "int"); $data['pos'] = new XML_RPC_Value($scan['pos'], "int"); if ($scan['hassector']) { $data['hassector'] = new XML_RPC_Value(true, "boolean"); $data['sector_prec'] = new XML_RPC_Value($scan['sector_prec'], "int"); if ($scan['sector_svs']) { $data['sector_svs'] = new XML_RPC_Value($scan['sector_svs'], "int"); } if ($scan['sector_scanner']) { $data['sector_scanner'] = new XML_RPC_Value(utf8_encode($scan['sector_scanner'])); } $data['sector_scanage'] = new XML_RPC_Value($scan['sector_scanage']); $data['sector_ships'] = new XML_RPC_Value($scan['sector_ships'], "int"); $data['sector_deff'] = new XML_RPC_Value($scan['sector_deff'], "int"); $data['sector_exen'] = new XML_RPC_Value($scan['sector_exen'], "int"); $data['sector_kristall'] = new XML_RPC_Value($scan['sector_kristall'], "int"); $data['sector_metall'] = new XML_RPC_Value($scan['sector_metall'], "int"); $data['sector_roids'] = new XML_RPC_Value($scan['sector_roids'], "int"); $data['sector_punkte2'] = new XML_RPC_Value($scan['sector_punkte2']); $data['sector_timeout'] = new XML_RPC_Value((bool) $scan['sector_timeout'], "boolean"); } else { $data['hassector'] = new XML_RPC_Value(false, "boolean"); } if ($scan['hasgscan']) { $data['hasgscan'] = new XML_RPC_Value(true, "boolean"); if ($scan['gscan_horus']) { $data['gscan_horus'] = new XML_RPC_Value($scan['gscan_horus'], "int"); } if ($scan['gscan_rubium']) { $data['gscan_rubium'] = new XML_RPC_Value($scan['gscan_rubium'], "int"); } if ($scan['gscan_pulsar']) { $data['gscan_pulsar'] = new XML_RPC_Value($scan['gscan_pulsar'], "int"); } if ($scan['gscan_coon']) { $data['gscan_coon'] = new XML_RPC_Value($scan['gscan_coon'], "int"); } if ($scan['gscan_centurion']) { $data['gscan_centurion'] = new XML_RPC_Value($scan['gscan_centurion'], "int"); } $data['gscan_prec'] = new XML_RPC_Value($scan['gscan_prec'], "int"); $data['gscan_scanage'] = new XML_RPC_Value($scan['gscan_scanage']); $data['gscan_timeout'] = new XML_RPC_Value((bool) $scan['gscan_timeout'], "boolean"); if ($scan['gscan_svs']) { $data['gscan_svs'] = new XML_RPC_Value($scan['gscan_svs'], "int"); } if ($scan['gscan_scanner']) { $data['gscan_scanner'] = new XML_RPC_Value(utf8_encode($scan['gscan_scanner'])); } } else { $data['hasgscan'] = new XML_RPC_Value(false, "boolean"); } if ($scan['hasunit']) { $data['hasunit'] = new XML_RPC_Value(true, "boolean"); $data['unit_prec'] = new XML_RPC_Value($scan['unit_prec'], "int"); $data['kleptoren'] = new XML_RPC_Value($scan['kleptoren'], "int"); $data['cancris'] = new XML_RPC_Value($scan['cancris'], "int"); $data['fregatten'] = new XML_RPC_Value($scan['fregatten'], "int"); $data['zerstoerer'] = new XML_RPC_Value($scan['zerstoerer'], "int"); $data['kreuzer'] = new XML_RPC_Value($scan['kreuzer'], "int"); $data['schlachter'] = new XML_RPC_Value($scan['schlachter'], "int"); $data['traeger'] = new XML_RPC_Value($scan['traeger'], "int"); $data['jaeger'] = new XML_RPC_Value($scan['jaeger'], "int"); $data['bomber'] = new XML_RPC_Value($scan['bomber'], "int"); $data['unit_scanage'] = new XML_RPC_Value($scan['unit_scanage']); $data['unit_timeout'] = new XML_RPC_Value((bool) $scan['unit_timeout'], "boolean"); if ($scan['unit_svs']) { $data['unit_svs'] = new XML_RPC_Value($scan['unit_svs'], "int"); } if ($scan['unit_scanner']) { $data['unit_scanner'] = new XML_RPC_Value(utf8_encode($scan['unit_scanner'])); } } else { $data['hasunit'] = new XML_RPC_Value(false, "boolean"); } if ($scan['hasmili']) { $data['hasmili'] = new XML_RPC_Value(true, "boolean"); $fleets = array(); $fleets[0] = fleet2xml($scan['mili_fleets'][0]); $fleets[1] = fleet2xml($scan['mili_fleets'][1]); $fleets[2] = fleet2xml($scan['mili_fleets'][2]); $data['mili_fleets'] = new XML_RPC_Value($fleets, "array"); $data['mili_prec'] = new XML_RPC_Value($scan['mili_prec'], "int"); $data['mili_scanage'] = new XML_RPC_Value($scan['mili_scanage']); $data['mili_timeout'] = new XML_RPC_Value((bool) $scan['mili_timeout'], "boolean"); if ($scan['mili_svs']) { $data['mili_svs'] = new XML_RPC_Value($scan['mili_svs'], "int"); } if ($scan['mili_scanner']) { $data['mili_scanner'] = new XML_RPC_Value(utf8_encode($scan['mili_scanner'])); } } else { $data['hasmili'] = new XML_RPC_Value(false, "boolean"); } if ($scan['hasnews']) { $data['hasnews'] = new XML_RPC_Value(true, "boolean"); $data['news_data'] = new XML_RPC_Value(utf8_encode($scan['news_newsdata'])); $data['news_prec'] = new XML_RPC_Value($scan['news_prec'], "int"); $data['news_scanage'] = new XML_RPC_Value($scan['news_scanage']); $data['news_timeout'] = new XML_RPC_Value((bool) $scan['news_timeout'], "boolean"); if ($scan['news_svs']) { $data['news_svs'] = new XML_RPC_Value($scan['news_svs'], "int"); } if ($scan['news_scanner']) { $data['news_scanner'] = new XML_RPC_Value(utf8_encode($scan['news_scanner'])); } } else { $data['hasnews'] = new XML_RPC_Value(false, "boolean"); } return new XML_RPC_Response(new XML_RPC_Value($data, "struct")); }
function scan_update_nick($gala, $pos, $nick) { if (!$nick || !is_numeric($pos) || !is_numeric($gala)) { return false; } $scan = scan_get_bynick($nick); if ($scan) { if ($scan['gala'] != $gala || $scan['pos'] != $pos) { query("update scans set nick = null where gala = " . $scan['gala'] . " and pos = " . $scan['pos']); } return query("update scans set nick = '" . mysql_escape_string(trim($nick)) . "' where gala = " . $gala . " and pos = " . $pos); } else { $scan = getScan(array("gala" => $gala, "pos" => $pos)); if ($scan) { return query("update scans set nick = '" . mysql_escape_string(trim($nick)) . "' where gala = " . $gala . " and pos = " . $pos); } else { return scan_add($gala, $pos, array("nick" => $nick)); } } }