summaryrefslogtreecommitdiff
path: root/includes/model
diff options
context:
space:
mode:
Diffstat (limited to 'includes/model')
-rw-r--r--includes/model/AngelType_model.php6
-rw-r--r--includes/model/EventConfig_model.php11
-rw-r--r--includes/model/LogEntries_model.php2
-rw-r--r--includes/model/Message_model.php4
-rw-r--r--includes/model/Room_model.php6
-rw-r--r--includes/model/ShiftEntry_model.php4
-rw-r--r--includes/model/ShiftTypes_model.php4
-rw-r--r--includes/model/Shifts_model.php14
-rw-r--r--includes/model/UserAngelTypes_model.php8
-rw-r--r--includes/model/UserDriverLicenses_model.php4
-rw-r--r--includes/model/UserWorkLog_model.php78
-rw-r--r--includes/model/User_model.php38
12 files changed, 113 insertions, 66 deletions
diff --git a/includes/model/AngelType_model.php b/includes/model/AngelType_model.php
index 6feb9dd0..2dff7019 100644
--- a/includes/model/AngelType_model.php
+++ b/includes/model/AngelType_model.php
@@ -159,7 +159,7 @@ function AngelType_validate_name($name, $angeltype)
if ($name == '') {
return new ValidationResult(false, '');
}
- if ($angeltype != null && isset($angeltype['id'])) {
+ if (!empty($angeltype) && isset($angeltype['id'])) {
$valid = (count(DB::select('
SELECT `id`
FROM `AngelTypes`
@@ -229,8 +229,10 @@ function AngelType_ids()
*/
function AngelType($angeltype_id)
{
- return DB::selectOne(
+ $angelType = DB::selectOne(
'SELECT * FROM `AngelTypes` WHERE `id`=?',
[$angeltype_id]
);
+
+ return empty($angelType) ? null : $angelType;
}
diff --git a/includes/model/EventConfig_model.php b/includes/model/EventConfig_model.php
index 646d19c5..766a5849 100644
--- a/includes/model/EventConfig_model.php
+++ b/includes/model/EventConfig_model.php
@@ -9,7 +9,9 @@ use Engelsystem\Database\DB;
*/
function EventConfig()
{
- return DB::selectOne('SELECT * FROM `EventConfig` LIMIT 1');
+ $config = DB::selectOne('SELECT * FROM `EventConfig` LIMIT 1');
+
+ return empty($config) ? null : $config;
}
/**
@@ -21,7 +23,7 @@ function EventConfig()
* @param int $event_end_date
* @param int $teardown_end_date
* @param string $event_welcome_msg
- * @return int Rows updated
+ * @return bool
*/
function EventConfig_update(
$event_name,
@@ -31,7 +33,8 @@ function EventConfig_update(
$teardown_end_date,
$event_welcome_msg
) {
- if (EventConfig() == null) {
+ $eventConfig = EventConfig();
+ if (empty($eventConfig)) {
return DB::insert('
INSERT INTO `EventConfig` (
`event_name`,
@@ -54,7 +57,7 @@ function EventConfig_update(
);
}
- return DB::update('
+ return (bool)DB::update('
UPDATE `EventConfig` SET
`event_name` = ?,
`buildup_start_date` = ?,
diff --git a/includes/model/LogEntries_model.php b/includes/model/LogEntries_model.php
index f0ee6673..b16c598c 100644
--- a/includes/model/LogEntries_model.php
+++ b/includes/model/LogEntries_model.php
@@ -58,5 +58,5 @@ function LogEntries_filter($keyword)
*/
function LogEntries_clear_all()
{
- return DB::statement('TRUNCATE `LogEntries`');
+ return DB::connection()->statement('TRUNCATE `LogEntries`');
}
diff --git a/includes/model/Message_model.php b/includes/model/Message_model.php
index 5185785a..3f66f74a 100644
--- a/includes/model/Message_model.php
+++ b/includes/model/Message_model.php
@@ -20,7 +20,9 @@ function Message_ids()
*/
function Message($message_id)
{
- return DB::selectOne('SELECT * FROM `Messages` WHERE `id`=? LIMIT 1', [$message_id]);
+ $message = DB::selectOne('SELECT * FROM `Messages` WHERE `id`=? LIMIT 1', [$message_id]);
+
+ return empty($message) ? null : $message;
}
/**
diff --git a/includes/model/Room_model.php b/includes/model/Room_model.php
index f153cd52..b29f68fe 100644
--- a/includes/model/Room_model.php
+++ b/includes/model/Room_model.php
@@ -148,14 +148,16 @@ function Room_update($room_id, $name, $from_frab, $map_url, $description)
* Returns room by id.
*
* @param int $room_id RID
- * @return array|false
+ * @return array|null
*/
function Room($room_id)
{
- return DB::selectOne('
+ $room = DB::selectOne('
SELECT *
FROM `Room`
WHERE `RID` = ?', [
$room_id
]);
+
+ return empty($room) ? null : $room;
}
diff --git a/includes/model/ShiftEntry_model.php b/includes/model/ShiftEntry_model.php
index bb9db49d..ebf600f3 100644
--- a/includes/model/ShiftEntry_model.php
+++ b/includes/model/ShiftEntry_model.php
@@ -138,7 +138,9 @@ function ShiftEntry_update($shift_entry)
*/
function ShiftEntry($shift_entry_id)
{
- return DB::selectOne('SELECT * FROM `ShiftEntry` WHERE `id` = ?', [$shift_entry_id]);
+ $shiftEntry = DB::selectOne('SELECT * FROM `ShiftEntry` WHERE `id` = ?', [$shift_entry_id]);
+
+ return empty($shiftEntry) ? null : $shiftEntry;
}
/**
diff --git a/includes/model/ShiftTypes_model.php b/includes/model/ShiftTypes_model.php
index 3d2dc9fe..599810be 100644
--- a/includes/model/ShiftTypes_model.php
+++ b/includes/model/ShiftTypes_model.php
@@ -70,7 +70,9 @@ function ShiftType_create($name, $angeltype_id, $description)
*/
function ShiftType($shifttype_id)
{
- return DB::selectOne('SELECT * FROM `ShiftTypes` WHERE `id`=?', [$shifttype_id]);
+ $shiftType = DB::selectOne('SELECT * FROM `ShiftTypes` WHERE `id`=?', [$shifttype_id]);
+
+ return empty($shiftType) ? null : $shiftType;
}
/**
diff --git a/includes/model/Shifts_model.php b/includes/model/Shifts_model.php
index 62335882..94513ff3 100644
--- a/includes/model/Shifts_model.php
+++ b/includes/model/Shifts_model.php
@@ -182,7 +182,7 @@ function NeededAngeltypes_by_ShiftsFilter(ShiftsFilter $shiftsFilter)
/**
* @param array $shift
* @param array $angeltype
- * @return array|null
+ * @return array
*/
function NeededAngeltype_by_Shift_and_Angeltype($shift, $angeltype)
{
@@ -323,7 +323,7 @@ function Shift_signup_allowed_angel(
return new ShiftSignupState(ShiftSignupState::NOT_ARRIVED, $free_entries);
}
- if ($user_shifts == null) {
+ if (empty($user_shifts)) {
$user_shifts = Shifts_by_user($user);
}
@@ -349,14 +349,14 @@ function Shift_signup_allowed_angel(
return new ShiftSignupState(ShiftSignupState::OCCUPIED, $free_entries);
}
- if ($user_angeltype == null) {
+ if (empty($user_angeltype)) {
$user_angeltype = UserAngelType_by_User_and_AngelType($user, $angeltype);
}
if (
- $user_angeltype == null
- || ($angeltype['no_self_signup'] == 1 && $user_angeltype != null)
- || ($angeltype['restricted'] == 1 && $user_angeltype != null && !isset($user_angeltype['confirm_user_id']))
+ empty($user_angeltype)
+ || ($angeltype['no_self_signup'] == 1 && !empty($user_angeltype))
+ || ($angeltype['restricted'] == 1 && !empty($user_angeltype) && !isset($user_angeltype['confirm_user_id']))
) {
// you cannot join if user is not of this angel type
// you cannot join if you are not confirmed
@@ -552,7 +552,7 @@ function Shift_update($shift)
* Update a shift by its external id.
*
* @param array $shift
- * @return bool|null
+ * @return int
* @throws Exception
*/
function Shift_update_by_psid($shift)
diff --git a/includes/model/UserAngelTypes_model.php b/includes/model/UserAngelTypes_model.php
index 71901b97..b1005095 100644
--- a/includes/model/UserAngelTypes_model.php
+++ b/includes/model/UserAngelTypes_model.php
@@ -197,11 +197,13 @@ function UserAngelType_create($user, $angeltype)
*/
function UserAngelType($user_angeltype_id)
{
- return DB::selectOne('
+ $angelType = DB::selectOne('
SELECT *
FROM `UserAngelTypes`
WHERE `id`=?
LIMIT 1', [$user_angeltype_id]);
+
+ return empty($angelType) ? null : $angelType;
}
/**
@@ -213,7 +215,7 @@ function UserAngelType($user_angeltype_id)
*/
function UserAngelType_by_User_and_AngelType($user, $angeltype)
{
- return DB::selectOne('
+ $angelType = DB::selectOne('
SELECT *
FROM `UserAngelTypes`
WHERE `user_id`=?
@@ -225,6 +227,8 @@ function UserAngelType_by_User_and_AngelType($user, $angeltype)
$angeltype['id']
]
);
+
+ return empty($angelType) ? null : $angelType;
}
/**
diff --git a/includes/model/UserDriverLicenses_model.php b/includes/model/UserDriverLicenses_model.php
index dc38368b..2c251d66 100644
--- a/includes/model/UserDriverLicenses_model.php
+++ b/includes/model/UserDriverLicenses_model.php
@@ -45,10 +45,12 @@ function UserDriverLicense_valid($user_driver_license)
*/
function UserDriverLicense($user_id)
{
- return DB::selectOne('
+ $driverLicense = DB::selectOne('
SELECT *
FROM `UserDriverLicenses`
WHERE `user_id`=?', [$user_id]);
+
+ return empty($driverLicense) ? null : $driverLicense;
}
/**
diff --git a/includes/model/UserWorkLog_model.php b/includes/model/UserWorkLog_model.php
index 36442943..ff39ba8f 100644
--- a/includes/model/UserWorkLog_model.php
+++ b/includes/model/UserWorkLog_model.php
@@ -1,22 +1,27 @@
<?php
+
use Engelsystem\Database\Db;
/**
* Load a single work log entry.
- *
- * @param int $user_worklog_id
+ *
+ * @param int $user_worklog_id
+ * @return array|null
*/
function UserWorkLog($user_worklog_id)
{
- return Db::selectOne("SELECT * FROM `UserWorkLog` WHERE `id`=?", [
+ $workLog = Db::selectOne("SELECT * FROM `UserWorkLog` WHERE `id`=?", [
$user_worklog_id
]);
+
+ return empty($workLog) ? null : $workLog;
}
/**
* Returns all work log entries for a user.
- *
- * @param User $user
+ *
+ * @param array $user
+ * @return array[]
*/
function UserWorkLogsForUser($user)
{
@@ -27,8 +32,9 @@ function UserWorkLogsForUser($user)
/**
* Delete a work log entry.
- *
- * @param UserWorkLog $userWorkLog
+ *
+ * @param $userWorkLog
+ * @return int
*/
function UserWorkLog_delete($userWorkLog)
{
@@ -36,21 +42,27 @@ function UserWorkLog_delete($userWorkLog)
$result = Db::delete("DELETE FROM `UserWorkLog` WHERE `id`=?", [
$userWorkLog['id']
]);
-
- engelsystem_log(sprintf('Delete work log for %s, %s hours, %s', User_Nick_render($user_source), $userWorkLog['work_hours'], $userWorkLog['comment']));
-
+
+ engelsystem_log(sprintf(
+ 'Delete work log for %s, %s hours, %s',
+ User_Nick_render($user_source),
+ $userWorkLog['work_hours'],
+ $userWorkLog['comment']
+ ));
+
return $result;
}
/**
* Update work log entry (only work hours and comment)
- *
- * @param UserWorkLog $userWorkLog
+ *
+ * @param $userWorkLog
+ * @return int
*/
function UserWorkLog_update($userWorkLog)
{
$user_source = User($userWorkLog['user_id']);
-
+
$result = Db::update("UPDATE `UserWorkLog` SET
`work_timestamp`=?,
`work_hours`=?,
@@ -61,23 +73,29 @@ function UserWorkLog_update($userWorkLog)
$userWorkLog['comment'],
$userWorkLog['id']
]);
-
- engelsystem_log(sprintf('Updated work log for %s, %s hours, %s', User_Nick_render($user_source), $userWorkLog['work_hours'], $userWorkLog['comment']));
-
+
+ engelsystem_log(sprintf(
+ 'Updated work log for %s, %s hours, %s',
+ User_Nick_render($user_source),
+ $userWorkLog['work_hours'],
+ $userWorkLog['comment'])
+ );
+
return $result;
}
/**
* Create a new work log entry
- *
- * @param UserWorkLog $userWorkLog
+ *
+ * @param $userWorkLog
+ * @return bool
*/
function UserWorkLog_create($userWorkLog)
{
global $user;
-
+
$user_source = User($userWorkLog['user_id']);
-
+
$result = Db::insert("INSERT INTO `UserWorkLog` (
`user_id`,
`work_timestamp`,
@@ -94,30 +112,30 @@ function UserWorkLog_create($userWorkLog)
$user['UID'],
time()
]);
-
- engelsystem_log(sprintf('Added work log entry for %s, %s hours, %s', User_Nick_render($user_source), $userWorkLog['work_hours'], $userWorkLog['comment']));
-
+
+ engelsystem_log(sprintf('Added work log entry for %s, %s hours, %s', User_Nick_render($user_source),
+ $userWorkLog['work_hours'], $userWorkLog['comment']));
+
return $result;
}
/**
* New user work log entry
*
- * @param array[] $user
+ * @param array[] $user
+ * @return array
*/
function UserWorkLog_new($user)
{
$work_date = parse_date('Y-m-d H:i', date('Y-m-d 00:00', time()));
$event_config = EventConfig();
- if (! empty($event_config['buildup_start_date'])) {
+ if (!empty($event_config['buildup_start_date'])) {
$work_date = parse_date('Y-m-d H:i', date('Y-m-d 00:00', $event_config['buildup_start_date']));
}
return [
- 'user_id' => $user['UID'],
+ 'user_id' => $user['UID'],
'work_timestamp' => $work_date,
- 'work_hours' => 0,
- 'comment' => ''
+ 'work_hours' => 0,
+ 'comment' => ''
];
}
-
-?> \ No newline at end of file
diff --git a/includes/model/User_model.php b/includes/model/User_model.php
index 7ea3ca3e..d2498462 100644
--- a/includes/model/User_model.php
+++ b/includes/model/User_model.php
@@ -20,12 +20,14 @@ function User_delete($user_id)
/**
* Returns the tshirt score (number of hours counted for tshirt).
* Accounts only ended shifts.
- *
+ *
* @param array[] $user
+ * @return int
*/
-function User_tshirt_score($user) {
+function User_tshirt_score($user)
+{
$shift_sum_formula = config('shift_sum_formula');
-
+
$result_shifts = DB::selectOne('
SELECT ROUND((' . $shift_sum_formula . ') / 3600, 2) AS `tshirt_score`
FROM `User` LEFT JOIN `ShiftEntry` ON `User`.`UID` = `ShiftEntry`.`UID`
@@ -43,11 +45,11 @@ function User_tshirt_score($user) {
LEFT JOIN `UserWorkLog` ON `User`.`UID` = `UserWorkLog`.`user_id`
WHERE `User`.`UID` = ?
AND `UserWorkLog`.`work_timestamp` < ?
- ',[
+ ', [
$user['UID'],
time()
]);
-
+
return $result_shifts['tshirt_score'] + $result_worklog['tshirt_score'];
}
@@ -347,12 +349,12 @@ function User_validate_jabber($jabber)
*/
function User_validate_planned_arrival_date($planned_arrival_date)
{
- if ($planned_arrival_date == null) {
+ if (is_null($planned_arrival_date)) {
// null is not okay
return new ValidationResult(false, time());
}
$event_config = EventConfig();
- if ($event_config == null) {
+ if (empty($event_config)) {
// Nothing to validate against
return new ValidationResult(true, $planned_arrival_date);
}
@@ -376,7 +378,7 @@ function User_validate_planned_arrival_date($planned_arrival_date)
*/
function User_validate_planned_departure_date($planned_arrival_date, $planned_departure_date)
{
- if ($planned_departure_date == null) {
+ if (is_null($planned_departure_date)) {
// null is okay
return new ValidationResult(true, null);
}
@@ -385,7 +387,7 @@ function User_validate_planned_departure_date($planned_arrival_date, $planned_de
return new ValidationResult(false, $planned_arrival_date);
}
$event_config = EventConfig();
- if ($event_config == null) {
+ if (empty($event_config)) {
// Nothing to validate against
return new ValidationResult(true, $planned_departure_date);
}
@@ -408,7 +410,9 @@ function User_validate_planned_departure_date($planned_arrival_date, $planned_de
*/
function User($user_id)
{
- return DB::selectOne('SELECT * FROM `User` WHERE `UID`=? LIMIT 1', [$user_id]);
+ $user = DB::selectOne('SELECT * FROM `User` WHERE `UID`=? LIMIT 1', [$user_id]);
+
+ return empty($user) ? null : $user;
}
/**
@@ -419,18 +423,22 @@ function User($user_id)
*/
function User_by_api_key($api_key)
{
- return DB::selectOne('SELECT * FROM `User` WHERE `api_key`=? LIMIT 1', [$api_key]);
+ $user = DB::selectOne('SELECT * FROM `User` WHERE `api_key`=? LIMIT 1', [$api_key]);
+
+ return empty($user) ? null : $user;
}
/**
* Returns User by email.
*
* @param string $email
- * @return array|null Matching user, null on error
+ * @return array|null Matching user, null when not found
*/
function User_by_email($email)
{
- return DB::selectOne('SELECT * FROM `User` WHERE `email`=? LIMIT 1', [$email]);
+ $user = DB::selectOne('SELECT * FROM `User` WHERE `email`=? LIMIT 1', [$email]);
+
+ return empty($user) ? null : $user;
}
/**
@@ -441,7 +449,9 @@ function User_by_email($email)
*/
function User_by_password_recovery_token($token)
{
- return DB::selectOne('SELECT * FROM `User` WHERE `password_recovery_token`=? LIMIT 1', [$token]);
+ $user = DB::selectOne('SELECT * FROM `User` WHERE `password_recovery_token`=? LIMIT 1', [$token]);
+
+ return empty($user) ? null : $user;
}
/**