Example #1
0
 /**
  \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");
 }
Example #2
0
 function Fleets_list()
 {
     $filter = $_SESSION['userfleetfilter'];
     #filter setzen
     if (!$filter) {
         $galalist = getGalaListbyAlly($this->userdata['aid']);
         if (count($galalist)) {
             $filter['gala'] = $galalist[0]['gala'];
         }
     }
     $filter['ally'] = $this->userdata['aid'];
     $filter['order'] = "asc";
     $filter['sort'] = "koords";
     #filter neu setzen
     if ($_POST['subaction'] == "filter") {
         $gala = param_num("galaxy");
     } else {
         $gala = $filter['gala'];
     }
     $ally = $filter['ally'];
     $galalist = getGalaListbyAlly($ally);
     if (count($galalist)) {
         if ($gala) {
             for ($i = 0; $i < count($galalist); $i++) {
                 if ($galalist[$i]['gala'] == $gala) {
                     $filter['gala'] = $gala;
                     $galalist[$i]['selected'] = "selected";
                     break;
                 }
             }
         } else {
             $gala = $galalist[0]['gala'];
             $filter['gala'] = $gala;
         }
     } else {
         unset($filter['gala']);
     }
     if ($_POST['subaction'] == "filter") {
         $_SESSION['userfleetfilter'] = $filter;
     }
     if ($gala) {
         $list = listUser($filter, &$pages, 1, 12);
         for ($i = 0; $i < count($list); $i++) {
             $list[$i]['fleets'] = user_fleet_list_byuser($list[$i]['uid']);
             $gesamt = array();
             $gesamt['dir'] = "Gesamt";
             $gesamt['name'] = "Gesamt";
             $gesamt['class'] = "bold";
             $list[$i]['fleets'][0]['name'] = "Orbit";
             $list[$i]['fleets'][1]['name'] = "Flotte 1";
             $list[$i]['fleets'][2]['name'] = "Flotte 2";
             for ($j = 0; $j < count($list[$i]['fleets']); $j++) {
                 $fleet =& $list[$i]['fleets'][$j];
                 if ($fleet['return_flight']) {
                     $fleet['dir'] = "Rückflug";
                     $fleet['class'] = "blue";
                 } else {
                     if ($fleet['status'] == 1) {
                         $fleet['dir'] = "Angriff";
                         $fleet['class'] = "red";
                     } elseif ($fleet['status'] == 2) {
                         $fleet['dir'] = "Verteidigung";
                         $fleet['class'] = "green";
                     } else {
                         $fleet['dir'] = "Im Orbit";
                     }
                 }
                 if ($fleet['tgala']) {
                     $fleet['dir'] .= " (" . $fleet['tgala'] . ":" . $fleet['tpos'] . ")";
                 }
                 $fleet['irc'] = generate_irc_user_fleet($j, $fleet, $list[$i]);
                 $gesamt['cancris'] += $fleet['cancris'];
                 $gesamt['kleptoren'] += $fleet['kleptoren'];
                 $gesamt['fregatten'] += $fleet['fregatten'];
                 $gesamt['zerstoerer'] += $fleet['zerstoerer'];
                 $gesamt['bomber'] += $fleet['bomber'];
                 $gesamt['jaeger'] += $fleet['jaeger'];
                 $gesamt['schlachter'] += $fleet['schlachter'];
                 $gesamt['traeger'] += $fleet['traeger'];
                 $gesamt['kreuzer'] += $fleet['kreuzer'];
             }
             $gesamt['irc'] = generate_irc_user_fleet(3, $gesamt, $list[$i]);
             $list[$i]['fleets'][3] = $gesamt;
             if ($list[$i]['fleetupdate']) {
                 $list[$i]['fleetdate'] = formatdate_unix("d.m.Y", $list[$i]['fleetupdate']);
                 $list[$i]['fleettime'] = date("H:i", $list[$i]['fleetupdate']);
             }
         }
         $this->template->assign('list', $list);
     }
     $this->template->assign("ally", getAlly($this->userdata['aid']));
     $this->template->assign('galalist', $galalist);
     $this->show('userfleets_index', "Flottenpflege");
 }