-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathindex.php
105 lines (82 loc) · 2.88 KB
/
index.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
<?php
require_once 'classes/Session.php';
require_once 'classes/User.php';
require_once 'classes/EmailVerification.php';
require_once 'classes/Project.php';
require_once 'classes/Notification.php';
require_once 'classes/Settings.php';
require_once 'classes/Email.php';
$result = Array(
'status' => FALSE,
'msg' => ''
);
function update_result($status_array) {
list($result['status'], $result['msg']) = $status_array;
return $result;
}
function function_dispatcher($function) {
if (isset($_POST['sess'])) {
$session = Session::getInstance();
$session->create($_POST['sess']);
}
switch ($function) {
case 'check-session':
return update_result(assert_login());
case 'validate-user':
return update_result(validate_user($_POST['data']));
case 'validate-email':
return update_result(validate_email($_POST['data']));
case 'login':
return update_result(login_user($_POST['username'], $_POST['password']));
case 'register-user':
return
update_result(
register_user(
$_POST['username'],
$_POST['password'],
$_POST['email']
)
);
case 'verify-email':
return update_result(verify_email($_POST['code']));
case 'register-teams':
return update_result(register_teams($_POST['data']));
case 'subscribe-task':
case 'unsubscribe-task':
return
update_result(
toggle_subscription(
$_POST['task_id'],
$_POST['team_id'],
$function
)
);
case 'subscribe-notification':
case 'unsubscribe-notification':
return
update_result(
toggle_notification(
$_POST['notification_desc'],
$function
)
);
case 'update-settings':
return
update_result(
upsert_setting(
$_POST['setting_name'],
$_POST['setting_value']
)
);
case 'fetch-user-data':
return update_result(fetch_user_data());
default:
return update_result(Array(FALSE, 'INVALID_FUNCTION'));
}
}
if ($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_POST['func'])) {
$result = function_dispatcher($_POST['func']);
}
# Return the content in JSON format
header('Content-type: application/json');
die(json_encode($result));