Example #1
0
 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})");
 }
Example #2
0
/**
 * @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;
}
Example #3
0
 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");
 }
Example #4
0
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"));
}
Example #5
0
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));
        }
    }
}