summaryrefslogtreecommitdiff
path: root/www/functions/func_login.php
blob: 9deb27b4614dcf033139679bc65c1119a5f58cbc (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
<?php
function login($db){

        /*___Database Query: Login___*/
	$username = $_POST["username"];
        $password = $_POST["password"];
        $safe_username = SQLite3::escapeString("$username");

	$pepper = file_get_contents("../database/pepper.txt");
	$password = $password . $pepper;

	$real_password = "";

        $real_password_db = $db->query("SELECT password FROM user WHERE name='" . $safe_username . "';");
        while($real_password_array = $real_password_db->fetchArray(SQLITE3_NUM)){
        	foreach($real_password_array as $secondelement){
                	$real_password=$secondelement;
                }   
	}   

        /*___Login___*/
        if (!password_verify($password, $real_password)) {
		return LOGIN_PASSWORD;
	}

        if($db->exec("
        	BEGIN TRANSACTION;
                INSERT INTO log (id, user, login) VALUES (NULL, (SELECT id FROM user WHERE name='" . $username . "'), (SELECT datetime()) );
                COMMIT;
	")){

		$id = user_id($db, $username);

                $_SESSION["login"] = true;
                $_SESSION["username"] = $username;
		$_SESSION["userid"] = $id;

		return LOGIN_SUCCESSFULL; 

	} else {
		return LOGIN_DATABASE;
	}   
}

function logout(){
        
	if(session_destroy()){
                return LOGOUT_SUCCESSFULL;
        } else {
                return LOGOUT_FAILURE;
        }   
}