summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Häusler <msquare@notrademark.de>2011-07-13 15:01:17 +0200
committerPhilip Häusler <msquare@notrademark.de>2011-07-13 15:01:17 +0200
commit1bb1997e04394a59c85ea24668a42a713f3fb306 (patch)
tree4f3b21ab52f522ff27e199c81978bdb154ee706a
parent526b9783aa3fbf5d590789f084890ffb2a32977d (diff)
#6 browse shifts
-rw-r--r--includes/pages/user_shifts.php17
-rw-r--r--includes/sys_template.php2
-rw-r--r--templates/user_shifts.html3
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 &raquo;</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>