summaryrefslogtreecommitdiffstats
path: root/models/database.php
blob: 6229726db37a8d8b127b22f75b9b27859fbf902f (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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<?php

class Database {

	function connect() {
		include(SITE_ROOT . "/include/" . "config.inc.php");
		$handler = mysql_connect($db_host, $db_user, $db_pass);
		$db = mysql_select_db($db_name);

		if ($db) {
			return 0;
		} else {
			return 1;
		}
	}

	function checkUser($user, $pass) {

		$this->connect();
		$query = "SELECT pass FROM users WHERE user='" . $user . "'";
		$result = mysql_query($query);
		$row = mysql_fetch_row($result);

		/*
		 * User does not exists, create new one
		 */

		if (!$row) {

			/*
			 * Create user
			 */

			$query = "INSERT INTO users(user, pass) VALUES ('" . $user . "', '" . md5($pass) . "')";
			$result = mysql_query($query);

			/*
			 * Create empty highscore row
			 */

			$query = "INSERT INTO highscores (user, score, gamesplayed) VALUES ('$user', 0, 0)";
			$result = mysql_query($query);

			/*
			 * New user created
			 */

			return 2;

		} else {

			/*
			 * If user exists check his password
			 * 0 = match, 1 = no match
			 */

			return strcmp($row[0], md5($pass));

		}
	}

	function getHighscores() {
		$data = array();

		$handle = $this->connect();
		$query = "SELECT * FROM highscores";
		$result = mysql_query($query);

		while ($row = mysql_fetch_row($result)) {

			$user = $row[1];
			$score = $row[2];
			$gamesplayed = $row[3];

			$data[] = array($user, $score / $gamesplayed, $gamesplayed);

		}
		
		return $data;
	}

	function saveScore($user, $score) {
		$this->connect();
		if ($score > 21) $score = 0;

		/*
		 * Save highscore to database
		 */

		$query = "UPDATE highscores SET score = score + $score, gamesplayed = gamesplayed + 1 WHERE user = '$user'";
		$result = mysql_query($query);
	}

}