-
Notifications
You must be signed in to change notification settings - Fork 0
/
classes.php
124 lines (97 loc) · 2.67 KB
/
classes.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
118
119
120
121
122
123
124
<?php
require_once 'setup.php';
/* Creates a barn and assigns it to the given event. */
function createClass($divId, $className) {
$division = R::load(DIVISION, $divId);
if ($division->id == 0) {
throw new Exception('Invalid division id.');
exit();
}
$class = R::dispense(SHOWCLASS);
$class->name = $className;
$id = R::store($class);
$division->ownClass[] = $class;
R::store($division);
return $id;
}
function addRider($eventId, $classId, $riderId, $horseName) {
$event = R::load(EVENT, $eventId);
if (!$event->id) {
throw new Exception('Invalid event id: '.$eventId);
}
$class = R::load(SHOWCLASS, $classId);
if (!$class->id) {
throw new Exception('Invalid class id: '.$classId);
}
$rider = R::load(USER, $riderId);
if (!$rider->id) {
throw new Exception('Invalid rider id: '.$riderId);
}
$participation = R::dispense(PARTICIPATION);
$participation->rider = $rider;
$participation->horse = $horseName;
R::store($participation);
$class->ownParticipation[] = $participation;
R::store($class);
$event->sharedUser[] = $rider;
R::store($event);
return $class->id;
}
function setClassTime($classId, $starttime) {
$class = R::load(SHOWCLASS, $classId);
if (!$class->id) {
throw new Exception('Invalid class id: '.$classId);
}
$class->starttime = $starttime;
R::store($class);
return $class->id;
}
function getClassParticipants($participationIds) {
if ($participationIds == null) {
return;
}
$participations = array();
foreach($participationIds as $key => $value) {
$participation = R::load(PARTICIPATION, $value['id']);
if (!$participation->id) {
continue;
}
$rider = R::load(USER, $participation->rider_id);
$participations[] = array(ID => $participation->id,
PARTICIPATION_RIDER => $rider->id ? loadBasicUserInfo($rider) : null,
PARTICIPATION_HORSE => $participation->horse,
PARTICIPATION_RANK => $participation->rank);
}
return $participations;
}
function postRankings($classId, $rankings) {
$class = R::load(SHOWCLASS, $classId);
if (!$class->id) {
return null;
}
$participations = R::exportAll($class->ownParticipation);
if ($participations == null) {
return null;
}
foreach($rankings as $key => $value) {
$riderId = $value->id;
$rank = $value->rank;
if ($riderId == null || $rank == null) {
return null;
}
$rider = R::load(USER, $riderId);
if (!$rider->id) {
continue;
}
foreach($participations as $participationGetter) {
$participation = R::load(PARTICIPATION, $participationGetter[ID]);
if ($participation->rider_id == $riderId) {
$participation->rank = $rank;
R::store($participation);
break;
}
}
}
return R::store($class);
}
?>