function Incoming_adddeffer() { $id = param_num("id"); if ($id && !($inc = getUserByID($id))) { $this->_header(); } if ($_SESSION['steps']['adddeffer']) { #save step unset($_SESSION['steps']['adddeffer']); $_SESSION['steps'] = $data; $this->forms['information']['action'] = ""; $this->forms['information']['url'] = $this->backtracking->backlink(); $this->forms['information']['title'] = "Deffer hinzufügen"; $this->forms['information']['message'] = "Deffer eingetragen"; $this->forms['information']['style'] = "green"; $this->show('message_information', "Deffer hinzufügen"); } $form = new formContainer(); $form->add(new formInput("tgala", "Zielgala", "numeric", true, 4)); $form->add(new formInput("tpos", "Zielposition", "numeric", true, 2)); $form->add(new formInput("gala", "Gala vom Deffer", "numeric", true, 4)); $form->add(new formInput("pos", "Position vom Deffer", "numeric", true, 2)); $list = array(array("title" => "Flotte 1", "value" => 1), array("title" => "Flotte 2", "value" => 2)); $form->add(new formSelectBox("fleet", "Flotte", "numeric", $list, false)); $form->add(new formInput("time", "Flugzeit", "string", true, 20, false, "'^(?:(\\d+?):(\\d+?)|(\\d+?))\$'is")); $list = array(array("title" => "extern (360)", "value" => 360), array("title" => "Meta intern (330)", "value" => 330), array("title" => "Allianz intern (300)", "value" => 300), array("title" => "Galaxie intern (270)", "value" => 270)); $form->add(new formSelectBox("defftype", "Verteidigung", "numeric", $list, false)); $form->add(new formInput("orbit", "Zeit im Orbit", "string", true, 20, false, "'^(?:(\\d+):(\\d+)|(\\d+))\$'is")); if ($_POST['send']) { $form->submit(); $tgala = $form->get("tgala"); $tpos = $form->get("tpos"); $gala = $form->get("gala"); $pos = $form->get("pos"); #opfer existiert nicht if (!$form->hasErrors() && !($deffer = getUserByPos($tgala, $tpos))) { $form->addError("Member existiert nicht im System"); $form->setError(array("tpos", "tgala")); } #kann sich net selber deff0rn if (!$form->hasErrors() && $tgala == $gala && $tpos == $pos) { $form->addError("Man kann sich nicht selber deffen"); $form->setError(array("tgala", "tpos", "gala", "pos")); } #flotte schon eingetragen if (!$form->hasErrors() && $form->get("fleet") && ($data = fleetstatus_get_bykoords($gala, $pos, $fleet))) { $form->addError("Flotte ist bereits eingetragen"); $form->setError(array("gala", "pos", "fleet")); } if (!$form->hasErrors() && ($check = fleetstatus_get_bykoords($gala, $pos)) && count($check) >= 2) { $form->addError("Es sind bereits 2 Einträge zu ({$gala}:{$pos}) vorhanden"); $form->setError(array("gala", "pos", "fleet")); } if (!$form->hasErrors()) { $_SESSION['steps']['adddeffer'] = 1; $time = $form->getRegex("time"); if (strlen($time[1])) { $eta = $time[1] * 60 + $time[2]; } else { $eta = $time[3]; } $time = $form->getRegex("orbit"); if (strlen($time[1])) { $orbit = $time[1] * 60 + $time[2]; } else { $orbit = $time[3]; } if ($eta == 0) { $orbit = gnticktime($orbit); } deffer_add($gala, $pos, $tgala, $tpos, $form->get("fleet"), $form->get("defftype"), $orbit, $eta); $this->_header("takscreen.php?action=adddeffer&send"); } $this->template->assign("errors", $errors); $this->template->assign("defftype" . $items['defftype']['value'], "selected"); $this->template->assign("tick" . $ticks, "selected"); } else { if ($inc) { $form->set("gala", $this->userdata['gala']); $form->set("pos", $this->userdata['pos']); $form->set("tgala", $inc['gala']); $form->set("tpos", $inc['pos']); if ($inc['gala'] == $this->userdata['gala']) { $form->select("defftype", 270); $form->set("time", $this->formattime(270 * 60)); } elseif ($inc['aid'] == $this->userdata['aid']) { $form->select("defftype", 300); $form->set("time", $this->formattime(300 * 60)); } else { $form->select("defftype", 330); $form->set("time", $this->formattime(330 * 60)); } if ($this->userdata['fleettype'] == 1 || $this->userdata['fleettype'] == 3 || $this->userdata['fleettype'] == 0) { $form->select("fleet", 1); } else { $status = fleetstatus_get_byfleetnum($this->userdata['gala'], $this->userdata['pos']); if (!$status || count($status) == 2 || $status[0]['fleetnum'] == 1) { $form->select("fleet", 2); } else { $form->select("fleet", 1); } } } else { $form->select("defftype", 330); $form->set("time", $this->formattime(330 * 60)); } $form->set("orbit", $this->formattime(300 * 60)); } $form->registerVars($this->template); $this->show('takscreen_deffer_add', "Deffer hinzufügen"); }
/** \brief User hinzufügen Fügt eines User hinzu. */ function User_add() { #check rights $rank = $this->userdata['rights']['useredit']['rank']; if (!$rank) { #no permission $this->_header("", "no permission"); } $page = param_num("page", 1); $id = param_num("id"); $data = $_SESSION['steps']; #information message, step 2 if ($data['adduser']) { if ($id) { $return = getUserByID($id); } if ($return) { $this->forms['information']['url'] = "admin.php?action=showdetails&id=" . $return['uid'] . "&force"; } else { $this->forms['information']['url'] = $this->backtracking->backlink(); } #save step unset($data['adduser']); $_SESSION['steps'] = $data; $this->forms['information']['action'] = "userdetails"; $this->forms['information']['title'] = "Benutzer hinzufügen"; $this->forms['information']['message'] = "Erfolgreich hinzugefügt"; $this->forms['information']['style'] = "green"; $this->show('message_information', "Benutzer hinzufügen"); } #formular send if ($this->userdata['rights']['changegroup']) { $grouplist = getGroupList($this->userdata['rights']['changegroup']['rank']); $this->template->assign("changegroup", 1); } if ($rank == 1) { $allylist = getAllyList(); } else { $this->template->assign("ally", $this->userdata['tag']); } $this->template->assign("rank", $rank); $galalist = array(); if ($_REQUEST['send']) { $items['nickname']['value'] = param_str("nickname", true); $items['password']['value'] = param_str("password", true); $items['ircauth']['value'] = param_str("ircauth", true); $items['login']['value'] = param_str("login", true); $items['gala']['value'] = param_num("gala", null, true); $items['pos']['value'] = param_num("pos", null, true); $items['gala']['value'] = param_num("gala", 0, true); if ($rank == 1) { $items['aid']['value'] = param_num("ally", 0, true); #check allyid if ($items['aid']['value']) { $ally = 0; for ($i = 0; $i < count($allylist); $i++) { if ($items['aid']['value'] == $allylist[$i]['aid']) { $ally =& $allylist[$i]; $ally['selected'] = "selected"; break; } } } if (!$ally) { $this->_header("", "Ungültige Allianzid!"); } } else { $items['aid']['value'] = $this->userdata['aid']; } if ($rank < 3) { $galalist = getGalaListbyAlly($items['aid']['value']); if (!$galalist) { $errors[] = "Die Allianz hat keine Galaxien!"; $galalist[] = array("gala" => "keine"); } } else { $items['gala']['value'] = $this->userdata['gala']; $this->template->assign("gala", $this->userdata['gala']); } #auf weiter geklickt if ($_REQUEST['next_x']) { if (!$items['login']['value']) { $items['login']['bgrd'] = '_error'; $errors[] = "Login darf nicht leer sein!"; } if (!$items['nickname']['value']) { $items['nickname']['bgrd'] = '_error'; $errors[] = "Nickname darf nicht leer sein!"; } if (!$items['password']['value']) { $items['password']['bgrd'] = '_error'; $errors[] = "Password darf nicht leer sein!"; } if (!$items['pos']['value']) { $items['pos']['bgrd'] = '_error'; $errors[] = "Position leer oder ungültig!"; } if ($items['nickname']['value'] && getUserByNick($items['nickname']['value'])) { $items['nickname']['bgrd'] = '_error'; $errors[] = "User existiert bereits!"; } if ($items['login']['value'] && getUserByLogin($items['login']['value'])) { $items['login']['bgrd'] = '_error'; $errors[] = "Login existiert bereits!"; } if ($this->userdata['rights']['changegroup']) { #check gid $items['gid']['value'] = param_num("group", 0, true); if ($items['gid']['value']) { $group = 0; for ($i = 0; $i < count($grouplist); $i++) { if ($items['gid']['value'] == $grouplist[$i]['gid']) { $group =& $grouplist[$i]; $group['selected'] = "selected"; break; } } if (!$group) { $this->_header("", "Ungültige Gruppe, gid!"); } } } else { $items['gid']['value'] = 0; } #check galaid if ($items['gala']['value'] && $rank < 3) { $galaxy = 0; for ($i = 0; $i < count($galalist); $i++) { if ($items['gala']['value'] == $galalist[$i]['gala']) { $galaxy =& $galalist[$i]; $galaxy['selected'] = "selected"; break; } } if (!$galaxy) { $this->_header("", "Ungültige Galaid!"); } } if (!$errors) { $chkuser = getUserByPos($items['gala']['value'], $items['pos']['value']); if ($chkuser) { $errors[] = "User existiert bereits, <a href=\"admin.php?action=userdetails&id=" . $chkuser['uid'] . "\">" . $chkuser['nick'] . " (" . $chkuser['gala'] . ":" . $chkuser['pos'] . ")</a>"; $items['pos']['bgrd'] = '_error'; } } if (!$errors) { #save step $data['adduser'] = 1; $_SESSION['steps'] = $data; $id = addUser($items['nickname']['value'], $items['login']['value'], $items['password']['value'], $items['gid']['value'], $items['gala']['value'], $items['pos']['value'], $items['ircauth']['value']); addToLogfile("User " . $items['nickname']['value'] . " hinzugefügt", "Admin", $this->userdata['uid']); $this->_header("admin.php?action=adduser&id={$id}&send"); } } $this->template->assign("errors", $errors); } else { if ($rank == 1) { $galalist = getGalaListbyAlly($allylist[0]['aid']); if (!$galalist) { $errors[] = "Die Allianz hat keine Galaxien!"; $this->template->assign("errors", $errors); $galalist[] = array("gala" => "keine"); } } elseif ($rank == 2) { $galalist = getGalaListbyAlly($this->userdata['aid']); if (!$galalist) { $errors[] = "Die Allianz hat keine Galaxien!"; $this->template->assign("errors", $errors); $galalist[] = array("gala" => "keine"); } } elseif ($rank == 3) { $this->template->assign("gala", $this->userdata['gala']); } } if (!$items['ircauth']['value']) { $items['ircauth']['bgrd'] = "_optional"; } $this->template->assign("items", $items); $this->template->assign("galalist", $galalist); $this->template->assign("allylist", $allylist); $this->template->assign("grouplist", $grouplist); $this->show('user_add_form', "Benutzer hinzufügen"); }
function fleetstatus_recall($fsid) { $status = fleetstatus_get($fsid); if ($status['uid']) { // interne flotte if ($status['fleetnum'] && $status['arrival']) { $eta = $status['arrival'] - time(); if ($eta < 0) { $eta = 0; } $eta = floor($eta / 60); $data = array(); $data['orbittime'] = ""; $data['returntime'] = ""; $data['arrival'] = gnarrival($status['returntime'] - $eta); $data['return_flight'] = 1; fleetstatus_update($fsid, $data); } else { fleetstatus_delete($fsid); } } else { // externe flotte fleetstatus_delete($fsid); if ($status['fid']) { fleet_delete($status['fid']); } } //letzter atter recallt ? if ($status['status'] == 1 && !fleetstatus_get_bytarget($status['tgala'], $status['tpos'], 1)) { $user = getUserByPos($status['tgala'], $status['tpos']); user_set_safe($user['uid'], 0); } }