load->model('UserModel', '', TRUE); } public function index() { if (!isset($_SESSION['user']) || empty($_SESSION['user']) || $_SESSION['user']['rank'] < 9) redirect(base_url('login')); $usersData = $this->UserModel->getUserList(50, 0); $this->load->view('admin/sidebar', ['title' => 'Alle Nutzer']); $this->load->view('admin/users', ['users' => $usersData]); $this->load->view('admin/footer'); } public function details($userID = NULL) { if (!isset($_SESSION['user']) || empty($_SESSION['user']) || $_SESSION['user']['rank'] < 9) redirect(base_url('login')); if ($userID == NULL) redirect(base_url('admin/users')); $userData = $this->UserModel->getUserByID($userID); if ($userData == null) redirect(base_url('admin/users')); $userData = $userData[0]; $this->load->view('admin/sidebar', ['title' => 'Details - ' . $userData['displayname']]); $this->load->view('admin/user_details', ['user' => $userData]); $this->load->view('admin/footer'); } public function settings($userID = NULL) { if (!isset($_SESSION['user']) || empty($_SESSION['user']) || $_SESSION['user']['rank'] < 9) redirect(base_url('login')); if ($userID == NULL) redirect(base_url('admin/users')); $userData = $this->UserModel->getUserByID($userID); if ($userData == null) redirect(base_url('admin/users')); $userData = $userData[0]; if (isset($_POST['rank'])) { $rank = intval($_POST['rank']); if (($rank < 1) || ($rank > 3 && $rank < 6) || $rank > 10) { redirect(base_url(uri_string())); } // Add entry to history $historyData = [ 'ID' => $userID, 'username' => $userData['username'], 'displayname' => $userData['displayname'], 'email' => $userData['email'], 'rank' => $userData['rank'], 'profile_picture' => $userData['profile_picture'], 'header_image' => $userData['header_image'], 'social_networks' => $userData['social_networks'], 'showAds' => $userData['showAds'], 'about' => $userData['about'], 'language' => $userData['language'], 'country' => $userData['country'], 'gender' => $userData['gender'], 'receiveEmails' => $userData['receiveEmails'], 'receiveNewsletter' => $userData['receiveNewsletter'] ]; $this->UserModel->insertIntoHistory($historyData); // Update profile $this->UserModel->updateProfile(['rank' => $rank], $userID); redirect(base_url(uri_string())); } $this->load->view('admin/sidebar', ['title' => 'Nutzer-Einstellungen - ' . $userData['displayname']]); $this->load->view('admin/user_settings', ['user' => $userData]); $this->load->view('admin/footer'); } }