From d63e7e9aad407f59364d20eb2d9f123ad1985f82 Mon Sep 17 00:00:00 2001 From: Philip Häusler Date: Mon, 12 Sep 2011 14:57:52 +0200 Subject: #5 fixed user_shifts needed angel types calculation --- includes/pages/admin_shifts.php | 10 +++++++--- includes/pages/user_shifts.php | 4 +++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/includes/pages/admin_shifts.php b/includes/pages/admin_shifts.php index af88b2d2..bcb0a809 100644 --- a/includes/pages/admin_shifts.php +++ b/includes/pages/admin_shifts.php @@ -217,12 +217,16 @@ function admin_shifts() { header("Location: ?p=admin_shifts"); die(); } - + foreach ($_SESSION['admin_shifts_shifts'] as $shift) { - foreach ($_SESSION['admin_shifts_types'] as $type) { - + sql_query("INSERT INTO `Shifts` SET `start`=" . sql_escape($shift['start']) . ", `end`=" . sql_escape($shift['end']) . ", `RID`=" . sql_escape($shift['RID']) . ", `name`='" . sql_escape($shift['name']) . "'"); + $shift_id = sql_id(); + foreach ($_SESSION['admin_shifts_types'] as $type_id => $count) { + sql_query("INSERT INTO `NeededAngelTypes` SET `shift_id`=" . sql_escape($shift_id) . ", `angel_type_id`=" . sql_escape($type_id) . ", `count`=" . sql_escape($count)); } } + + $msg = success("Schichten angelegt."); } else { unset ($_SESSION['admin_shifts_shifts']); unset ($_SESSION['admin_shifts_types']); diff --git a/includes/pages/user_shifts.php b/includes/pages/user_shifts.php index d5367073..081a2280 100644 --- a/includes/pages/user_shifts.php +++ b/includes/pages/user_shifts.php @@ -98,7 +98,9 @@ function user_shifts() { foreach ($shifts as $shift) { $shift_row = '' . date(($id == 0 ? "Y-m-d " : "") . "H:i", $shift['start']) . ' - ' . date("H:i", $shift['end']) . ($id == 0 ? "
" . $shift['Name'] : "") . '' . $shift['name'] . '
'; $show_shift = false; - $angeltypes = sql_select("SELECT * FROM `NeededAngelTypes` JOIN `AngelTypes` ON (`NeededAngelTypes`.`angel_type_id` = `AngelTypes`.`TID`) WHERE `room_id`=" . sql_escape($shift['RID']) . " AND `count` > 0 ORDER BY `AngelTypes`.`Name`"); + $angeltypes = sql_select("SELECT * FROM `NeededAngelTypes` JOIN `AngelTypes` ON (`NeededAngelTypes`.`angel_type_id` = `AngelTypes`.`TID`) WHERE `shift_id`=" . sql_escape($shift['SID']) . " AND `count` > 0 ORDER BY `AngelTypes`.`Name`"); + if (count($angeltypes) == 0) + $angeltypes = sql_select("SELECT * FROM `NeededAngelTypes` JOIN `AngelTypes` ON (`NeededAngelTypes`.`angel_type_id` = `AngelTypes`.`TID`) WHERE `room_id`=" . sql_escape($shift['RID']) . " AND `count` > 0 ORDER BY `AngelTypes`.`Name`"); if (count($angeltypes) > 0) { $my_shift = sql_num_query("SELECT * FROM `ShiftEntry` WHERE `SID`=" . sql_escape($shift['SID']) . " AND `UID`=" . sql_escape($user['UID']) . " LIMIT 1") > 0; -- cgit v1.2.3-54-g00ecf