diff options
Diffstat (limited to 'includes/controller')
-rw-r--r-- | includes/controller/angeltypes_controller.php | 25 | ||||
-rw-r--r-- | includes/controller/event_config_controller.php | 6 | ||||
-rw-r--r-- | includes/controller/rooms_controller.php | 23 | ||||
-rw-r--r-- | includes/controller/shift_entries_controller.php | 22 | ||||
-rw-r--r-- | includes/controller/shifts_controller.php | 34 | ||||
-rw-r--r-- | includes/controller/shifttypes_controller.php | 23 | ||||
-rw-r--r-- | includes/controller/user_angeltypes_controller.php | 26 | ||||
-rw-r--r-- | includes/controller/user_driver_licenses_controller.php | 11 | ||||
-rw-r--r-- | includes/controller/users_controller.php | 63 |
9 files changed, 208 insertions, 25 deletions
diff --git a/includes/controller/angeltypes_controller.php b/includes/controller/angeltypes_controller.php index de4b8a49..12d5287a 100644 --- a/includes/controller/angeltypes_controller.php +++ b/includes/controller/angeltypes_controller.php @@ -2,6 +2,8 @@ /** * Text for Angeltype related links. + * + * @return string */ function angeltypes_title() { @@ -10,15 +12,14 @@ function angeltypes_title() /** * Route angeltype actions. + * + * @return array */ function angeltypes_controller() { $action = strip_request_item('action', 'list'); switch ($action) { - default: - case 'list': - return angeltypes_list_controller(); case 'view': return angeltype_controller(); case 'edit': @@ -27,13 +28,17 @@ function angeltypes_controller() return angeltype_delete_controller(); case 'about': return angeltypes_about_controller(); + case 'list': + default: + return angeltypes_list_controller(); } } /** * Path to angeltype view. * - * @param AngelType $angeltype_id + * @param int $angeltype_id AngelType id + * @return string */ function angeltype_link($angeltype_id) { @@ -42,6 +47,8 @@ function angeltype_link($angeltype_id) /** * Job description for all angeltypes (public to everyone) + * + * @return array */ function angeltypes_about_controller() { @@ -61,6 +68,8 @@ function angeltypes_about_controller() /** * Delete an Angeltype. + * + * @return array */ function angeltype_delete_controller() { @@ -86,6 +95,8 @@ function angeltype_delete_controller() /** * Change an Angeltype. + * + * @return array */ function angeltype_edit_controller() { @@ -151,6 +162,8 @@ function angeltype_edit_controller() /** * View details of a given angeltype. + * + * @return array */ function angeltype_controller() { @@ -182,6 +195,8 @@ function angeltype_controller() /** * View a list of all angeltypes. + * + * @return array */ function angeltypes_list_controller() { @@ -242,6 +257,8 @@ function angeltypes_list_controller() /** * Loads an angeltype from given angeltype_id request param. + * + * @return array */ function load_angeltype() { diff --git a/includes/controller/event_config_controller.php b/includes/controller/event_config_controller.php index 623a2a7a..709d1b2a 100644 --- a/includes/controller/event_config_controller.php +++ b/includes/controller/event_config_controller.php @@ -1,10 +1,16 @@ <?php +/** + * @return string + */ function event_config_title() { return _("Event config"); } +/** + * @return array + */ function event_config_edit_controller() { global $privileges; diff --git a/includes/controller/rooms_controller.php b/includes/controller/rooms_controller.php index d19e91bb..9910f50c 100644 --- a/includes/controller/rooms_controller.php +++ b/includes/controller/rooms_controller.php @@ -8,6 +8,8 @@ use Engelsystem\ShiftsFilterRenderer; /** * View a room with its shifts. + * + * @return array */ function room_controller() { @@ -55,6 +57,8 @@ function room_controller() /** * Dispatch different room actions. + * + * @return array */ function rooms_controller() { @@ -63,19 +67,30 @@ function rooms_controller() } switch ($_REQUEST['action']) { - default: - case 'list': - redirect(page_link_to('admin_rooms')); case 'view': return room_controller(); + case 'list': + default: + redirect(page_link_to('admin_rooms')); + break; } + + exit; } +/** + * @param array $room + * @return string + */ function room_link($room) { return page_link_to('rooms') . '&action=view&room_id=' . $room['RID']; } +/** + * @param array $room + * @return string + */ function room_edit_link($room) { return page_link_to('admin_rooms') . '&show=edit&id=' . $room['RID']; @@ -83,6 +98,8 @@ function room_edit_link($room) /** * Loads room by request param room_id + * + * @return array */ function load_room() { diff --git a/includes/controller/shift_entries_controller.php b/includes/controller/shift_entries_controller.php index 928a0990..05491ee9 100644 --- a/includes/controller/shift_entries_controller.php +++ b/includes/controller/shift_entries_controller.php @@ -2,11 +2,14 @@ /** * Sign up for a shift. + * + * @return string */ function shift_entry_add_controller() { global $privileges, $user; + $shift_id = 0; if (isset($_REQUEST['shift_id']) && preg_match("/^[0-9]*$/", $_REQUEST['shift_id'])) { $shift_id = $_REQUEST['shift_id']; } else { @@ -26,6 +29,7 @@ function shift_entry_add_controller() redirect(page_link_to('user_shifts')); } + $type_id = 0; if (isset($_REQUEST['type_id']) && preg_match("/^[0-9]*$/", $_REQUEST['type_id'])) { $type_id = $_REQUEST['type_id']; } else { @@ -145,6 +149,7 @@ function shift_entry_add_controller() redirect(shift_link($shift)); } + $angeltype_select = ''; if (in_array('user_shifts_admin', $privileges)) { $users = sql_select(" SELECT *, (SELECT count(*) FROM `ShiftEntry` WHERE `freeloaded`=1 AND `ShiftEntry`.`UID`=`User`.`UID`) AS `freeloaded` @@ -186,9 +191,19 @@ function shift_entry_add_controller() $angeltype_select = $type['name']; } - return ShiftEntry_edit_view($user_text, date("Y-m-d H:i", $shift['start']) . ' – ' . date('Y-m-d H:i', - $shift['end']) . ' (' . shift_length($shift) . ')', $shift['Name'], $shift['name'], $angeltype_select, "", - false, null, in_array('user_shifts_admin', $privileges)); + return ShiftEntry_edit_view( + $user_text, + date("Y-m-d H:i", $shift['start']) + . ' – ' + . date('Y-m-d H:i', $shift['end']) + . ' (' . shift_length($shift) . ')', + $shift['Name'], + $shift['name'], + $angeltype_select, "", + false, + null, + in_array('user_shifts_admin', $privileges) + ); } /** @@ -245,5 +260,6 @@ function shift_entry_delete_controller() } else { error(_("Entry not found.")); } + redirect(shift_link($shift_entry_source)); } diff --git a/includes/controller/shifts_controller.php b/includes/controller/shifts_controller.php index e2dd712b..a9f4ec28 100644 --- a/includes/controller/shifts_controller.php +++ b/includes/controller/shifts_controller.php @@ -1,16 +1,28 @@ <?php use Engelsystem\ShiftSignupState; +/** + * @param array $shift + * @return string + */ function shift_link($shift) { return page_link_to('shifts') . '&action=view&shift_id=' . $shift['SID']; } +/** + * @param array $shift + * @return string + */ function shift_delete_link($shift) { return page_link_to('user_shifts') . '&delete_shift=' . $shift['SID']; } +/** + * @param array $shift + * @return string + */ function shift_edit_link($shift) { return page_link_to('user_shifts') . '&edit_shift=' . $shift['SID']; @@ -18,6 +30,8 @@ function shift_edit_link($shift) /** * Edit a single shift. + * + * @return string */ function shift_edit_controller() { @@ -162,6 +176,9 @@ function shift_edit_controller() ); } +/** + * @return string + */ function shift_delete_controller() { global $privileges; @@ -205,6 +222,9 @@ function shift_delete_controller() ]); } +/** + * @return array + */ function shift_controller() { global $user, $privileges; @@ -249,6 +269,9 @@ function shift_controller() ]; } +/** + * @return array|false + */ function shifts_controller() { if (!isset($_REQUEST['action'])) { @@ -256,17 +279,21 @@ function shifts_controller() } switch ($_REQUEST['action']) { - default: - redirect(page_link_to('?')); case 'view': return shift_controller(); case 'next': return shift_next_controller(); + default: + redirect(page_link_to('?')); } + + return false; } /** * Redirects the user to his next shift. + * + * @return false */ function shift_next_controller() { @@ -286,6 +313,7 @@ function shift_next_controller() } redirect(page_link_to('user_shifts')); + exit; } /** @@ -346,6 +374,8 @@ function shifts_json_export_controller() /** * Returns users shifts to export. + * + * @return array */ function load_ical_shifts() { diff --git a/includes/controller/shifttypes_controller.php b/includes/controller/shifttypes_controller.php index 4bbf041d..08576641 100644 --- a/includes/controller/shifttypes_controller.php +++ b/includes/controller/shifttypes_controller.php @@ -1,5 +1,9 @@ <?php +/** + * @param array $shifttype + * @return string + */ function shifttype_link($shifttype) { return page_link_to('shifttypes') . '&action=view&shifttype_id=' . $shifttype['id']; @@ -7,6 +11,8 @@ function shifttype_link($shifttype) /** * Delete a shifttype. + * + * @return array */ function shifttype_delete_controller() { @@ -42,6 +48,8 @@ function shifttype_delete_controller() /** * Edit or create shift type. + * + * @return array */ function shifttype_edit_controller() { @@ -113,6 +121,9 @@ function shifttype_edit_controller() ]; } +/** + * @return array + */ function shifttype_controller() { if (!isset($_REQUEST['shifttype_id'])) { @@ -139,6 +150,8 @@ function shifttype_controller() /** * List all shift types. + * + * @return array */ function shifttypes_list_controller() { @@ -155,6 +168,8 @@ function shifttypes_list_controller() /** * Text for shift type related links. + * + * @return string */ function shifttypes_title() { @@ -163,6 +178,8 @@ function shifttypes_title() /** * Route shift type actions + * + * @return array */ function shifttypes_controller() { @@ -171,14 +188,14 @@ function shifttypes_controller() } switch ($_REQUEST['action']) { - default: - case 'list': - return shifttypes_list_controller(); case 'view': return shifttype_controller(); case 'edit': return shifttype_edit_controller(); case 'delete': return shifttype_delete_controller(); + case 'list': + default: + return shifttypes_list_controller(); } } diff --git a/includes/controller/user_angeltypes_controller.php b/includes/controller/user_angeltypes_controller.php index fefde9ae..3a316ee1 100644 --- a/includes/controller/user_angeltypes_controller.php +++ b/includes/controller/user_angeltypes_controller.php @@ -2,6 +2,8 @@ /** * Display a hint for team/angeltype supporters if there are unconfirmed users for his angeltype. + * + * @return string|null */ function user_angeltypes_unconfirmed_hint() { @@ -14,7 +16,12 @@ function user_angeltypes_unconfirmed_hint() $unconfirmed_links = []; foreach ($unconfirmed_user_angeltypes as $user_angeltype) { - $unconfirmed_links[] = '<a href="' . page_link_to('angeltypes') . '&action=view&angeltype_id=' . $user_angeltype['angeltype_id'] . '">' . $user_angeltype['name'] . ' (+' . $user_angeltype['count'] . ')' . '</a>'; + $unconfirmed_links[] = '<a href="' + . page_link_to('angeltypes') + . '&action=view&angeltype_id=' . $user_angeltype['angeltype_id'] + . '">' . $user_angeltype['name'] + . ' (+' . $user_angeltype['count'] . ')' + . '</a>'; } return sprintf(ngettext("There is %d unconfirmed angeltype.", "There are %d unconfirmed angeltypes.", @@ -25,6 +32,8 @@ function user_angeltypes_unconfirmed_hint() /** * Remove all unconfirmed users from a specific angeltype. + * + * @return array */ function user_angeltypes_delete_all_controller() { @@ -62,6 +71,8 @@ function user_angeltypes_delete_all_controller() /** * Confirm all unconfirmed users for an angeltype. + * + * @return array */ function user_angeltypes_confirm_all_controller() { @@ -105,6 +116,8 @@ function user_angeltypes_confirm_all_controller() /** * Confirm an user for an angeltype. + * + * @return array */ function user_angeltype_confirm_controller() { @@ -165,6 +178,8 @@ function user_angeltype_confirm_controller() /** * Remove a user from an Angeltype. + * + * @return array */ function user_angeltype_delete_controller() { @@ -219,10 +234,13 @@ function user_angeltype_delete_controller() /** * Update an UserAngelType. + * + * @return array */ function user_angeltype_update_controller() { global $privileges; + $supporter = false; if (!in_array('admin_angel_types', $privileges)) { error(_("You are not allowed to set supporter rights.")); @@ -337,6 +355,9 @@ function user_angeltype_add_controller() /** * A user joins an angeltype. + * + * @param array $angeltype + * @return array */ function user_angeltype_join_controller($angeltype) { @@ -375,6 +396,8 @@ function user_angeltype_join_controller($angeltype) /** * Route UserAngelType actions. + * + * @return array */ function user_angeltypes_controller() { @@ -397,5 +420,6 @@ function user_angeltypes_controller() return user_angeltype_add_controller(); default: redirect(page_link_to('angeltypes')); + exit; } } diff --git a/includes/controller/user_driver_licenses_controller.php b/includes/controller/user_driver_licenses_controller.php index a499eff7..f2a1c521 100644 --- a/includes/controller/user_driver_licenses_controller.php +++ b/includes/controller/user_driver_licenses_controller.php @@ -3,6 +3,8 @@ /** * Generates a hint, if user joined angeltypes that require a driving license and the user has no driver license * information provided. + * + * @return string|null */ function user_driver_license_required_hint() { @@ -30,6 +32,8 @@ function user_driver_license_required_hint() /** * Route user driver licenses actions. + * + * @return array */ function user_driver_licenses_controller() { @@ -51,7 +55,8 @@ function user_driver_licenses_controller() /** * Link to user driver license edit page for given user. * - * @param User $user + * @param array $user + * @return string */ function user_driver_license_edit_link($user = null) { @@ -63,6 +68,8 @@ function user_driver_license_edit_link($user = null) /** * Loads the user for the driver license. + * + * @return array */ function user_driver_license_load_user() { @@ -82,6 +89,8 @@ function user_driver_license_load_user() /** * Edit a users driver license information. + * + * @return array */ function user_driver_license_edit_controller() { diff --git a/includes/controller/users_controller.php b/includes/controller/users_controller.php index 4a946aa8..a9f7dd61 100644 --- a/includes/controller/users_controller.php +++ b/includes/controller/users_controller.php @@ -4,6 +4,8 @@ use Engelsystem\ShiftsFilter; /** * Route user actions. + * + * @return array */ function users_controller() { @@ -18,22 +20,22 @@ function users_controller() } switch ($_REQUEST['action']) { - default: - case 'list': - return users_list_controller(); case 'view': return user_controller(); - case 'edit': - return user_edit_controller(); case 'delete': return user_delete_controller(); case 'edit_vouchers': return user_edit_vouchers_controller(); + case 'list': + default: + return users_list_controller(); } } /** * Delete a user, requires to enter own password for reasons. + * + * @return array */ function user_delete_controller() { @@ -85,26 +87,44 @@ function user_delete_controller() ]; } +/** + * @return string + */ function users_link() { return page_link_to('users'); } +/** + * @param array $user + * @return string + */ function user_edit_link($user) { return page_link_to('admin_user') . '&user_id=' . $user['UID']; } +/** + * @param array $user + * @return string + */ function user_delete_link($user) { return page_link_to('users') . '&action=delete&user_id=' . $user['UID']; } +/** + * @param array $user + * @return string + */ function user_link($user) { return page_link_to('users') . '&action=view&user_id=' . $user['UID']; } +/** + * @return array + */ function user_edit_vouchers_controller() { global $privileges, $user; @@ -122,6 +142,7 @@ function user_edit_vouchers_controller() if (isset($_REQUEST['submit'])) { $valid = true; + $vouchers = ''; if (isset($_REQUEST['vouchers']) && test_request_int('vouchers') && trim($_REQUEST['vouchers']) >= 0) { $vouchers = trim($_REQUEST['vouchers']); } else { @@ -151,6 +172,9 @@ function user_edit_vouchers_controller() ]; } +/** + * @return array + */ function user_controller() { global $privileges, $user; @@ -167,7 +191,13 @@ function user_controller() $shifts = Shifts_by_user($user_source, in_array("user_shifts_admin", $privileges)); foreach ($shifts as &$shift) { // TODO: Move queries to model - $shift['needed_angeltypes'] = sql_select("SELECT DISTINCT `AngelTypes`.* FROM `ShiftEntry` JOIN `AngelTypes` ON `ShiftEntry`.`TID`=`AngelTypes`.`id` WHERE `ShiftEntry`.`SID`='" . sql_escape($shift['SID']) . "' ORDER BY `AngelTypes`.`name`"); + $shift['needed_angeltypes'] = sql_select(" + SELECT DISTINCT `AngelTypes`.* + FROM `ShiftEntry` + JOIN `AngelTypes` ON `ShiftEntry`.`TID`=`AngelTypes`.`id` + WHERE `ShiftEntry`.`SID`='" . sql_escape($shift['SID']) . "' + ORDER BY `AngelTypes`.`name` + "); foreach ($shift['needed_angeltypes'] as &$needed_angeltype) { $needed_angeltype['users'] = sql_select(" SELECT `ShiftEntry`.`freeloaded`, `User`.* @@ -198,6 +228,8 @@ function user_controller() /** * List all users. + * + * @return array */ function users_list_controller() { @@ -238,6 +270,8 @@ function users_list_controller() /** * Second step of password recovery: set a new password using the token link from email + * + * @return string */ function user_password_recovery_set_new_controller() { @@ -273,6 +307,8 @@ function user_password_recovery_set_new_controller() /** * First step of password recovery: display a form that asks for your email and send email with recovery link + * + * @return string */ function user_password_recovery_start_controller() { @@ -317,18 +353,22 @@ function user_password_recovery_start_controller() /** * User password recovery in 2 steps. * (By email) + * + * @return string */ function user_password_recovery_controller() { if (isset($_REQUEST['token'])) { return user_password_recovery_set_new_controller(); - } else { - return user_password_recovery_start_controller(); } + + return user_password_recovery_start_controller(); } /** * Menu title for password recovery. + * + * @return string */ function user_password_recovery_title() { @@ -337,6 +377,8 @@ function user_password_recovery_title() /** * Loads a user from param user_id. + * + * return array */ function load_user() { @@ -357,6 +399,10 @@ function load_user() return $user; } +/** + * @param ShiftsFilter $shiftsFilter + * @return ShiftCalendarRenderer + */ function shiftCalendarRendererByShiftFilter(ShiftsFilter $shiftsFilter) { $shifts = Shifts_by_ShiftsFilter($shiftsFilter); @@ -392,6 +438,7 @@ function shiftCalendarRendererByShiftFilter(ShiftsFilter $shiftsFilter) $filtered_shifts = []; foreach ($shifts as $shift) { $needed_angels_count = 0; + $taken = 0; foreach ($needed_angeltypes[$shift['SID']] as $needed_angeltype) { $taken = 0; foreach ($shift_entries[$shift['SID']] as $shift_entry) { |