-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtrips_ajax.php
91 lines (74 loc) · 3.01 KB
/
trips_ajax.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
<?php
session_start();
require_once 'functions/functions.php';
require_once 'functions/database.php';
function get_upcoming_drives($user_id, $data) {
$drives = database\get_drives_for($user_id);
functions\json_respond(
'OK', 'Query Performed!', array("drives" => $drives));
}
function get_requests_for_trip($user_id, $data) {
$trip = database\get_trip($data['trip_id']);
if ($trip['driver_id'] != $user_id)
return functions\json_respond('ERROR', 'Unauthorized access!');
$requests = database\get_requests_for_trip($data['trip_id']);
functions\json_respond(
'OK', 'Query performed!', array("requests" => $requests));
}
function get_spots_remaining_for_trip($user_id, $data) {
$trip = database\get_trip($data['trip_id']);
$out = array(
"spots_remaining" => $trip['spots'] - $trip['spots_taken'],
"spots_taken" => intval($trip['spots_taken']));
functions\json_respond('OK', 'Query performed', $out);
}
function get_rides($user_id, $data) {
$rides = database\get_rides_for($user_id);
functions\json_respond('OK', 'Query performed', array("rides" => $rides));
}
function update_ride_request_status($driver_id, $data) {
$trip = database\get_trip($data['trip_id']);
if ($trip['driver_id'] != $driver_id)
return functions\json_respond('ERROR', 'Unauthorized access!');
$spots_remaining = database\update_ride_request_status(
$data['user_id'], $data['trip_id'],$data['status']);
if ($spots_remaining < 0)
return functions\json_respond('ERROR', 'Insufficient spots!');
functions\json_respond(
'OK', 'Query performed!', array("spots_remaining" => $spots_remaining));
}
function request_post($data) {}
if ($_GET) {
// Get logged in user
$logged_in_user = user\get_logged_in_user();
if (!$logged_in_user)
return functions\json_respond('ERROR', 'Login required!');
$user_id = $logged_in_user['id'];
// Decode json data
$data = json_decode($_GET['data'], true);
$method = $_GET['method'];
// Call appropriate method
if ($method == 'get_upcoming_drives')
return get_upcoming_drives($user_id, $data);
else if ($method == 'get_requests_for_trip')
return get_requests_for_trip($user_id, $data);
else if ($method == 'get_spots_remaining_for_trip')
return get_spots_remaining_for_trip($user_id, $data);
else if ($method == 'get_rides')
return get_rides($user_id, $data);
else
return functions\json_respond('ERROR', 'Unknown method!');
} elseif ($_POST) {
// Get logged in user
$logged_in_user = user\get_logged_in_user();
if (!$logged_in_user)
return functions\json_respond('ERROR', 'Login required!');
$user_id = $logged_in_user['id'];
// Decode json data
$data = json_decode($_POST['data'], true);
$method = $_POST['method'];
if ($method == 'update_ride_request_status')
return update_ride_request_status($user_id, $data);
else
return functions\json_respond('ERROR', 'Unknown method!');
}