ACC SHELL

Path : /srv/www/vhosts/unitedsolution/class/
File Upload :
Current File : /srv/www/vhosts/unitedsolution/class/user.php

<?php
/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

//trida uzivatel manipuluje s daty o uzivateli
class user{

    private $username=NULL;//prihlasovaci jmeno
    private $pass=NULL;//heslo
    private $typ_id=NULL;//prava
    private $name=NULL;//jmeno
    private $surname=NULL;//prijmeni
    private $id=NULL;//id uzivatele

    //begin funkce vracejici privatni vlastnosti tridy user
    public function getUsername(){
        return $this->username;
    }

    public function getId(){
        return  $this->id;
    }

    public function getTypId(){
        return  $this->typ_id;
    }

    public function getName(){
        return $this->name;
    }

    public function getSurName(){
        return $this->surname;
    }


    //end funkce vracejici privatni vlastnosti tridy user

    //overi zda uzivatel s prihlasovacim jmenem username a heslem pass je v databazi, pokud ano naplni privatni vlastnosti z databaze
    public function __construct($username, $pass) {
        if ($this->check($username, $pass)){
            $this->selectUser($username);
        };
    }
    //overi zda uzivatel s prihlasovacim jmenem username a heslem pass je v databazi
    public static function check($username, $pass){

        if(!empty($username) && !empty($pass)){

		$query = "SELECT pass FROM ".DBPREFIX."users WHERE username = '$username'";
		$send = mysql_query($query);
		$data = mysql_fetch_array($send);

		if($pass === $data['pass'])
                    return true;
                else
                    return false;
        }
        else
                return false;
    }

    //overi zda uzivatel s prihlasovacim jmenem username a heslem pass je admin
    public static function checkAdmin($username, $pass){
        if(!empty($username) && !empty($pass)){

		$query = "SELECT pass FROM ".DBPREFIX."users WHERE username = '$username' AND typ_id=1";
		$send = mysql_query($query);
		$data = mysql_fetch_array($send);

		if($pass === $data['pass'])
                    return true;
                else
                    return false;
        }
        else
                return false;

    }

    //nalezne informace o uzivateli s danym prihlasovacim jmenem a naplni jimi privatni vlastnosti
    public function selectUser($username){

        $query = "SELECT * FROM ".DBPREFIX."users where username = '$username'";
        $sent = mysql_query($query);

        $this->setUser($sent);

    }

    //naplni privatni vlastnosti  tridy user informacema z databaze o uzivatelich username
    public function setUser($sent){

        $data = mysql_fetch_array($sent);

        $this->username=$data['username'];
        $this->pass=$data['pass'];
        $this->typ_id=$data['typ_id'];
        $this->id=$data['id'];
        $this->name=$data['name'];
        $this->surname=$data['surname'];

    }

    //zkontroluje zda uzivatel s prihlasovacim jmenem $username jiz neexistuje
    public static function exist_user($username){

        $query = "SELECT username FROM ".DBPREFIX."users where username = '".$username."'";

        $sent = mysql_query($query);
        $data = mysql_fetch_array($sent);

        if ($data['username']) return true;
        else{
            return false;
        }

    }


    //po overeni hesla pro dany username naplni privatni vlastnosti instance z databaze a vytvori seesion promene
    public function login($username, $pass, $loginName){

        if(isset ($loginName) && $loginName===''){//nelze se prihlasit s prazdnym prihlasovacim jmenem
            return LOGIN_USER_EMPTY;
        }

        $pass=md5($pass);
        if ($this->check($username, ($pass))){
            $this->selectUser($username);
            $_SESSION['partner']['username']=$username;
            $_SESSION['partner']['pass']=$pass;
            $_SESSION['partner']['loginName']=$loginName;
            return LOGIN_SUCCESSFUL;
        }
        else{
            return LOGIN_UNSUCCESSFUL;
        }

    }

    //provede odhlaseni uzivatele
    public function logout(){

        unset($_SESSION['partner']['username']);
        unset($_SESSION['partner']['pass']);
        unset($_SESSION['partner']['loginName']);
        
        return LOGOUT_SUCCESSFUL;
    }
}

?>

ACC SHELL 2018