diff options
author | msquare <msquare@notrademark.de> | 2017-07-28 19:15:52 +0200 |
---|---|---|
committer | msquare <msquare@notrademark.de> | 2017-07-28 19:15:52 +0200 |
commit | a0af8d4624be9ca8579817d291036a6727aeb574 (patch) | |
tree | 869e7c39a3ec05aa6a4e478b51eb59bbf42746d1 /includes | |
parent | 5794c4cab8f6ef0529dfc51343b5ec78b134fb2a (diff) |
further switching to db exceptions instead of return false
Diffstat (limited to 'includes')
-rw-r--r-- | includes/controller/shifts_controller.php | 3 | ||||
-rw-r--r-- | includes/controller/shifttypes_controller.php | 3 | ||||
-rw-r--r-- | includes/controller/users_controller.php | 4 | ||||
-rw-r--r-- | includes/model/AngelType_model.php | 22 | ||||
-rw-r--r-- | includes/model/EventConfig_model.php | 4 | ||||
-rw-r--r-- | includes/model/NeededAngelTypes_model.php | 6 | ||||
-rw-r--r-- | includes/model/Room_model.php | 4 | ||||
-rw-r--r-- | includes/model/ShiftEntry_model.php | 13 | ||||
-rw-r--r-- | includes/model/ShiftTypes_model.php | 15 | ||||
-rw-r--r-- | includes/model/Shifts_model.php | 58 | ||||
-rw-r--r-- | includes/model/UserAngelTypes_model.php | 27 | ||||
-rw-r--r-- | includes/model/UserDriverLicenses_model.php | 7 | ||||
-rw-r--r-- | includes/model/User_model.php | 40 | ||||
-rw-r--r-- | includes/pages/admin_import.php | 13 | ||||
-rw-r--r-- | includes/pages/admin_rooms.php | 3 | ||||
-rw-r--r-- | includes/pages/admin_shifts.php | 6 | ||||
-rw-r--r-- | includes/view/ShiftCalendarLane.php | 5 | ||||
-rw-r--r-- | includes/view/ShiftCalendarRenderer.php | 82 |
18 files changed, 79 insertions, 236 deletions
diff --git a/includes/controller/shifts_controller.php b/includes/controller/shifts_controller.php index b3ebd18b..92823b11 100644 --- a/includes/controller/shifts_controller.php +++ b/includes/controller/shifts_controller.php @@ -350,9 +350,6 @@ function shifts_json_export_all_controller() } $shifts_source = Shifts(); - if ($shifts_source === false) { - engelsystem_error('Unable to load shifts.'); - } header('Content-Type: application/json; charset=utf-8'); raw_output(json_encode($shifts_source)); diff --git a/includes/controller/shifttypes_controller.php b/includes/controller/shifttypes_controller.php index f4791511..9cf292ee 100644 --- a/includes/controller/shifttypes_controller.php +++ b/includes/controller/shifttypes_controller.php @@ -143,9 +143,6 @@ function shifttype_controller() function shifttypes_list_controller() { $shifttypes = ShiftTypes(); - if ($shifttypes === false) { - engelsystem_error('Unable to load shifttypes.'); - } return [ shifttypes_title(), diff --git a/includes/controller/users_controller.php b/includes/controller/users_controller.php index 05b97716..832d93f0 100644 --- a/includes/controller/users_controller.php +++ b/includes/controller/users_controller.php @@ -259,10 +259,6 @@ function users_list_controller() } $users = Users($order_by); - if ($users === false) { - engelsystem_error('Unable to load users.'); - } - foreach ($users as &$user) { $user['freeloads'] = count(ShiftEntries_freeloaded_by_user($user)); } diff --git a/includes/model/AngelType_model.php b/includes/model/AngelType_model.php index b9238467..f08733d5 100644 --- a/includes/model/AngelType_model.php +++ b/includes/model/AngelType_model.php @@ -213,7 +213,7 @@ function AngelType_validate_name($name, $angeltype) */ function AngelTypes_with_user($user) { - $result = DB::select(' + return DB::select(' SELECT `AngelTypes`.*, `UserAngelTypes`.`id` AS `user_angeltype_id`, `UserAngelTypes`.`confirm_user_id`, @@ -222,11 +222,6 @@ function AngelTypes_with_user($user) LEFT JOIN `UserAngelTypes` ON `AngelTypes`.`id`=`UserAngelTypes`.`angeltype_id` AND `UserAngelTypes`.`user_id` = ? ORDER BY `name`', [$user['UID']]); - - if (DB::getStm()->errorCode() != '00000') { - engelsystem_error('Unable to load angeltypes.'); - } - return $result; } /** @@ -236,15 +231,10 @@ function AngelTypes_with_user($user) */ function AngelTypes() { - $result = DB::select(' + return DB::select(' SELECT * FROM `AngelTypes` ORDER BY `name`'); - - if (DB::getStm()->errorCode() != '00000') { - engelsystem_error('Unable to load angeltypes.'); - } - return $result; } /** @@ -255,10 +245,6 @@ function AngelTypes() function AngelType_ids() { $result = DB::select('SELECT `id` FROM `AngelTypes`'); - - if (DB::getStm()->errorCode() != '00000') { - engelsystem_error('Unable to load angeltypes.'); - } return select_array($result, 'id', 'id'); } @@ -275,10 +261,6 @@ function AngelType($angeltype_id) [$angeltype_id] ); - if (DB::getStm()->errorCode() != '00000') { - engelsystem_error('Unable to load angeltype.'); - } - if (empty($angelType_source)) { return null; } diff --git a/includes/model/EventConfig_model.php b/includes/model/EventConfig_model.php index b5d3cc73..c5caf4d5 100644 --- a/includes/model/EventConfig_model.php +++ b/includes/model/EventConfig_model.php @@ -10,10 +10,6 @@ use Engelsystem\Database\DB; function EventConfig() { $event_config = DB::select('SELECT * FROM `EventConfig` LIMIT 1'); - if (DB::getStm()->errorCode() != '00000') { - engelsystem_error('Unable to load event config.'); - return null; - } if (empty($event_config)) { return null; diff --git a/includes/model/NeededAngelTypes_model.php b/includes/model/NeededAngelTypes_model.php index 981c100a..d8de5e69 100644 --- a/includes/model/NeededAngelTypes_model.php +++ b/includes/model/NeededAngelTypes_model.php @@ -71,9 +71,6 @@ function NeededAngelTypes_by_shift($shiftId) ORDER BY `room_id` DESC', [$shiftId] ); - if (DB::getStm()->errorCode() != '00000') { - engelsystem_error('Unable to load needed angeltypes.'); - } // Use settings from room if (count($needed_angeltypes_source) == 0) { @@ -86,9 +83,6 @@ function NeededAngelTypes_by_shift($shiftId) AND `count` > 0 ORDER BY `room_id` DESC ', [$shiftId]); - if (DB::getStm()->errorCode() != '00000') { - engelsystem_error('Unable to load needed angeltypes.'); - } } $shift_entries = ShiftEntries_by_shift($shiftId); diff --git a/includes/model/Room_model.php b/includes/model/Room_model.php index d76e6036..08e0f7bf 100644 --- a/includes/model/Room_model.php +++ b/includes/model/Room_model.php @@ -66,10 +66,6 @@ function Room($room_id, $onlyVisible = true) [$room_id] ); - if (DB::getStm()->errorCode() != '00000') { - return false; - } - if (empty($room_source)) { return null; } diff --git a/includes/model/ShiftEntry_model.php b/includes/model/ShiftEntry_model.php index bca63774..563a611f 100644 --- a/includes/model/ShiftEntry_model.php +++ b/includes/model/ShiftEntry_model.php @@ -125,17 +125,16 @@ function ShiftEntry_update($shift_entry) * Get a shift entry. * * @param int $shift_entry_id - * @return array|false|null + * @return array|null */ function ShiftEntry($shift_entry_id) { $shift_entry = DB::select('SELECT * FROM `ShiftEntry` WHERE `id` = ?', [$shift_entry_id]); - if (DB::getStm()->errorCode() != '00000') { - return false; - } + if (empty($shift_entry)) { return null; } + return $shift_entry[0]; } @@ -209,7 +208,7 @@ function ShiftEntries_finished_by_user($user) */ function ShiftEntries_by_shift_and_angeltype($shift_id, $angeltype_id) { - $result = DB::select(' + return DB::select(' SELECT * FROM `ShiftEntry` WHERE `SID` = ? @@ -220,10 +219,6 @@ function ShiftEntries_by_shift_and_angeltype($shift_id, $angeltype_id) $angeltype_id, ] ); - if (DB::getStm()->errorCode() != '00000') { - engelsystem_error('Unable to load shift entries.'); - } - return $result; } /** diff --git a/includes/model/ShiftTypes_model.php b/includes/model/ShiftTypes_model.php index d6efe117..05c1a949 100644 --- a/includes/model/ShiftTypes_model.php +++ b/includes/model/ShiftTypes_model.php @@ -71,27 +71,20 @@ function ShiftType_create($name, $angeltype_id, $description) function ShiftType($shifttype_id) { $shifttype = DB::select('SELECT * FROM `ShiftTypes` WHERE `id`=?', [$shifttype_id]); - if (DB::getStm()->errorCode() != '00000') { - engelsystem_error('Unable to load shift type.'); - } + if (empty($shifttype)) { return null; } + return array_shift($shifttype); } /** * Get all shift types. * - * @return array|false + * @return array */ function ShiftTypes() { - $result = DB::select('SELECT * FROM `ShiftTypes` ORDER BY `name`'); - - if (DB::getStm()->errorCode() != '00000') { - return false; - } - - return $result; + return DB::select('SELECT * FROM `ShiftTypes` ORDER BY `name`'); } diff --git a/includes/model/Shifts_model.php b/includes/model/Shifts_model.php index 2288e3cc..939a4f4e 100644 --- a/includes/model/Shifts_model.php +++ b/includes/model/Shifts_model.php @@ -10,11 +10,7 @@ use Engelsystem\ShiftSignupState; */ function Shifts_by_room($room) { - $result = DB::select('SELECT * FROM `Shifts` WHERE `RID`=? ORDER BY `start`', [$room['RID']]); - if (DB::getStm()->errorCode() != '00000') { - engelsystem_error('Unable to load shifts.'); - } - return $result; + return DB::select('SELECT * FROM `Shifts` WHERE `RID`=? ORDER BY `start`', [$room['RID']]); } /** @@ -49,7 +45,8 @@ function Shifts_by_ShiftsFilter(ShiftsFilter $shiftsFilter) AND NOT `Shifts`.`PSID` IS NULL) AS tmp_shifts ORDER BY `start`'; - $result = DB::select( + + return DB::select( $sql, [ $shiftsFilter->getStartTime(), @@ -58,10 +55,6 @@ function Shifts_by_ShiftsFilter(ShiftsFilter $shiftsFilter) $shiftsFilter->getEndTime(), ] ); - if (DB::getStm()->errorCode() != '00000') { - engelsystem_error('Unable to load shifts by filter.'); - } - return $result; } /** @@ -100,7 +93,8 @@ function NeededAngeltypes_by_ShiftsFilter(ShiftsFilter $shiftsFilter) WHERE `Shifts`.`RID` IN (' . implode(',', $shiftsFilter->getRooms()) . ') AND `start` BETWEEN ? AND ? AND NOT `Shifts`.`PSID` IS NULL'; - $result = DB::select( + + return DB::select( $sql, [ $shiftsFilter->getStartTime(), @@ -109,10 +103,6 @@ function NeededAngeltypes_by_ShiftsFilter(ShiftsFilter $shiftsFilter) $shiftsFilter->getEndTime(), ] ); - if (DB::getStm()->errorCode() != '00000') { - engelsystem_error('Unable to load needed angeltypes by filter.'); - } - return $result; } /** @@ -160,12 +150,11 @@ function NeededAngeltype_by_Shift_and_Angeltype($shift, $angeltype) $angeltype['id'] ] ); - if (DB::getStm()->errorCode() != '00000') { - engelsystem_error('Unable to load needed angeltypes by filter.'); - } + if (empty($result)) { return null; } + return $result[0]; } @@ -193,17 +182,13 @@ function ShiftEntries_by_ShiftsFilter(ShiftsFilter $shiftsFilter) WHERE `Shifts`.`RID` IN (' . implode(',', $shiftsFilter->getRooms()) . ') AND `start` BETWEEN ? AND ? ORDER BY `Shifts`.`start`'; - $result = DB::select( + return DB::select( $sql, [ $shiftsFilter->getStartTime(), $shiftsFilter->getEndTime(), ] ); - if (DB::getStm()->errorCode() != '00000') { - engelsystem_error('Unable to load shift entries by filter.'); - } - return $result; } /** @@ -469,12 +454,9 @@ function Shift_update($shift) function Shift_update_by_psid($shift) { $shift_source = DB::select('SELECT `SID` FROM `Shifts` WHERE `PSID`=?', [$shift['PSID']]); - if (DB::getStm()->errorCode() != '00000') { - return false; - } if (empty($shift_source)) { - return null; + throw new Exception('Shift not found.'); } $shift['SID'] = $shift_source[0]['SID']; @@ -485,7 +467,7 @@ function Shift_update_by_psid($shift) * Create a new shift. * * @param array $shift - * @return int|false shift id or false + * @return int ID of the new created shift */ function Shift_create($shift) { @@ -516,9 +498,7 @@ function Shift_create($shift) time(), ] ); - if (DB::getStm()->errorCode() != '00000') { - return false; - } + return DB::getPdo()->lastInsertId(); } @@ -531,7 +511,7 @@ function Shift_create($shift) */ function Shifts_by_user($user, $include_freeload_comments = false) { - $result = DB::select(' + return DB::select(' SELECT `ShiftTypes`.`id` AS `shifttype_id`, `ShiftTypes`.`name`, `ShiftEntry`.`id`, `ShiftEntry`.`SID`, `ShiftEntry`.`TID`, `ShiftEntry`.`UID`, `ShiftEntry`.`freeloaded`, `ShiftEntry`.`Comment`, ' . ($include_freeload_comments ? '`ShiftEntry`.`freeload_comment`, ' : '') . ' @@ -547,10 +527,6 @@ function Shifts_by_user($user, $include_freeload_comments = false) $user['UID'] ] ); - if (DB::getStm()->errorCode() != '00000') { - engelsystem_error('Unable to load users shifts.'); - } - return $result; } /** @@ -567,10 +543,6 @@ function Shift($shift_id) JOIN `ShiftTypes` ON (`ShiftTypes`.`id` = `Shifts`.`shifttype_id`) WHERE `SID`=?', [$shift_id]); - if (DB::getStm()->errorCode() != '00000') { - engelsystem_error('Unable to load shift.'); - } - if (empty($shifts_source)) { return null; } @@ -601,7 +573,7 @@ function Shift($shift_id) /** * Returns all shifts with needed angeltypes and count of subscribed jobs. * - * @return array|false + * @return array */ function Shifts() { @@ -612,10 +584,6 @@ function Shifts() JOIN `Room` ON `Room`.`RID` = `Shifts`.`RID` '); - if (DB::getStm()->errorCode() != '00000') { - return false; - } - foreach ($shifts_source as &$shift) { $needed_angeltypes = NeededAngelTypes_by_shift($shift['SID']); $shift['angeltypes'] = $needed_angeltypes; diff --git a/includes/model/UserAngelTypes_model.php b/includes/model/UserAngelTypes_model.php index 43bd23bc..3ec151fb 100644 --- a/includes/model/UserAngelTypes_model.php +++ b/includes/model/UserAngelTypes_model.php @@ -27,23 +27,16 @@ function UserAngelType_exists($user, $angeltype) * List users angeltypes. * * @param array $user - * @return array|false + * @return array */ function User_angeltypes($user) { - $result = DB::select(' + return DB::select(' SELECT `AngelTypes`.*, `UserAngelTypes`.`confirm_user_id`, `UserAngelTypes`.`supporter` FROM `UserAngelTypes` JOIN `AngelTypes` ON `UserAngelTypes`.`angeltype_id` = `AngelTypes`.`id` WHERE `UserAngelTypes`.`user_id`=? ', [$user['UID']]); - - if (DB::getStm()->errorCode() != '00000') { - engelsystem_error('Unable to load user angeltypes.'); - return false; - } - - return $result; } /** @@ -54,7 +47,7 @@ function User_angeltypes($user) */ function User_unconfirmed_AngelTypes($user) { - $result = DB::select(' + return DB::select(' SELECT `UserAngelTypes`.*, `AngelTypes`.`name`, @@ -69,12 +62,6 @@ function User_unconfirmed_AngelTypes($user) GROUP BY `UserAngelTypes`.`angeltype_id` ORDER BY `AngelTypes`.`name` ', [$user['UID']]); - - if (DB::getStm()->errorCode() != '00000') { - engelsystem_error('Unable to load user angeltypes.'); - } - - return $result; } /** @@ -216,10 +203,6 @@ function UserAngelType($user_angeltype_id) WHERE `id`=? LIMIT 1', [$user_angeltype_id]); - if (DB::getStm()->errorCode() != '00000') { - engelsystem_error('Unable to load user angeltype.'); - } - if (empty($angeltype)) { return null; } @@ -249,10 +232,6 @@ function UserAngelType_by_User_and_AngelType($user, $angeltype) ] ); - if (DB::getStm()->errorCode() != '00000') { - engelsystem_error('Unable to load user angeltype.'); - } - if (empty($angeltype)) { return null; } diff --git a/includes/model/UserDriverLicenses_model.php b/includes/model/UserDriverLicenses_model.php index bc9b6516..515a2701 100644 --- a/includes/model/UserDriverLicenses_model.php +++ b/includes/model/UserDriverLicenses_model.php @@ -41,7 +41,7 @@ function UserDriverLicense_valid($user_driver_license) * Get a users driver license information * * @param int $user_id The users id - * @return array|false|null + * @return array|null */ function UserDriverLicense($user_id) { @@ -50,11 +50,6 @@ function UserDriverLicense($user_id) FROM `UserDriverLicenses` WHERE `user_id`=?', [$user_id]); - if (DB::getStm()->errorCode() != '00000') { - engelsystem_error('Unable to load user driver license.'); - return false; - } - if (empty($user_driver_license)) { return null; } diff --git a/includes/model/User_model.php b/includes/model/User_model.php index adf81393..b08569d0 100644 --- a/includes/model/User_model.php +++ b/includes/model/User_model.php @@ -184,23 +184,17 @@ function User_sortable_columns() * Get all users, ordered by Nick by default or by given param. * * @param string $order_by - * @return array|false + * @return array */ function Users($order_by = 'Nick') { - $result = DB::select(sprintf(' + return DB::select(sprintf(' SELECT * FROM `User` ORDER BY `%s` ASC ', trim(DB::getPdo()->quote($order_by), '\'') )); - - if (DB::getStm()->errorCode() != '00000') { - return false; - } - - return $result; } /** @@ -224,7 +218,7 @@ function User_is_freeloader($user) */ function Users_by_angeltype_inverted($angeltype) { - $result = DB::select(' + return DB::select(' SELECT `User`.* FROM `User` LEFT JOIN `UserAngelTypes` @@ -236,10 +230,6 @@ function Users_by_angeltype_inverted($angeltype) $angeltype['id'] ] ); - if (DB::getStm()->errorCode() != '00000') { - engelsystem_error('Unable to load users.'); - } - return $result; } /** @@ -250,7 +240,7 @@ function Users_by_angeltype_inverted($angeltype) */ function Users_by_angeltype($angeltype) { - $result = DB::select(' + return DB::select(' SELECT `User`.*, `UserAngelTypes`.`id` AS `user_angeltype_id`, @@ -267,10 +257,6 @@ function Users_by_angeltype($angeltype) $angeltype['id'] ] ); - if (DB::getStm()->errorCode() != '00000') { - engelsystem_error('Unable to load members.'); - } - return $result; } /** @@ -397,10 +383,6 @@ function User($user_id) { $user_source = DB::select('SELECT * FROM `User` WHERE `UID`=? LIMIT 1', [$user_id]); - if (DB::getStm()->errorCode() != '00000') { - engelsystem_error('Unable to load user.'); - } - if (empty($user_source)) { return null; } @@ -413,16 +395,12 @@ function User($user_id) * * @param string $api_key * User api key - * @return array|null Matching user, null on error + * @return array|null Matching user, null if not found */ function User_by_api_key($api_key) { $user = DB::select('SELECT * FROM `User` WHERE `api_key`=? LIMIT 1', [$api_key]); - if (DB::getStm()->errorCode() != '00000') { - engelsystem_error('Unable to find user by api key.'); - } - if (empty($user)) { return null; } @@ -440,10 +418,6 @@ function User_by_email($email) { $user = DB::select('SELECT * FROM `User` WHERE `email`=? LIMIT 1', [$email]); - if (DB::getStm()->errorCode() != '00000') { - engelsystem_error('Unable to load user.'); - } - if (empty($user)) { return null; } @@ -461,10 +435,6 @@ function User_by_password_recovery_token($token) { $user = DB::select('SELECT * FROM `User` WHERE `password_recovery_token`=? LIMIT 1', [$token]); - if (DB::getStm()->errorCode() != '00000') { - engelsystem_error('Unable to load user.'); - } - if (empty($user)) { return null; } diff --git a/includes/pages/admin_import.php b/includes/pages/admin_import.php index 506a9dbe..bda5ba93 100644 --- a/includes/pages/admin_import.php +++ b/includes/pages/admin_import.php @@ -45,9 +45,6 @@ function admin_import() $add_minutes_end = 15; $shifttypes_source = ShiftTypes(); - if ($shifttypes_source === false) { - engelsystem_error('Unable to load shifttypes.'); - } $shifttypes = []; foreach ($shifttypes_source as $shifttype) { $shifttypes[$shifttype['id']] = $shifttype['name']; @@ -265,17 +262,11 @@ function admin_import() $add_minutes_end ); foreach ($events_new as $event) { - $result = Shift_create($event); - if ($result === false) { - engelsystem_error('Unable to create shift.'); - } + Shift_create($event); } foreach ($events_updated as $event) { - $result = Shift_update_by_psid($event); - if ($result === false) { - engelsystem_error('Unable to update shift.'); - } + Shift_update_by_psid($event); } foreach ($events_deleted as $event) { diff --git a/includes/pages/admin_rooms.php b/includes/pages/admin_rooms.php index d49db707..5d10304b 100644 --- a/includes/pages/admin_rooms.php +++ b/includes/pages/admin_rooms.php @@ -50,9 +50,6 @@ function admin_rooms() if (test_request_int('id')) { $room = Room($request->input('id'), false); - if ($room === false) { - engelsystem_error('Unable to load room.'); - } if ($room == null) { redirect(page_link_to('admin_rooms')); } diff --git a/includes/pages/admin_shifts.php b/includes/pages/admin_shifts.php index 5b53f9cd..36028792 100644 --- a/includes/pages/admin_shifts.php +++ b/includes/pages/admin_shifts.php @@ -44,9 +44,6 @@ function admin_shifts() // Load shift types $shifttypes_source = ShiftTypes(); - if ($shifttypes_source === false) { - engelsystem_error('Unable to load shift types.'); - } $shifttypes = []; foreach ($shifttypes_source as $shifttype) { $shifttypes[$shifttype['id']] = $shifttype['name']; @@ -319,9 +316,6 @@ function admin_shifts() $shift['URL'] = null; $shift['PSID'] = null; $shift_id = Shift_create($shift); - if ($shift_id === false) { - engelsystem_error('Unable to create shift.'); - } engelsystem_log( 'Shift created: ' . $shifttypes[$shift['shifttype_id']] diff --git a/includes/view/ShiftCalendarLane.php b/includes/view/ShiftCalendarLane.php index 774683bd..251b8013 100644 --- a/includes/view/ShiftCalendarLane.php +++ b/includes/view/ShiftCalendarLane.php @@ -38,15 +38,14 @@ class ShiftCalendarLane * Returns true on success. * * @param array $shift The shift to add - * @return boolean true on success */ public function addShift($shift) { if ($this->shiftFits($shift)) { $this->shifts[] = $shift; - return true; + return; } - return false; + throw new Exception('Unable to add shift to shift calendar lane.'); } /** diff --git a/includes/view/ShiftCalendarRenderer.php b/includes/view/ShiftCalendarRenderer.php index aad0d643..df24ad3b 100644 --- a/includes/view/ShiftCalendarRenderer.php +++ b/includes/view/ShiftCalendarRenderer.php @@ -1,9 +1,9 @@ <?php - namespace Engelsystem; class ShiftCalendarRenderer { + /** * 15m * 60s/m = 900s */ @@ -49,10 +49,10 @@ class ShiftCalendarRenderer /** * ShiftCalendarRenderer constructor. * - * @param array[] $shifts - * @param array[] $needed_angeltypes - * @param array[] $shift_entries - * @param ShiftsFilter $shiftsFilter + * @param array[] $shifts + * @param array[] $needed_angeltypes + * @param array[] $shift_entries + * @param ShiftsFilter $shiftsFilter */ public function __construct($shifts, $needed_angeltypes, $shift_entries, ShiftsFilter $shiftsFilter) { @@ -67,22 +67,23 @@ class ShiftCalendarRenderer /** * Assigns the shifts to different lanes per room if they collide * - * @param array[] $shifts The shifts to assign - * + * @param array[] $shifts + * The shifts to assign + * * @return array Returns an array that assigns a room_id to an array of ShiftCalendarLane containing the shifts */ private function assignShiftsToLanes($shifts) { // array that assigns a room id to a list of lanes (per room) $lanes = []; - + foreach ($shifts as $shift) { $room_id = $shift['RID']; $header = Room_name_render([ - 'RID' => $room_id, + 'RID' => $room_id, 'Name' => $shift['room_name'] ]); - if (!isset($lanes[$room_id])) { + if (! isset($lanes[$room_id])) { // initialize room with one lane $lanes[$room_id] = [ new ShiftCalendarLane($header, $this->getFirstBlockStartTime(), $this->getBlocksPerSlot()) @@ -92,25 +93,25 @@ class ShiftCalendarRenderer $shift_added = false; foreach ($lanes[$room_id] as $lane) { /** @var ShiftCalendarLane $lane */ - $shift_added = $lane->addShift($shift); - if ($shift_added == true) { + try { + $lane->addShift($shift); + } catch (Exception $e) { break; } } // If all lanes for this room are busy, create a new lane and add shift to it if ($shift_added == false) { $newLane = new ShiftCalendarLane($header, $this->getFirstBlockStartTime(), $this->getBlocksPerSlot()); - if (!$newLane->addShift($shift)) { - engelsystem_error('Unable to add shift to new lane.'); - } + $newLane->addShift($shift); $lanes[$room_id][] = $newLane; } } - + return $lanes; } /** + * * @return int */ public function getFirstBlockStartTime() @@ -119,6 +120,7 @@ class ShiftCalendarRenderer } /** + * * @return int */ public function getLastBlockEndTime() @@ -127,6 +129,7 @@ class ShiftCalendarRenderer } /** + * * @return float */ public function getBlocksPerSlot() @@ -148,9 +151,9 @@ class ShiftCalendarRenderer return ''; } return div('shift-calendar', [ - $this->renderTimeLane(), - $this->renderShiftLanes() - ]) . $this->renderLegend(); + $this->renderTimeLane(), + $this->renderShiftLanes() + ]) . $this->renderLegend(); } /** @@ -166,45 +169,41 @@ class ShiftCalendarRenderer $html .= $this->renderLane($lane); } } - + return $html; } /** * Renders a single lane * - * @param ShiftCalendarLane $lane The lane to render + * @param ShiftCalendarLane $lane + * The lane to render * @return string */ private function renderLane(ShiftCalendarLane $lane) { global $user; - + $shift_renderer = new ShiftCalendarShiftRenderer(); $html = ''; $rendered_until = $this->getFirstBlockStartTime(); - + foreach ($lane->getShifts() as $shift) { while ($rendered_until + ShiftCalendarRenderer::SECONDS_PER_ROW <= $shift['start']) { $html .= $this->renderTick($rendered_until); $rendered_until += ShiftCalendarRenderer::SECONDS_PER_ROW; } - - list($shift_height, $shift_html) = $shift_renderer->render( - $shift, - $this->needed_angeltypes[$shift['SID']], - $this->shift_entries[$shift['SID']], - $user - ); + + list ($shift_height, $shift_html) = $shift_renderer->render($shift, $this->needed_angeltypes[$shift['SID']], $this->shift_entries[$shift['SID']], $user); $html .= $shift_html; $rendered_until += $shift_height * ShiftCalendarRenderer::SECONDS_PER_ROW; } - + while ($rendered_until < $this->getLastBlockEndTime()) { $html .= $this->renderTick($rendered_until); $rendered_until += ShiftCalendarRenderer::SECONDS_PER_ROW; } - + return div('lane', [ div('header', $lane->getHeader()), $html @@ -214,21 +213,23 @@ class ShiftCalendarRenderer /** * Renders a tick/block for given time * - * @param int $time unix timestamp - * @param boolean $label Should time labels be generated? + * @param int $time + * unix timestamp + * @param boolean $label + * Should time labels be generated? * @return string rendered tick html */ private function renderTick($time, $label = false) { if ($time % (24 * 60 * 60) == 23 * 60 * 60) { - if (!$label) { + if (! $label) { return div('tick day'); } return div('tick day', [ date('m-d<b\r />H:i', $time) ]); } elseif ($time % (60 * 60) == 0) { - if (!$label) { + if (! $label) { return div('tick hour'); } return div('tick hour', [ @@ -250,7 +251,7 @@ class ShiftCalendarRenderer _('Time') ]) ]; - for ($block = 0; $block < $this->getBlocksPerSlot(); $block++) { + for ($block = 0; $block < $this->getBlocksPerSlot(); $block ++) { $thistime = $this->getFirstBlockStartTime() + ($block * ShiftCalendarRenderer::SECONDS_PER_ROW); $time_slot[] = $this->renderTick($thistime, true); } @@ -258,7 +259,8 @@ class ShiftCalendarRenderer } /** - * @param array[] $shifts + * + * @param array[] $shifts * @return int */ private function calcFirstBlockStartTime($shifts) @@ -273,7 +275,8 @@ class ShiftCalendarRenderer } /** - * @param array[] $shifts + * + * @param array[] $shifts * @return int */ private function calcLastBlockEndTime($shifts) @@ -288,6 +291,7 @@ class ShiftCalendarRenderer } /** + * * @return int */ private function calcBlocksPerSlot() |