api export for all shifts
parent
9a1ffdf198
commit
ad5899f028
@ -0,0 +1,35 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns all needed angeltypes and already taken needs.
|
||||||
|
*
|
||||||
|
* @param Shift $shift
|
||||||
|
*/
|
||||||
|
function NeededAngelTypes_by_shift($shift) {
|
||||||
|
$needed_angeltypes_source = sql_select("
|
||||||
|
SELECT `NeededAngelTypes`.*, `AngelTypes`.`name`, `AngelTypes`.`restricted`
|
||||||
|
FROM `NeededAngelTypes`
|
||||||
|
JOIN `AngelTypes` ON `AngelTypes`.`id` = `NeededAngelTypes`.`angel_type_id`
|
||||||
|
WHERE `shift_id`=" . sql_escape($shift['SID']) . "
|
||||||
|
OR `room_id`=" . sql_escape($shift['RID']) . "
|
||||||
|
ORDER BY `room_id` DESC
|
||||||
|
");
|
||||||
|
if ($needed_angeltypes === false)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
$needed_angeltypes = array();
|
||||||
|
foreach ($needed_angeltypes_source as $angeltype)
|
||||||
|
$needed_angeltypes[$angeltype['id']] = $angeltype;
|
||||||
|
|
||||||
|
foreach ($needed_angeltypes as &$angeltype) {
|
||||||
|
$shift_entries = ShiftEntries_by_shift_and_angeltype($shift['SID'], $angeltype['id']);
|
||||||
|
if ($shift_entries === false)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
$angeltype['taken'] = count($shift_entries);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $needed_angeltypes;
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
@ -0,0 +1,17 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns all shift entries in given shift for given angeltype.
|
||||||
|
* @param int $shift_id
|
||||||
|
* @param int $angeltype_id
|
||||||
|
*/
|
||||||
|
function ShiftEntries_by_shift_and_angeltype($shift_id, $angeltype_id) {
|
||||||
|
return sql_select("
|
||||||
|
SELECT *
|
||||||
|
FROM `ShiftEntries`
|
||||||
|
WHERE `SID`=" . sql_escape($shift_id) . "
|
||||||
|
AND `TID`=" . sql_escape($angeltype_id) . "
|
||||||
|
");
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
@ -0,0 +1,24 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns all shifts with needed angeltypes and count of subscribed jobs.
|
||||||
|
*/
|
||||||
|
function Shifts() {
|
||||||
|
$shifts_source = sql_select("
|
||||||
|
SELECT `Shifts`.*, `Room`.`RID`, `Room`.`Name` as `room_name`
|
||||||
|
FROM `Shifts`
|
||||||
|
JOIN `Room` ON `Room`.`RID` = `Shifts`.`RID`
|
||||||
|
");
|
||||||
|
if ($shifts_source === false)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
foreach ($shifts_source as &$shift) {
|
||||||
|
$needed_angeltypes = NeededAngelTypes_by_shift($shift);
|
||||||
|
if ($needed_angeltypes === false)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
$shift['angeltypes'] = $needed_angeltypes;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
Binary file not shown.
Loading…
Reference in New Issue