/** \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 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 ändern"; $this->forms['information']['message'] = "Änderung erfolgreich"; $this->forms['information']['style'] = "green"; $this->show('message_information', "Benutzerdaten ä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 ändern"); }