-
Notifications
You must be signed in to change notification settings - Fork 0
/
admin.php
133 lines (84 loc) · 2.49 KB
/
admin.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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<?php
use \Hcode\PageAdmin;
use \Hcode\Model\User;
//Rota admin Quando estiver logado - Início
$app->get('/admin', function() {
User::verifyLogin();
$page = new PageAdmin();
$page->setTpl("index");
});
////Rota admin Tela de Login => Página de login o footer,header e conteudo não estão separados
$app->get('/admin/login', function() {
//desabilito o header e o footer padrão
$page = new PageAdmin([
"header"=>false,
"footer"=>false
]);
$page->setTpl("login");
});
//Post login admin
$app->post('/admin/login', function() {
//método estático da classe User chamando a função login
User::login($_POST["login"], $_POST["password"]);
//Se ele não der erro ele redireciona para a homepage da administração
header("Location: /admin");
exit;
});
$app->get('/admin/logout', function() {
User::logout();
header("Location: /admin/login");
exit;
});
/*ADMIN ESQUECEU A SENHA*/
//Rota página forgot
$app->get('/admin/forgot', function() {
$page = new PageAdmin([
"header"=>false,
"footer"=>false
]);
$page->setTpl("forgot");
});
//Post pagina forgot
$app->post('/admin/forgot', function() {
$user = User::getForgot($_POST["email"]);
header("Location: /admin/forgot/sent");
exit;
});
//Rota email enviado
$app->get('/admin/forgot/sent',function(){
$page = new PageAdmin([
"header"=>false,
"footer"=>false
]);
$page->setTpl("forgot-sent");
});
$app->get("/admin/forgot/reset", function(){
$user = User::validForgotDecrypt($_GET["code"]);
$page = new PageAdmin([
"header"=>false,
"footer"=>false
]);
$page->setTpl("forgot-reset", array(
"name"=>$user["desperson"],
"code"=>$_GET["code"]
));
});
$app->post("/admin/forgot/reset", function(){
$forgot = User::validForgotDecrypt($_POST["code"]);
User::setForgotUsed($forgot["idrecovery"]);
$user = new User();
$user->get((int)$forgot["iduser"]);
//cost é a força da criptografia, porém quanto maior o valor, necessita de mais processamento do servidorm portanto 12 é um numero bom
$password = password_hash($_POST["password"], PASSWORD_DEFAULT, [
"cost"=>12
]);
//Como precisamos fazer o hash, então temos que criar esse set, pois no modelo que temos que gera automaticamente não é possível fazer isso
$user->setPassword($password);
$page = new PageAdmin([
"header"=>false,
"footer"=>false
]);
//forgot-reset-success é o nome do arquivo; Como não preciso de variável nenhuma nessa pagina (post ou get) então não preciso de array
$page->setTpl("forgot-reset-success");
});
?>