84 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
defined('BASEPATH') OR exit('No direct script access allowed');
 | 
						|
 | 
						|
class Users extends MY_Controller
 | 
						|
{
 | 
						|
 | 
						|
    public function __construct()
 | 
						|
    {
 | 
						|
        parent::__construct();
 | 
						|
        $this->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');
 | 
						|
    }
 | 
						|
} |