From d509a101213673cc55bcf846ab757eac6899d373 Mon Sep 17 00:00:00 2001 From: Jan-Philipp Litza Date: Sun, 30 Dec 2012 12:51:29 +0100 Subject: Prevent from signing up for colliding shifts servier-side --- includes/pages/user_shifts.php | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'includes') diff --git a/includes/pages/user_shifts.php b/includes/pages/user_shifts.php index 235208b9..7fb8ebe6 100644 --- a/includes/pages/user_shifts.php +++ b/includes/pages/user_shifts.php @@ -204,6 +204,12 @@ function user_shifts() { header("Location: " . page_link_to('user_shifts')); } + // Another shift the user is signed up for collides with this one + if(!in_array('user_shifts_admin', $privileges) && sql_num_query("SELECT `Shifts`.`SID` FROM `Shifts` INNER JOIN `ShiftEntry` ON (`Shifts`.`SID` = `ShiftEntry`.`SID` AND `ShiftEntry`.`UID` = " . sql_escape($user['UID']) . ") WHERE `start` < '" . sql_escape($shift['end']) . "' AND `end` > '" . sql_escape($shift['start']) . "'") > 0) { + error("Du bist bereits in einer parallelen Schicht eingetragen. Bitte kontaktiere den Schichtkoordinator, um dich eintragen zu lassen."); + header("Location: " . page_link_to('user_shifts')); + } + if (in_array('user_shifts_admin', $privileges)) $type = sql_select("SELECT * FROM `AngelTypes` WHERE `id`=" . sql_escape($type_id) . " LIMIT 1"); else -- cgit v1.2.3-54-g00ecf