This repository has been archived by the owner on Dec 1, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
User.php
108 lines (93 loc) · 2.24 KB
/
User.php
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
<?php
include_once "JsonHelper.php";
class User
{
private $username = "";
private $password = "";
private $jsonString = "";
private $jsonHelper;
static function fromFile($username)
{
$filename = "users/". $username . ".json";
$json = json_decode(file_get_contents($filename));
$username = $json->{'username'};
$password = $json->{'password'};
$jsonString = $json->{'jsonString'};
$user = new User($username, $password);
$user->setJSONString($jsonString);
return $user;
}
static function getCryptPassword($password, $saltFilename)
{
$salt = file_get_contents($saltFilename);
return crypt($password, $salt);
}
static function userExists($username)
{
if(file_exists(FileTools::getFileName($username)))
{
return true;
}
else
{
return false;
}
}
public function getHash()
{
return FileTools::getFileHash($this->username);
}
public function __construct($username, $password)
{
$this->username = $username;
$this->password = $password;
$this->jsonHelper = new JsonHelper($this);
}
public function setJSONString($jsonString)
{
$this->jsonString = $jsonString;
}
private function toJSON()
{
$json = array
(
"username" => $this->username,
"password" => $this->password,
"jsonString" => $this->jsonString,
);
return json_encode($json, JSON_PRETTY_PRINT);
}
public function addToJSON($jsonString)
{
$this->jsonHelper->addToJSON($jsonString);
}
public function save()
{
file_put_contents(FileTools::getFileName($this->username),$this->toJSON());
}
/**
* @return string
*/
public function getUsername()
{
return $this->username;
}
/**
* @return string
*/
public function getPassword()
{
return $this->password;
}
/**
* @return string
*/
public function getJsonString()
{
return $this->jsonString;
}
public function fromJSON($string)
{
return json_decode($string);
}
}