From 1bb1997e04394a59c85ea24668a42a713f3fb306 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philip=20H=C3=A4usler?= Date: Wed, 13 Jul 2011 15:01:17 +0200 Subject: [PATCH] #6 browse shifts --- includes/pages/user_shifts.php | 17 +++++++++++++++-- includes/sys_template.php | 2 +- templates/user_shifts.html | 3 --- 3 files changed, 16 insertions(+), 6 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 .= '' . 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