summaryrefslogtreecommitdiff
path: root/includes/pages/user_myshifts.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/pages/user_myshifts.php')
-rw-r--r--includes/pages/user_myshifts.php76
1 files changed, 53 insertions, 23 deletions
diff --git a/includes/pages/user_myshifts.php b/includes/pages/user_myshifts.php
index fbfe3f33..8c2d9442 100644
--- a/includes/pages/user_myshifts.php
+++ b/includes/pages/user_myshifts.php
@@ -10,15 +10,20 @@ function user_myshifts()
{
global $LETZTES_AUSTRAGEN;
global $user, $privileges;
-
- if (isset($_REQUEST['id']) && in_array("user_shifts_admin", $privileges) && preg_match("/^[0-9]{1,}$/", $_REQUEST['id']) && sql_num_query("SELECT * FROM `User` WHERE `UID`='" . sql_escape($_REQUEST['id']) . "'") > 0) {
+
+ if (
+ isset($_REQUEST['id'])
+ && in_array("user_shifts_admin", $privileges)
+ && preg_match("/^[0-9]{1,}$/", $_REQUEST['id'])
+ && sql_num_query("SELECT * FROM `User` WHERE `UID`='" . sql_escape($_REQUEST['id']) . "'") > 0
+ ) {
$user_id = $_REQUEST['id'];
} else {
$user_id = $user['UID'];
}
-
+
list($shifts_user) = sql_select("SELECT * FROM `User` WHERE `UID`='" . sql_escape($user_id) . "' LIMIT 1");
-
+
if (isset($_REQUEST['reset'])) {
if ($_REQUEST['reset'] == "ack") {
User_reset_api_key($user);
@@ -26,9 +31,12 @@ function user_myshifts()
redirect(page_link_to('users') . '&action=view&user_id=' . $shifts_user['UID']);
}
return page_with_title(_("Reset API key"), [
- error(_("If you reset the key, the url to your iCal- and JSON-export and your atom feed changes! You have to update it in every application using one of these exports."), true),
- button(page_link_to('user_myshifts') . '&reset=ack', _("Continue"), 'btn-danger')
- ]);
+ error(
+ _("If you reset the key, the url to your iCal- and JSON-export and your atom feed changes! You have to update it in every application using one of these exports."),
+ true
+ ),
+ button(page_link_to('user_myshifts') . '&reset=ack', _("Continue"), 'btn-danger')
+ ]);
} elseif (isset($_REQUEST['edit']) && preg_match("/^[0-9]*$/", $_REQUEST['edit'])) {
$user_id = $_REQUEST['edit'];
$shift = sql_select("SELECT
@@ -39,7 +47,7 @@ function user_myshifts()
`ShiftTypes`.`name`,
`Shifts`.*,
`Room`.`Name`,
- `AngelTypes`.`name` as `angel_type`
+ `AngelTypes`.`name` AS `angel_type`
FROM `ShiftEntry`
JOIN `AngelTypes` ON (`ShiftEntry`.`TID` = `AngelTypes`.`id`)
JOIN `Shifts` ON (`ShiftEntry`.`SID` = `Shifts`.`SID`)
@@ -51,7 +59,7 @@ function user_myshifts()
$shift = $shift[0];
$freeloaded = $shift['freeloaded'];
$freeload_comment = $shift['freeload_comment'];
-
+
if (isset($_REQUEST['submit'])) {
$valid = true;
if (in_array("user_shifts_admin", $privileges)) {
@@ -62,28 +70,44 @@ function user_myshifts()
error(_("Please enter a freeload comment!"));
}
}
-
+
$comment = strip_request_item_nl('comment');
$user_source = User($shift['UID']);
-
+
if ($valid) {
$result = ShiftEntry_update([
- 'id' => $user_id,
- 'Comment' => $comment,
- 'freeloaded' => $freeloaded,
- 'freeload_comment' => $freeload_comment
- ]);
+ 'id' => $user_id,
+ 'Comment' => $comment,
+ 'freeloaded' => $freeloaded,
+ 'freeload_comment' => $freeload_comment
+ ]);
if ($result === false) {
engelsystem_error('Unable to update shift entry.');
}
-
- engelsystem_log("Updated " . User_Nick_render($user_source) . "'s shift " . $shift['name'] . " from " . date("Y-m-d H:i", $shift['start']) . " to " . date("Y-m-d H:i", $shift['end']) . " with comment " . $comment . ". Freeloaded: " . ($freeloaded ? "YES Comment: " . $freeload_comment : "NO"));
+
+ engelsystem_log(
+ "Updated " . User_Nick_render($user_source) . "'s shift " . $shift['name']
+ . " from " . date("Y-m-d H:i", $shift['start'])
+ . " to " . date("Y-m-d H:i", $shift['end'])
+ . " with comment " . $comment
+ . ". Freeloaded: " . ($freeloaded ? "YES Comment: " . $freeload_comment : "NO")
+ );
success(_("Shift saved."));
redirect(page_link_to('users') . '&action=view&user_id=' . $shifts_user['UID']);
}
}
-
- return ShiftEntry_edit_view(User_Nick_render($shifts_user), date("Y-m-d H:i", $shift['start']) . ', ' . shift_length($shift), $shift['Name'], $shift['name'], $shift['angel_type'], $shift['Comment'], $shift['freeloaded'], $shift['freeload_comment'], in_array("user_shifts_admin", $privileges));
+
+ return ShiftEntry_edit_view(
+ User_Nick_render($shifts_user),
+ date("Y-m-d H:i", $shift['start']) . ', ' . shift_length($shift),
+ $shift['Name'],
+ $shift['name'],
+ $shift['angel_type'],
+ $shift['Comment'],
+ $shift['freeloaded'],
+ $shift['freeload_comment'],
+ in_array("user_shifts_admin", $privileges)
+ );
} else {
redirect(page_link_to('user_myshifts'));
}
@@ -104,8 +128,14 @@ function user_myshifts()
$room = Room($shift['RID']);
$angeltype = AngelType($shift['TID']);
$shifttype = ShiftType($shift['shifttype_id']);
-
- engelsystem_log("Deleted own shift: " . $shifttype['name'] . " at " . $room['Name'] . " from " . date("Y-m-d H:i", $shift['start']) . " to " . date("Y-m-d H:i", $shift['end']) . " as " . $angeltype['name']);
+
+ engelsystem_log(
+ "Deleted own shift: " . $shifttype['name']
+ . " at " . $room['Name']
+ . " from " . date("Y-m-d H:i", $shift['start'])
+ . " to " . date("Y-m-d H:i", $shift['end'])
+ . " as " . $angeltype['name']
+ );
success(_("Shift canceled."));
} else {
error(_("It's too late to sign yourself off the shift. If neccessary, ask the dispatcher to do so."));
@@ -114,6 +144,6 @@ function user_myshifts()
redirect(user_link($shifts_user));
}
}
-
+
redirect(page_link_to('users') . '&action=view&user_id=' . $shifts_user['UID']);
}