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 .= '
' . date("H:i", $shift['start']) . ' - ' . date("H:i", $shift['end']) . ' |
';
+ $shifts_table .= '' . date("H:i", $shift['start']) . ' - ' . date("H:i", $shift['end']) . ' | ' . $shift['name'] . ' ';
+ $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 .= '' . $angeltype['Name'] . ': ';
+ $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[] = ''.($angeltype['count'] - count($entries)) . ' missing »';
+ $shifts_table .= join(", ", $entry_list);
+ $shifts_table .= ' ';
+ }
+ }
+ $shifts_table .= ' |
';
}
return template_render('../templates/user_shifts.html', array (
diff --git a/includes/sys_template.php b/includes/sys_template.php
index 922010fd..92e6e674 100644
--- a/includes/sys_template.php
+++ b/includes/sys_template.php
@@ -18,7 +18,7 @@ function template_render($file, $data) {
function shorten($str) {
if (strlen($str) < 50)
return $str;
- return substr($str, 0, 47) . '...';
+ return '' . substr($str, 0, 47) . '...';
}
function table_body($array) {
diff --git a/templates/user_shifts.html b/templates/user_shifts.html
index 4ea3781e..8d4ed12a 100644
--- a/templates/user_shifts.html
+++ b/templates/user_shifts.html
@@ -10,9 +10,6 @@
Timeslot
|
-
- Shift
- |
Entries
|