aboutsummaryrefslogtreecommitdiff
path: root/app/class/modeluser.php
blob: a0f09669695d9224ccab7a6ed0bc2c832a8f91ee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<?php

class Modeluser extends Model
{
    const ADMIN = 10;
    const EDITOR = 3;
    const INVITE = 2;
    const READ = 1;
    const FREE = 0;


    public function writesession(User $user)
    {
        $_SESSION['user' . Config::basepath()] = ['level' => $user->level()];
    }

    public function readsession()
    {
        $userdatas = [];
        if (array_key_exists('user' . Config::basepath(), $_SESSION)) {
            $userdatas = $_SESSION['user' . Config::basepath()];
        }
        $user = new User($userdatas);
        return $user;
    }

    public function login($pass)
    {
        $user = new User(['level' => $this->passlevel($pass)]);
        return $user;
    }

    public function passlevel($pass)
    {
        if (strip_tags($pass) == Config::admin()) {
            return $level = self::ADMIN;
        } elseif (strip_tags($pass) == Config::read()) {
            return $level = self::READ;
        } elseif (strip_tags($pass) == Config::editor()) {
            return $level = self::EDITOR;
        } elseif ($this->invitetest(strip_tags($pass))) {
            return $level = self::INVITE;
        } else {
            return $level = self::FREE;
        }
    }

    public function invitetest($pass)
    {
        $invitepasslist = [];
        if (in_array($pass, $invitepasslist)) {
            return true;
        } else {
            return false;
        }
    }

    public function logout()
    {
        $user = new User(['level' => self::FREE]);
        return $user;
    }
}






?>