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;