diff options
author | Philip Häusler <msquare@notrademark.de> | 2011-07-13 15:01:17 +0200 |
---|---|---|
committer | Philip Häusler <msquare@notrademark.de> | 2011-07-13 15:01:17 +0200 |
commit | 1bb1997e04394a59c85ea24668a42a713f3fb306 (patch) | |
tree | 4f3b21ab52f522ff27e199c81978bdb154ee706a | |
parent | 526b9783aa3fbf5d590789f084890ffb2a32977d (diff) |
#6 browse shifts
-rw-r--r-- | includes/pages/user_shifts.php | 17 | ||||
-rw-r--r-- | includes/sys_template.php | 2 | ||||
-rw-r--r-- | 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 .= '<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 ( 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 '<span title="' . htmlentities($str, ENT_COMPAT, 'UTF-8') . '">' . substr($str, 0, 47) . '...</span>'; } 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 @@ -11,9 +11,6 @@ Timeslot </th> <th> - Shift - </th> - <th> Entries </th> </tr> |