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 UserSettings()
 {
     $data = $_SESSION['steps'];
     #information message, step 2
     if ($data['usersettings']) {
         #save step
         unset($data['usersettings']);
         $_SESSION['steps'] = $data;
         $this->forms['information']['action'] = "";
         $this->forms['information']['url'] = $this->backtracking->backlink();
         $this->forms['information']['title'] = "Benutzerdaten &auml;ndern";
         $this->forms['information']['message'] = "&Auml;nderung erfolgreich";
         $this->forms['information']['style'] = "green";
         $this->show('message_information', "Benutzerdaten &auml;ndern");
     }
     #formular send
     if ($_REQUEST['step']) {
         $items['email']['value'] = param_str("email", true);
         $items['nick']['value'] = param_str("nick", true);
         $items['login']['value'] = param_str("login", true);
         $items['svs']['value'] = param_num("svs", 0);
         $items['fleettype']['value'] = param_num("fleettype", 1);
         $items['scantype']['value'] = param_num("scantype", 0);
         $items['timeview']['value'] = param_num("timeview", 0);
         if (!$items['email']['value']) {
             $errors[] = "Email fehlt!";
             $items['email']['bgrd'] = "_error";
         }
         if (!$items['nick']['value']) {
             $errors[] = "GN Nickname fehlt!";
             $items['nick']['bgrd'] = "_error";
         }
         if (!$items['login']['value']) {
             $errors[] = "Login fehlt!";
             $items['login']['bgrd'] = "_error";
         }
         if ($_POST['emailvisible']) {
             $items['emailvisible']['value'] = 1;
         } else {
             $items['emailvisible']['value'] = 0;
         }
         #optional parameters
         $items['phone']['value'] = param_str("phone", true);
         #check nickname
         if ($items['nick']['value'] && strtolower($items['nick']['value']) != strtolower($this->userdata['nick']) && getUserByNick($items['nick']['value'])) {
             $errors[] = "Nickname existiert bereits";
             $items['nick']['bgrd'] = "_error";
         }
         #check login
         if ($items['login']['value'] && strtolower($items['login']['value']) != strtolower($this->userdata['login']) && getUserByLogin($items['login']['value'])) {
             $errors[] = "Login bereits vergeben";
             $items['login']['bgrd'] = "_error";
         }
         if (!$errors) {
             #save step
             $data['usersettings'] = 1;
             $_SESSION['steps'] = $data;
             addToLogfile("Benutzereinstellungen geändert", "User", $this->userdata['uid']);
             updateUser($this->userdata['uid'], $items['nick']['value'], $items['login']['value'], $items['email']['value'], $items['emailvisible']['value'], $items['phone']['value'], $items['scantype']['value'], $items['svs']['value'], $items['timeview']['value'], $items['fleettype']['value']);
             $this->_header("user.php?action=settings&send");
         }
     } else {
         $items['login']['value'] = $this->userdata['login'];
         $items['nick']['value'] = $this->userdata['nick'];
         $items['email']['value'] = $this->userdata['email'];
         $items['emailvisible']['value'] = $this->userdata['emailvisible'];
         $items['phone']['value'] = $this->userdata['phone'];
         $items['scantype']['value'] = $this->userdata['scantype'];
         $items['svs']['value'] = $this->userdata['svs'];
         $items['timeview']['value'] = $this->userdata['timeview'];
         $items['fleettype']['value'] = $this->userdata['fleettype'];
     }
     if (!$items['phone']['value']) {
         $items['phone']['bgrd'] = "_optional";
     }
     $this->template->assign("scantype" . $items['scantype']['value'], "checked");
     $this->template->assign("timeview" . $items['timeview']['value'], "checked");
     $this->template->assign("fleettype" . $items['fleettype']['value'], "checked");
     $this->template->assign("errors", $errors);
     $this->template->assign("items", $items);
     $this->show('user_settings_form', "Benutzerdaten &auml;ndern");
 }