Ejemplo n.º 1
0
 function _addScan()
 {
     if ($_REQUEST['send']) {
         $data = $_POST['data'];
         if ($data) {
             $scans = parseScan($data);
             if ($scans) {
                 $this->forms['addscan']['message'] = "<b>Folgende Scans wurden erkannt:</b><br><br>";
                 $this->template->assign("scanlist", $scans);
                 for ($i = 0; $i < count($scans); $i++) {
                     updateScan($scans[$i]);
                 }
             } else {
                 $this->forms['addscan']['message'] = "<div class = \"tbl_red\">Scan(s) nicht erkannt</div>";
             }
             #      $this->forms['addscan']['fields']['data']['value'] = $data;
         } else {
             $this->forms['addscan']['message'] = "<div class = \"tbl_red\">Feld leer</div>";
         }
     } else {
         $this->forms['addscan']['message'] = "Der Scanner arbeitet mit Copy&Paste. Dabei ist es egal ob ihr\n      den Scan aus dem IRC Channel kopiert, oder den IRC Copy Knopf benutzt.Beim Kopieren aus dem IRC heraus ist nur wichtig,\n      daß ihr die kompletten Zeilen kopiert. (mit nickname, uhrzeit, was weiß ich nicht noch alles).Zeilen die nicht zum scan gehören\n      werden vom Parser ignoriert. Vorhandene Scans werden upgedated, fehlende neu hinzugefügt.Weiterhin werden beliebig viele Scans \ngleichzeitig \ngeparst,\n      ihr könnt also alle Scans mit einem Mal einfügen.<br><br>\n      Unterstütze Formate:<br>\n      <b>Galaxy Network Scan</b><br>";
     }
     $this->forms['addscan']['action'] = "add";
     $this->forms['addscan']['url'] = "scans.php";
     $this->show('scan_add_form', 'Scan hinzufügen/updaten');
 }
