diff options
Diffstat (limited to 'includes/pages/user_shifts.php')
-rw-r--r-- | includes/pages/user_shifts.php | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/includes/pages/user_shifts.php b/includes/pages/user_shifts.php index 08e8f868..979339c3 100644 --- a/includes/pages/user_shifts.php +++ b/includes/pages/user_shifts.php @@ -15,7 +15,7 @@ function user_shifts() { if (count($rooms) == 0) return "None"; $id = $rooms[0]['RID']; - if (isset ($_REQUEST['room_id'])) + if (isset ($_REQUEST['room_id']) && preg_match("/^[0-9]*$/", $_REQUEST['room_id'])) $id = $_REQUEST['room_id']; $day_timestamp = DateTime :: createFromFormat("Y-m-d", $day)->getTimestamp(); @@ -23,7 +23,20 @@ function user_shifts() { $shifts_table = ""; foreach ($shifts as $shift) { - $shifts_table .= '<tr><td>' . date("H:i", $shift['start']) . ' - ' . date("H:i", $shift['end']) . '</td></tr>'; + $shifts_table .= '<tr><td>' . date("H:i", $shift['start']) . ' - ' . date("H:i", $shift['end']) . '</td><td>' . $shift['name'] . '<br />'; + $angeltypes = sql_select("SELECT * FROM `RoomAngelTypes` JOIN `AngelTypes` ON (`RoomAngelTypes`.`angel_type_id` = `AngelTypes`.`TID`) WHERE `room_id`=" . sql_escape($id) . " AND `count` > 0 ORDER BY `AngelTypes`.`Name`"); + if (count($angeltypes)) { + foreach ($angeltypes as $angeltype) { + $shifts_table .= '<b>' . $angeltype['Name'] . ':</b> '; + $entries = sql_select("SELECT * FROM `ShiftEntry` JOIN `User` ON (`ShiftEntry`.`UID` = `User`.`UID`) WHERE `SID`=" . sql_escape($shift['SID']) . " AND `TID`=" . sql_escape($angeltype['TID']) . " ORDER BY `Nick`"); + $entry_list = array (); + if ($angeltype['count'] - count($entries) > 0) + $entry_list[] = '<a href="">'.($angeltype['count'] - count($entries)) . ' missing »</a>'; + $shifts_table .= join(", ", $entry_list); + $shifts_table .= '<br />'; + } + } + $shifts_table .= '</td></tr>'; } return template_render('../templates/user_shifts.html', array ( |