From 18644cac7abab887536dd4e5a2fc7ff1dc9c9c26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philip=20H=C3=A4usler?= Date: Wed, 15 Jul 2015 21:53:19 +0200 Subject: [PATCH] fixes #196: make users planned arrival date editable in user settings and show it in their own profile --- includes/pages/user_settings.php | 18 ++++++++++++++---- includes/view/User_view.php | 2 +- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/includes/pages/user_settings.php b/includes/pages/user_settings.php index 20ed3468..f3c48c40 100644 --- a/includes/pages/user_settings.php +++ b/includes/pages/user_settings.php @@ -24,6 +24,7 @@ function user_settings() { $password_hash = ""; $selected_theme = $user['color']; $selected_language = $user['Sprache']; + $planned_arrival_date = $user['planned_arrival_date']; if (isset($_REQUEST['submit'])) { $ok = true; @@ -54,8 +55,15 @@ function user_settings() { elseif ($enable_tshirt_size) { $ok = false; } - - // Trivia + + if (isset($_REQUEST['planned_arrival_date']) && DateTime::createFromFormat("Y-m-d", trim($_REQUEST['planned_arrival_date']))) { + $planned_arrival_date = DateTime::createFromFormat("Y-m-d", trim($_REQUEST['planned_arrival_date']))->getTimestamp(); + } else { + $ok = false; + $msg .= error(_("Please enter your planned date of arrival."), true); + } + + // Trivia if (isset($_REQUEST['lastname'])) $lastname = strip_request_item('lastname'); if (isset($_REQUEST['prename'])) @@ -85,7 +93,8 @@ function user_settings() { `email_shiftinfo`='" . sql_escape($email_shiftinfo ? 'TRUE' : 'FALSE') . "', `jabber`='" . sql_escape($jabber) . "', `Size`='" . sql_escape($tshirt_size) . "', - `Hometown`='" . sql_escape($hometown) . "' + `Hometown`='" . sql_escape($hometown) . "', + `planned_arrival_date`='" . sql_escape($planned_arrival_date) . "' WHERE `UID`='" . sql_escape($user['UID']) . "'"); success(_("Settings saved.")); @@ -144,9 +153,10 @@ function user_settings() { form(array( form_info('', _("Here you can change your user details.")), form_info(entry_required() . ' = ' . _("Entry required!")), - form_text('nick', _("Nick") . ' ' . entry_required(), $nick, true), + form_text('nick', _("Nick"), $nick, true), form_text('lastname', _("Last name"), $lastname), form_text('prename', _("First name"), $prename), + form_date('planned_arrival_date', _("Planned date of arrival") . ' ' . entry_required(), $planned_arrival_date, time()), form_text('age', _("Age"), $age), form_text('tel', _("Phone"), $tel), form_text('dect', _("DECT"), $dect), diff --git a/includes/view/User_view.php b/includes/view/User_view.php index da52a913..0125f4af 100644 --- a/includes/view/User_view.php +++ b/includes/view/User_view.php @@ -171,7 +171,7 @@ function User_view($user_source, $admin_user_privilege, $freeloader, $user_angel '

' . _("User state") . '

', ($admin_user_privilege && $freeloader) ? ' ' . _("Freeloader") . '
' : '', $user_source['Gekommen'] ? User_shift_state_render($user_source) . '
' : '', - $admin_user_privilege + $admin_user_privilege || $its_me ? ($user_source['Gekommen'] ? ' ' . sprintf(_("Arrived at %s"), date('Y-m-d', $user_source['arrival_date'])) . '' : '' . sprintf(_("Not arrived (Planned: %s)"), date('Y-m-d', $user_source['planned_arrival_date'])) . '') : ($user_source['Gekommen'] ? ' ' . _("Arrived") . '' : '' . _("Not arrived") . ''), $admin_user_privilege ? ($user_source['got_voucher'] ? '
' . glyph('cutlery') . _("Got vouchers") . '' : '
' . _("Got no vouchers") . '') : '',