All checks were successful
		
		
	
	Build and push / Pulling repo on server (push) Successful in 3s
				
		
			
				
	
	
		
			72 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php 
 | 
						|
 | 
						|
class User extends Model {
 | 
						|
    protected $dbTable = "users";
 | 
						|
    protected $dbFields = Array (
 | 
						|
        'uuid' =>       ['type'=>'text','required','unique','autoValMethod'=>'gen_ulid'],
 | 
						|
        'password' =>   ['type'=>'text'],
 | 
						|
        'registered' => ['type'=>'datetime','required','autoValMethod'=>'getDateTime'],
 | 
						|
        'email' =>      ['type'=>'email','unique'],
 | 
						|
        'firstname' =>  ['type'=>'text'],
 | 
						|
        'lastname' =>   ['type'=>'text'],
 | 
						|
        'birthday' =>   ['type' => 'text'],
 | 
						|
        'club' =>       ['type'=>'text'],
 | 
						|
        'last_login' => ['type'=>'datetime','required','unique','autoValMethod'=>'getDateTime'],
 | 
						|
        'token' =>      ['type'=>'text','required','unique','autoValMethod'=>'uuid4'],
 | 
						|
        'timezone' =>   ['type'=>'int'],
 | 
						|
        'dogs' =>       ['type'=> 'array','default'=>[]],
 | 
						|
        'tournaments' =>       ['type'=> 'array','default'=>[]],
 | 
						|
        'photo' =>   ['type'=>'text','default'=>'https://pictshare.net/pj7vzx.jpg'],
 | 
						|
        'active' =>   ['type'=>'int','default'=>0]
 | 
						|
    );
 | 
						|
    protected $hidden = ['password','token'];
 | 
						|
 | 
						|
    function login()
 | 
						|
    {
 | 
						|
        if(!$this->id) return false;
 | 
						|
        $this->load();
 | 
						|
        $this->last_login = $this->getDateTime();
 | 
						|
        $this->save();
 | 
						|
 | 
						|
        $_SESSION['user'] = $this;
 | 
						|
        $_SESSION['userid'] = $this->id;
 | 
						|
    }
 | 
						|
 | 
						|
    function logout()
 | 
						|
    {
 | 
						|
        if(!$this->id) return false;
 | 
						|
        unset($_SESSION['user']);
 | 
						|
    }
 | 
						|
 | 
						|
    function removeDog($dogid)
 | 
						|
    {
 | 
						|
        if(!$this->id) return false;
 | 
						|
        if (in_array($dogid, $this->data['dogs']))
 | 
						|
        {
 | 
						|
            $this->data['dogs'] = array_diff($this->data['dogs'],[$dogid]);
 | 
						|
            $this->save();
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    function getAll($filtered = true)
 | 
						|
    {
 | 
						|
        $keys = $GLOBALS['redis']->keys($this->dbTable.':*');
 | 
						|
        $users = [];
 | 
						|
        foreach($keys as $key)
 | 
						|
        {
 | 
						|
            $id = end(explode(':',$key));
 | 
						|
            $u = new User();
 | 
						|
            $u->load($id);
 | 
						|
            if($filtered===true)
 | 
						|
                $thisdata = $u->getDataFiltered();
 | 
						|
            else
 | 
						|
                $thisdata = $u->data;
 | 
						|
 | 
						|
            $thisdata['id'] = $id;
 | 
						|
            
 | 
						|
            $users[] = $thisdata;
 | 
						|
        }
 | 
						|
        return $users;
 | 
						|
    }
 | 
						|
    
 | 
						|
} |