summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Häusler <msquare@notrademark.de>2011-07-13 14:30:19 +0200
committerPhilip Häusler <msquare@notrademark.de>2011-07-13 14:30:19 +0200
commit526b9783aa3fbf5d590789f084890ffb2a32977d (patch)
tree62cf75778eeef9e472b9ee6fb4ab30ebd04ef2de
parenteeff48ad97b42f16b80a5fb17553a409b94592c8 (diff)
#6 angels shifts
-rw-r--r--includes/pages/user_shifts.php57
-rw-r--r--templates/user_shifts.html24
2 files changed, 81 insertions, 0 deletions
diff --git a/includes/pages/user_shifts.php b/includes/pages/user_shifts.php
new file mode 100644
index 00000000..08e8f868
--- /dev/null
+++ b/includes/pages/user_shifts.php
@@ -0,0 +1,57 @@
+<?php
+function user_shifts() {
+ $shifts = sql_select("SELECT * FROM `Shifts` ORDER BY `start`");
+ $days = array ();
+ foreach ($shifts as $shift)
+ $days[] = date("Y-m-d", $shift['start']);
+ $days = array_unique($days);
+ if (count($days) == 0)
+ return "None";
+ $day = $days[0];
+ if (isset ($_REQUEST['day']))
+ $day = $_REQUEST['day'];
+
+ $rooms = sql_select("SELECT * FROM `Room` WHERE `show`='Y' ORDER BY `Name`");
+ if (count($rooms) == 0)
+ return "None";
+ $id = $rooms[0]['RID'];
+ if (isset ($_REQUEST['room_id']))
+ $id = $_REQUEST['room_id'];
+
+ $day_timestamp = DateTime :: createFromFormat("Y-m-d", $day)->getTimestamp();
+ $shifts = sql_select("SELECT * FROM `Shifts` WHERE `RID`=" . sql_escape($id) . " AND `start` >= " . sql_escape($day_timestamp) . " AND `start` < " . sql_escape($day_timestamp +24 * 60 * 60) . " ORDER BY `start`");
+
+ $shifts_table = "";
+ foreach ($shifts as $shift) {
+ $shifts_table .= '<tr><td>' . date("H:i", $shift['start']) . ' - ' . date("H:i", $shift['end']) . '</td></tr>';
+ }
+
+ return template_render('../templates/user_shifts.html', array (
+ 'room_select' => make_room_select($rooms, $id, $day),
+ 'day_select' => make_day_select($days, $day, $id),
+ 'shifts_table' => $shifts_table
+ ));
+}
+
+function make_day_select($days, $day, $id) {
+ $html = array ();
+ foreach ($days as $d) {
+ if ($day == $d)
+ $html[] = '<b>' . $d . '</b>';
+ else
+ $html[] = '<a href="' . page_link_to('user_shifts') . '&day=' . $d . '&room_id=' . $id . '">' . $d . '</a>';
+ }
+ return join(' | ', $html);
+}
+
+function make_room_select($rooms, $id, $day) {
+ $html = array ();
+ foreach ($rooms as $room) {
+ if ($room['RID'] == $id)
+ $html[] = '<b>' . $room['Name'] . '</b>';
+ else
+ $html[] = '<a href="' . page_link_to('user_shifts') . '&room_id=' . $room['RID'] . '&day=' . $day . '">' . $room['Name'] . '</a>';
+ }
+ return join(' | ', $html);
+}
+?> \ No newline at end of file
diff --git a/templates/user_shifts.html b/templates/user_shifts.html
new file mode 100644
index 00000000..4ea3781e
--- /dev/null
+++ b/templates/user_shifts.html
@@ -0,0 +1,24 @@
+<p>
+ Select room: %room_select%
+</p>
+<p>
+ Select day: %day_select%
+</p>
+<table>
+ <thead>
+ <tr>
+ <th>
+ Timeslot
+ </th>
+ <th>
+ Shift
+ </th>
+ <th>
+ Entries
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ %shifts_table%
+ </tbody>
+</table>