Ejemplo n.º 2
0
 function parser_mili()
 {
     $step = param_num("step");
     $data = $_SESSION['steps'];
     if ($data['miliparser']) {
         unset($data['miliparser']);
         $_SESSION['steps'] = $data;
         $this->forms['information']['action'] = "";
         $this->forms['information']['url'] = $this->backtracking->backlink();
         $this->forms['information']['title'] = "Miliscan laden";
         $this->forms['information']['message'] = "Miliscan wurde geladen und die Flotten aktualisiert";
         $this->forms['information']['style'] = "green";
         $this->show('message_information', "Miliscan laden");
         exit;
     }
     if (!$step) {
         # parsen
         if ($_POST['send']) {
             $data = $_POST['data'];
             if ($data) {
                 $scans = parseScan($data);
                 if ($scans) {
                     $miliids = array();
                     foreach ($scans as $scan) {
                         $sid = updateScan($scan);
                         if ($scan['type'] == "mili") {
                             $miliids[] = $sid;
                         }
                     }
                     if ($miliids) {
                         $_SESSION['parse_mili']['sids'] = $miliids;
                         $this->_header("takscreen.php?action=miliparser&send&step=1");
                     } else {
                         $message = "<div class = \"tbl_red\">keine Miliscans erkannt</div>";
                     }
                 } else {
                     $message = "<div class = \"tbl_red\">keine Scans erkannt</div>";
                 }
             } else {
                 $message = "<div class = \"tbl_red\">Feld leer</div>";
             }
         } else {
             $message = "Unterstützte Formate: <br><br>Galaxy Network Scan (IRC Copy)";
         }
         $this->template->assign("message", $message);
         $this->show('takscreen_miliparser', 'Mili parsen');
     } elseif ($step == 1) {
         $miliids = $_SESSION['parse_mili']['sids'];
         if (!is_array($miliids) || !count($miliids)) {
             $this->_header();
         }
         // miliscan auswerten
         $mili = getScan(array("sid" => reset($_SESSION['parse_mili']['sids'])));
         $fleets =& $mili['mili_fleets'];
         // mili formatieren
         for ($i = 0; $i < count($fleets); $i++) {
             if ($fleets[$i]['status'] == 1) {
                 $fleets[$i]['class'] = "red";
             } elseif ($fleets[$i]['status'] == 2) {
                 $fleets[$i]['class'] = "green";
             } elseif ($fleets[$i]['return_flight']) {
                 $fleets[$i]['class'] = "blue";
             }
         }
         $form = new formContainer();
         $formitems = array();
         // darf kein intener user sein
         if (!($user = getUserByPos($mili['gala'], $mili['pos']))) {
             if ($status = fleetstatus_get_filter(array("gala" => $mili['gala'], "pos" => $mili['pos'], "return_flight" => "0"))) {
                 $list = array();
                 $fleetstatus = array();
                 $list[] = array("title" => "nicht zuweisen", "value" => 0);
                 foreach ($status as $key => $value) {
                     $item =& $status[$key];
                     if (($eta = $item['arrival'] - time()) < 0) {
                         $eta = $eta + $item['orbittime'] * 60;
                         $item['eta'] = "noch " . $this->formattime($eta, true) . " im Orbit";
                     } else {
                         $item['eta'] = "ETA " . $this->formattime($eta, true);
                     }
                     if ($item['status'] == 1) {
                         $type = "Angriff";
                     } else {
                         $type = "Verteidigung";
                     }
                     #$item['title'] = $type." ".$item['tnick']." (".$item['tgala'].":".$item['tpos'].") ".$item['eta']." Flotte ".$item['fleetnum'];
                     $list[] = array("value" => $item['fsid'], "title" => $type . " " . $item['tnick'] . " (" . $item['tgala'] . ":" . $item['tpos'] . ") " . $item['eta'] . " Flotte " . $item['fleetnum']);
                     $fleetstatus[$item['fsid']] = $item;
                 }
                 for ($i = 1; $i < 3; $i++) {
                     if ($fleets[$i]['status'] == 1 || $fleets[$i]['status'] == 2) {
                         //if($status) $formitems[$i]['select_items'] = $status;
                         $form->add(new formSelectBox("fleet" . $i, "Flotte {$i}", "integer", $list, false));
                     }
                 }
             }
         } else {
             $form->setError("User ist Metamitglied, nicht erlaubt");
         }
         if ($_POST['send']) {
             $form->submit();
             $fleet1 = $form->get("fleet1");
             $fleet2 = $form->get("fleet2");
             if ($fleet1 && $fleet2 && $fleet1 == $fleet2) {
                 $form->addError("beide Flotten wurden auf den selben Eintrag gesetzt");
                 $form->setError(array("fleet1", "fleet2"));
             }
             if (!$form->hasErrors()) {
                 if ($fleet1) {
                     if ($fleetstatus[$fleet1]['fleetnum'] != 1) {
                         fleetstatus_change_fleetnum($fleet1, 1);
                         // muss neu geladen werden
                         if ($fleet2) {
                             $fleetstatus[$fleet2] = fleetstatus_get($fleet2);
                         }
                     }
                     fleetstatus_update_fleet($fleet1, $fleets[1], $mili['mili_svs'], $mili['mili_prec']);
                 }
                 if ($fleet2) {
                     if ($fleetstatus[$fleet2]['fleetnum'] != 2) {
                         fleetstatus_change_fleetnum($fleet2, 2);
                     }
                     fleetstatus_update_fleet($fleet2, $fleets[2], $mili['mili_svs'], $mili['mili_prec']);
                 }
                 array_shift($_SESSION['parse_mili']['sids']);
                 $this->_header("takscreen.php?action=miliparser&send&step=1");
             }
         }
         $this->template->assign("step", $step);
         $form->registerVars($this->template);
         #$this->template->assign("fleets",$fleets);
         $this->template->assign("mili", $mili);
         $this->show('takscreen_miliparser_step2', 'Mili parsen');
     }
 }
Ejemplo n.º 3
0
function xmlrpc_scans_addnews($auth, $scan)
{
    $scan = tfa($scan);
    updateScan($scan);
}