From 505ad98e33b778ee4ba186d945f4e94cf9083db1 Mon Sep 17 00:00:00 2001 From: Philip Häusler Date: Sat, 19 May 2012 17:50:09 +0200 Subject: #51 fix problems with changing needed angeltypes in rooms --- includes/pages/admin_rooms.php | 20 +++++++++++--------- includes/pages/user_shifts.php | 22 +++++++++++++--------- 2 files changed, 24 insertions(+), 18 deletions(-) diff --git a/includes/pages/admin_rooms.php b/includes/pages/admin_rooms.php index c1f00387..160316c6 100644 --- a/includes/pages/admin_rooms.php +++ b/includes/pages/admin_rooms.php @@ -67,21 +67,23 @@ function admin_rooms() { else $ok = false; - foreach ($angeltypes as $angeltype_id => $angeltype) - if (isset ($_REQUEST['angeltype_count_' . $angeltype_id]) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['angeltype_count_' . $angeltype_id])) - $angeltypes_count[$angeltype_id] = $_REQUEST['angeltype_count_' . $angeltype_id]; - else { - $ok = false; - $msg .= error(sprintf("Please enter needed angels for type %s.", $angeltype), true); + foreach ($angeltypes as $angeltype_id => $angeltype) { + if (isset ($_REQUEST['angeltype_count_' . $angeltype_id]) && preg_match("/^[0-9]{1,4}$/", $_REQUEST['angeltype_count_' . $angeltype_id])) + $angeltypes_count[$angeltype_id] = $_REQUEST['angeltype_count_' . $angeltype_id]; + else { + $ok = false; + $msg .= error(sprintf("Please enter needed angels for type %s.", $angeltype), true); + } } if ($ok) { if(isset($id)) sql_query("UPDATE `Room` SET `Name`='" . sql_escape($name) . "', `FromPentabarf`='" . sql_escape($from_pentabarf) . "', `show`='" . sql_escape($public) . "', `Number`='" . sql_escape($number) . "' WHERE `RID`=" . sql_escape($id) . " LIMIT 1"); - else + else { sql_query("INSERT INTO `Room` SET `Name`='" . sql_escape($name) . "', `FromPentabarf`='" . sql_escape($from_pentabarf) . "', `show`='" . sql_escape($public) . "', `Number`='" . sql_escape($number) . "'"); - $id = sql_id(); - + $id = sql_id(); + } + sql_query("DELETE FROM `NeededAngelTypes` WHERE `room_id`=" . sql_escape($id)); foreach ($angeltypes_count as $angeltype_id => $angeltype_count) sql_query("INSERT INTO `NeededAngelTypes` SET `room_id`=" . sql_escape($id) . ", `angel_type_id`=" . sql_escape($angeltype_id) . ", `count`=" . sql_escape($angeltype_count)); diff --git a/includes/pages/user_shifts.php b/includes/pages/user_shifts.php index 7cd060c0..ff8cd8fe 100644 --- a/includes/pages/user_shifts.php +++ b/includes/pages/user_shifts.php @@ -24,9 +24,9 @@ function user_shifts() { redirect(page_link_to('user_shifts')); /* - if (sql_num_query("SELECT * FROM `ShiftEntry` WHERE `SID`=" . sql_escape($shift_id) . " LIMIT 1") > 0) { - error("Du kannst nur Schichten bearbeiten, bei denen niemand eingetragen ist."); - redirect(page_link_to('user_shift')); + if (sql_num_query("SELECT * FROM `ShiftEntry` WHERE `SID`=" . sql_escape($shift_id) . " LIMIT 1") > 0) { + error("Du kannst nur Schichten bearbeiten, bei denen niemand eingetragen ist."); + redirect(page_link_to('user_shift')); } */ @@ -49,13 +49,17 @@ function user_shifts() { // Benötigte Engeltypen vom Raum $needed_angel_types_source = sql_select("SELECT `AngelTypes`.*, `NeededAngelTypes`.`count` FROM `AngelTypes` LEFT JOIN `NeededAngelTypes` ON (`NeededAngelTypes`.`angel_type_id` = `AngelTypes`.`id` AND `NeededAngelTypes`.`room_id`=" . sql_escape($shift['RID']) . ") ORDER BY `AngelTypes`.`name`"); - foreach ($needed_angel_types_source as $type) - $needed_angel_types[$type['id']] = $type['count'] != "" ? $type['count'] : "0"; + foreach ($needed_angel_types_source as $type) { + if($type['count'] != "") + $needed_angel_types[$type['id']] =$type['count']; + } // Benötigte Engeltypen von der Schicht $needed_angel_types_source = sql_select("SELECT `AngelTypes`.*, `NeededAngelTypes`.`count` FROM `AngelTypes` LEFT JOIN `NeededAngelTypes` ON (`NeededAngelTypes`.`angel_type_id` = `AngelTypes`.`id` AND `NeededAngelTypes`.`shift_id`=" . sql_escape($shift_id) . ") ORDER BY `AngelTypes`.`name`"); - foreach ($needed_angel_types_source as $type) - $needed_angel_types[$type['id']] = $type['count'] != "" ? $type['count'] : "0"; + foreach ($needed_angel_types_source as $type){ + if($type['count'] != "") + $needed_angel_types[$type['id']] =$type['count']; + } $name = $shift['name']; $rid = $shift['RID']; @@ -114,7 +118,7 @@ function user_shifts() { } $room_select = html_select_key('rid', 'rid', $room_array, $rid); - + $angel_types = ""; foreach ($types as $type) { $angel_types .= template_render('../templates/admin_shifts_angel_types.html', array ( @@ -123,7 +127,7 @@ function user_shifts() { 'value' => $needed_angel_types[$type['id']] )); } - + return template_render('../templates/user_shifts_edit.html', array ( 'msg' => $msg, 'name' => $name, -- cgit v1.2.3-54-g00ecf