summaryrefslogtreecommitdiff
path: root/public/app/routes/user.php
blob: 7ad0fa6af546dc58b6187fa1ffc96e673ab41faf (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
<?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 registration ... -> then sends to POST:/account/register
Route::add('/registration', function() { Render::view('user/registration'); });

// request logout
Route::add('/logout', function() {
    Auth::logout();
    header('Location: /');  die();
});

// request activation
Route::add('/account/activate', function() { Auth::activate(); } );

// request password reset
Route::add('/account/reset_password', function() { Auth::reset_password(); } );



// 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(); });
}