-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathapi_race_entry.php
117 lines (104 loc) · 4.28 KB
/
api_race_entry.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
106
107
108
109
110
111
112
113
114
115
116
117
<?
// Date in the past
header("Expires: " . gmdate("D, d M Y H:i:s") . " GMT");
// always modified
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
// HTTP/1.1
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
// HTTP/1.0
header("Pragma: no-cache");
?>
<? define("__HIDE_TEST__", "_KeAr_PHP_WEB_"); ?>
<?
require_once ('timestamp.inc.php');
require_once('cfg/_globals.php');
require_once ('connect.inc.php');
require_once ('./version.inc.php');
require_once ('common.inc.php');
require_once ('common_rg_race.inc.php');
db_Connect();
require_once ('common_race.inc.php');
require_once ('url.inc.php');
require_once ('functions.php');
$race_id = $_GET['id_race'];
$data = array(); //variable for return in json
$userSelected = (isset($_GET['id_user']));
if ($userSelected) {
// user selected
$id_user = $_GET['id_user'];
// now select what to do with user
$action = (isset($_GET['action'])) ? $_GET['action'] : 'detail';
switch ($action) {
case 'participate':
//id_race=X&id_user=X&action=participate
$query="UPDATE ".TBL_ZAVXUS." zu SET participated = not(if(zu.participated is null or zu.participated = 0, 0, 1)) where id_zavod = $race_id and id_user = (select id from ".TBL_USER." where id = '$id_user')";
@$result=$db_conn->query($query);
$data = $db_conn->affected_rows;
break;
case 'entryByFin':
//id_race=X&id_user=X&action=entryByFin
$query="SELECT id FROM ".TBL_ZAVXUS." WHERE id_user = (select id from ".TBL_USER." where id = '$id_user') and id_zavod = '$race_id' and add_by_fin = 1;";
if (mysqli_num_rows($db_conn->query($query)) > 0) {
//zaznam v db existuje, pozadavek na smazani
$query="DELETE FROM ".TBL_ZAVXUS." WHERE id_user = (select id from ".TBL_USER." where id = '$id_user') and id_zavod = '$race_id' and add_by_fin = 1;";
@$result=$db_conn->query($query);
$data = 'deleted:'.$db_conn->affected_rows;
} else {
$kat = isset($_GET['kat']) ? $_GET['kat'] : '';
$pozn = '';
$pozn2 = 'vlozeno financnikem na miste';
$termin = 0;
$transport = 0;
$ubytovani = 0;
$participated = 1;
$addByFin = 1;
$query="INSERT INTO ".TBL_ZAVXUS." (id_user, id_zavod, kat, pozn, pozn_in, termin, transport, ubytovani, participated, add_by_fin) VALUES ((select id from ".TBL_USER." where id = '$id_user'), '$race_id', '$kat', '$pozn', '$pozn2', '$termin', '$transport', '$ubytovani', '$participated', '$addByFin');";
@$result=$db_conn->query($query);
$data = 'inserted:'.$db_conn->affected_rows;
}
break;
case 'detail':
default:
// return entry detail about user in race
$query="select * from ".TBL_ZAVXUS." z where id_zavod = $race_id and id_user = (select id from ".TBL_USER." where id = '$id_user')";
@$result=$db_conn->query($query);
$data = mysqli_fetch_array($result);
break;
}
} else {
$action = (isset($_GET['action'])) ? $_GET['action'] : 'detail';
switch ($action) {
case 'accomodation':
$query="SELECT sort_name as `name`, adresa, mesto, psc from ".TBL_ZAVXUS." zu join ".TBL_USER." u on u.id = zu.id_user where id_zavod = $race_id and (zu.participated = 1 or zu.participated is null) and u.hidden = 0";
@$result=$db_conn->query($query);
if (mysqli_num_rows($result) > 0) {
while ($record=mysqli_fetch_row($result)) {
$data[] = implode(";", $record);
}
} else {
$data = 'empty';
// empty request
}
break;
case 'uncheckAll':
$query="update ".TBL_ZAVXUS." set participated = 0 where id_zavod = $race_id and (participated = 1 or participated is null)";
@$result=$db_conn->query($query);
$data = 'unchecked all checked attendance';
break;
case 'detail':
default:
$query="SELECT sort_name as `name`, reg, u.id as id_user, zu.id as id, kat, if(zu.participated is null or zu.participated = 1, 1, 0) as participated, if(zu.add_by_fin is null or zu.add_by_fin = 0, 0, 1) as add_by_fin FROM ".TBL_USER." u left join ".TBL_ZAVXUS." zu on u.id=zu.id_user and zu.id_zavod = $race_id where u.hidden = 0 order by zu.kat desc, u.sort_name asc";
@$result=$db_conn->query($query);
if (mysqli_num_rows($result) > 0) {
while ($record=mysqli_fetch_array($result)) {
$data[] = $record;
}
} else {
$data = 'empty';
// empty request
}
break;
}
}
echo (json_encode($data));