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
|
<?php
use app\controllers\Auth;
use app\controllers\Classroom_user;
/** User Connection Management Routes
* -----------------------------------------------------------------------------
*/
// common requests (GET method)
// --- -- -- - - -
// request login ... -> then sends to POST:/account/check-login
Route::add('/login', function() { Render::view('user/login'); });
// request logout
Route::add('/logout', function() {
Auth::logout();
header('Location: /'); die();
});
// request activation (from invitation page; POST:form is sent)
Route::add('/account/activate', function() { Auth::activate(); }, 'post');
// request password reset
Route::add('/account/reset_password', function() { Auth::reset_password(); } );
// invite some users
Route::add('/invite', function() {
Auth::allowRoles([1, 2, 3]);
Render::view('admin/invite');
});
Route::add('/panel', function() {
Render::json(['connected' => Auth::is_connected()]);
});
// Replies to common requests (POST method)
// --- -- -- - - -
// user sends login form
Route::add('/account/check-login', function() {
$response = Auth::login();
Render::json(['status' => $response]);
},
'post'
);
// user sends a registration form
Route::add('/account/register', function() {
$response = Auth::register();
Render::json($response);
},'post');
// Account Management
// --- -- -- - - -
// user profile
Route::add('/account/profile', function() {
$user = Auth::is_connected();
if ($user === false) {
Render::view('error/general',
[
'title' => 'Nope!',
'message' => "<h2>No profile</h2>User is not connected"
]
);
} else {
Render::json(['success' => true, 'status' => 'user is connected']);
}
}
);
// temporary (on development)
// --- -- -- - --
// NOTE: these is only for testing purposes
// test connection
if (!PRODUCTION) {
Route::add('/check/connection', function() { Auth::is_connected(); });
}
|