summaryrefslogtreecommitdiff
path: root/public/app/routes/user.php
blob: 26483f4c5b5fa91fea72ec40539bdbb12b341318 (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
95
96
97
98
99
100
101
<?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() {
    if (Auth::is_connected()) { header('Location: /panel');
    } else {
        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::view('user/panel');
    // Render::json([
    //     'connected' => Auth::is_connected(),
    //     'user' => Auth::user_data(),
    // ]);
});


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

}