dried code by introducing selectOne for select queries with only one result line expected
This commit is contained in:
parent
69a1ee2bfe
commit
f82e5456d2
|
@ -43,7 +43,7 @@ function shift_entry_add_controller()
|
||||||
$type = AngelType($type_id);
|
$type = AngelType($type_id);
|
||||||
} else {
|
} else {
|
||||||
// TODO: Move queries to model
|
// TODO: Move queries to model
|
||||||
$type = DB::select('
|
$type = DB::selectOne('
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM `UserAngelTypes`
|
FROM `UserAngelTypes`
|
||||||
JOIN `AngelTypes` ON (`UserAngelTypes`.`angeltype_id` = `AngelTypes`.`id`)
|
JOIN `AngelTypes` ON (`UserAngelTypes`.`angeltype_id` = `AngelTypes`.`id`)
|
||||||
|
@ -56,7 +56,6 @@ function shift_entry_add_controller()
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
', [$type_id, $user['UID']]);
|
', [$type_id, $user['UID']]);
|
||||||
$type = array_shift($type);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (empty($type)) {
|
if (empty($type)) {
|
||||||
|
@ -241,7 +240,7 @@ function shift_entry_delete_controller()
|
||||||
}
|
}
|
||||||
$entry_id = $request->input('entry_id');
|
$entry_id = $request->input('entry_id');
|
||||||
|
|
||||||
$shift_entry_source = DB::select('
|
$shift_entry_source = DB::selectOne('
|
||||||
SELECT
|
SELECT
|
||||||
`User`.`Nick`,
|
`User`.`Nick`,
|
||||||
`ShiftEntry`.`Comment`,
|
`ShiftEntry`.`Comment`,
|
||||||
|
@ -260,9 +259,7 @@ function shift_entry_delete_controller()
|
||||||
WHERE `ShiftEntry`.`id`=?',
|
WHERE `ShiftEntry`.`id`=?',
|
||||||
[$entry_id]
|
[$entry_id]
|
||||||
);
|
);
|
||||||
if (count($shift_entry_source) > 0) {
|
if (!empty($shift_entry_source)) {
|
||||||
$shift_entry_source = array_shift($shift_entry_source);
|
|
||||||
|
|
||||||
if (!in_array('user_shifts_admin', $privileges) && (!in_array('shiftentry_edit_angeltype_supporter',
|
if (!in_array('user_shifts_admin', $privileges) && (!in_array('shiftentry_edit_angeltype_supporter',
|
||||||
$privileges) || !User_is_AngelType_supporter($user, AngelType($shift_entry_source['angeltype_id'])))
|
$privileges) || !User_is_AngelType_supporter($user, AngelType($shift_entry_source['angeltype_id'])))
|
||||||
) {
|
) {
|
||||||
|
|
|
@ -256,14 +256,8 @@ function AngelType_ids()
|
||||||
*/
|
*/
|
||||||
function AngelType($angeltype_id)
|
function AngelType($angeltype_id)
|
||||||
{
|
{
|
||||||
$angelType_source = DB::select(
|
return DB::selectOne(
|
||||||
'SELECT * FROM `AngelTypes` WHERE `id`=?',
|
'SELECT * FROM `AngelTypes` WHERE `id`=?',
|
||||||
[$angeltype_id]
|
[$angeltype_id]
|
||||||
);
|
);
|
||||||
|
|
||||||
if (empty($angelType_source)) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return array_shift($angelType_source);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,13 +9,7 @@ use Engelsystem\Database\DB;
|
||||||
*/
|
*/
|
||||||
function EventConfig()
|
function EventConfig()
|
||||||
{
|
{
|
||||||
$event_config = DB::select('SELECT * FROM `EventConfig` LIMIT 1');
|
return DB::selectOne('SELECT * FROM `EventConfig` LIMIT 1');
|
||||||
|
|
||||||
if (empty($event_config)) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return array_shift($event_config);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -20,11 +20,7 @@ function Message_ids()
|
||||||
*/
|
*/
|
||||||
function Message($message_id)
|
function Message($message_id)
|
||||||
{
|
{
|
||||||
$message_source = DB::select('SELECT * FROM `Messages` WHERE `id`=? LIMIT 1', [$message_id]);
|
return DB::selectOne('SELECT * FROM `Messages` WHERE `id`=? LIMIT 1', [$message_id]);
|
||||||
if (empty($message_source)) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return array_shift($message_source);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -58,17 +58,11 @@ function Room_create($name, $from_frab, $public, $number = null)
|
||||||
*/
|
*/
|
||||||
function Room($room_id, $onlyVisible = true)
|
function Room($room_id, $onlyVisible = true)
|
||||||
{
|
{
|
||||||
$room_source = DB::select('
|
return DB::selectOne('
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM `Room`
|
FROM `Room`
|
||||||
WHERE `RID` = ?
|
WHERE `RID` = ?
|
||||||
' . ($onlyVisible ? 'AND `show` = \'Y\'' : ''),
|
' . ($onlyVisible ? 'AND `show` = \'Y\'' : ''),
|
||||||
[$room_id]
|
[$room_id]
|
||||||
);
|
);
|
||||||
|
|
||||||
if (empty($room_source)) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return array_shift($room_source);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,10 +28,9 @@ function ShiftEntry_new()
|
||||||
*/
|
*/
|
||||||
function ShiftEntries_freeleaded_count()
|
function ShiftEntries_freeleaded_count()
|
||||||
{
|
{
|
||||||
$result = DB::select('SELECT COUNT(*) FROM `ShiftEntry` WHERE `freeloaded` = 1');
|
$result = DB::selectOne('SELECT COUNT(*) FROM `ShiftEntry` WHERE `freeloaded` = 1');
|
||||||
$result = array_shift($result);
|
|
||||||
|
|
||||||
if (!is_array($result)) {
|
if (empty($result)) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -129,13 +128,7 @@ function ShiftEntry_update($shift_entry)
|
||||||
*/
|
*/
|
||||||
function ShiftEntry($shift_entry_id)
|
function ShiftEntry($shift_entry_id)
|
||||||
{
|
{
|
||||||
$shift_entry = DB::select('SELECT * FROM `ShiftEntry` WHERE `id` = ?', [$shift_entry_id]);
|
return DB::selectOne('SELECT * FROM `ShiftEntry` WHERE `id` = ?', [$shift_entry_id]);
|
||||||
|
|
||||||
if (empty($shift_entry)) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $shift_entry[0];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -70,13 +70,7 @@ function ShiftType_create($name, $angeltype_id, $description)
|
||||||
*/
|
*/
|
||||||
function ShiftType($shifttype_id)
|
function ShiftType($shifttype_id)
|
||||||
{
|
{
|
||||||
$shifttype = DB::select('SELECT * FROM `ShiftTypes` WHERE `id`=?', [$shifttype_id]);
|
return DB::selectOne('SELECT * FROM `ShiftTypes` WHERE `id`=?', [$shifttype_id]);
|
||||||
|
|
||||||
if (empty($shifttype)) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return array_shift($shifttype);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -112,7 +112,7 @@ function NeededAngeltypes_by_ShiftsFilter(ShiftsFilter $shiftsFilter)
|
||||||
*/
|
*/
|
||||||
function NeededAngeltype_by_Shift_and_Angeltype($shift, $angeltype)
|
function NeededAngeltype_by_Shift_and_Angeltype($shift, $angeltype)
|
||||||
{
|
{
|
||||||
$result = DB::select('
|
return DB::selectOne('
|
||||||
SELECT
|
SELECT
|
||||||
`NeededAngelTypes`.*,
|
`NeededAngelTypes`.*,
|
||||||
`Shifts`.`SID`,
|
`Shifts`.`SID`,
|
||||||
|
@ -150,12 +150,6 @@ function NeededAngeltype_by_Shift_and_Angeltype($shift, $angeltype)
|
||||||
$angeltype['id']
|
$angeltype['id']
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
if (empty($result)) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $result[0];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -453,13 +447,13 @@ function Shift_update($shift)
|
||||||
*/
|
*/
|
||||||
function Shift_update_by_psid($shift)
|
function Shift_update_by_psid($shift)
|
||||||
{
|
{
|
||||||
$shift_source = DB::select('SELECT `SID` FROM `Shifts` WHERE `PSID`=?', [$shift['PSID']]);
|
$shift_source = DB::selectOne('SELECT `SID` FROM `Shifts` WHERE `PSID`=?', [$shift['PSID']]);
|
||||||
|
|
||||||
if (empty($shift_source)) {
|
if (empty($shift_source)) {
|
||||||
throw new Exception('Shift not found.');
|
throw new Exception('Shift not found.');
|
||||||
}
|
}
|
||||||
|
|
||||||
$shift['SID'] = $shift_source[0]['SID'];
|
$shift['SID'] = $shift_source['SID'];
|
||||||
return Shift_update($shift);
|
return Shift_update($shift);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -537,18 +531,16 @@ function Shifts_by_user($user, $include_freeload_comments = false)
|
||||||
*/
|
*/
|
||||||
function Shift($shift_id)
|
function Shift($shift_id)
|
||||||
{
|
{
|
||||||
$shifts_source = DB::select('
|
$result = DB::selectOne('
|
||||||
SELECT `Shifts`.*, `ShiftTypes`.`name`
|
SELECT `Shifts`.*, `ShiftTypes`.`name`
|
||||||
FROM `Shifts`
|
FROM `Shifts`
|
||||||
JOIN `ShiftTypes` ON (`ShiftTypes`.`id` = `Shifts`.`shifttype_id`)
|
JOIN `ShiftTypes` ON (`ShiftTypes`.`id` = `Shifts`.`shifttype_id`)
|
||||||
WHERE `SID`=?', [$shift_id]);
|
WHERE `SID`=?', [$shift_id]);
|
||||||
|
|
||||||
if (empty($shifts_source)) {
|
if (empty($result)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
$result = $shifts_source[0];
|
|
||||||
|
|
||||||
$shiftsEntry_source = DB::select('
|
$shiftsEntry_source = DB::select('
|
||||||
SELECT `id`, `TID` , `UID` , `freeloaded`
|
SELECT `id`, `TID` , `UID` , `freeloaded`
|
||||||
FROM `ShiftEntry`
|
FROM `ShiftEntry`
|
||||||
|
|
|
@ -197,17 +197,11 @@ function UserAngelType_create($user, $angeltype)
|
||||||
*/
|
*/
|
||||||
function UserAngelType($user_angeltype_id)
|
function UserAngelType($user_angeltype_id)
|
||||||
{
|
{
|
||||||
$angeltype = DB::select('
|
return DB::selectOne('
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM `UserAngelTypes`
|
FROM `UserAngelTypes`
|
||||||
WHERE `id`=?
|
WHERE `id`=?
|
||||||
LIMIT 1', [$user_angeltype_id]);
|
LIMIT 1', [$user_angeltype_id]);
|
||||||
|
|
||||||
if (empty($angeltype)) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $angeltype[0];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -219,7 +213,7 @@ function UserAngelType($user_angeltype_id)
|
||||||
*/
|
*/
|
||||||
function UserAngelType_by_User_and_AngelType($user, $angeltype)
|
function UserAngelType_by_User_and_AngelType($user, $angeltype)
|
||||||
{
|
{
|
||||||
$angeltype = DB::select('
|
return DB::selectOne('
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM `UserAngelTypes`
|
FROM `UserAngelTypes`
|
||||||
WHERE `user_id`=?
|
WHERE `user_id`=?
|
||||||
|
@ -231,10 +225,4 @@ function UserAngelType_by_User_and_AngelType($user, $angeltype)
|
||||||
$angeltype['id']
|
$angeltype['id']
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
if (empty($angeltype)) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return array_shift($angeltype);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,16 +45,10 @@ function UserDriverLicense_valid($user_driver_license)
|
||||||
*/
|
*/
|
||||||
function UserDriverLicense($user_id)
|
function UserDriverLicense($user_id)
|
||||||
{
|
{
|
||||||
$user_driver_license = DB::select('
|
return DB::selectOne('
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM `UserDriverLicenses`
|
FROM `UserDriverLicenses`
|
||||||
WHERE `user_id`=?', [$user_id]);
|
WHERE `user_id`=?', [$user_id]);
|
||||||
|
|
||||||
if (empty($user_driver_license)) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return array_shift($user_driver_license);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -87,8 +87,7 @@ function User_update($user)
|
||||||
*/
|
*/
|
||||||
function User_force_active_count()
|
function User_force_active_count()
|
||||||
{
|
{
|
||||||
$result = DB::select('SELECT COUNT(*) FROM `User` WHERE `force_active` = 1');
|
$result = DB::selectOne('SELECT COUNT(*) FROM `User` WHERE `force_active` = 1');
|
||||||
$result = array_shift($result);
|
|
||||||
|
|
||||||
if (empty($result)) {
|
if (empty($result)) {
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -102,8 +101,7 @@ function User_force_active_count()
|
||||||
*/
|
*/
|
||||||
function User_active_count()
|
function User_active_count()
|
||||||
{
|
{
|
||||||
$result = DB::select('SELECT COUNT(*) FROM `User` WHERE `Aktiv` = 1');
|
$result = DB::selectOne('SELECT COUNT(*) FROM `User` WHERE `Aktiv` = 1');
|
||||||
$result = array_shift($result);
|
|
||||||
|
|
||||||
if (empty($result)) {
|
if (empty($result)) {
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -117,8 +115,7 @@ function User_active_count()
|
||||||
*/
|
*/
|
||||||
function User_got_voucher_count()
|
function User_got_voucher_count()
|
||||||
{
|
{
|
||||||
$result = DB::select('SELECT SUM(`got_voucher`) FROM `User`');
|
$result = DB::selectOne('SELECT SUM(`got_voucher`) FROM `User`');
|
||||||
$result = array_shift($result);
|
|
||||||
|
|
||||||
if (empty($result)) {
|
if (empty($result)) {
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -132,8 +129,7 @@ function User_got_voucher_count()
|
||||||
*/
|
*/
|
||||||
function User_arrived_count()
|
function User_arrived_count()
|
||||||
{
|
{
|
||||||
$result = DB::select('SELECT COUNT(*) FROM `User` WHERE `Gekommen` = 1');
|
$result = DB::selectOne('SELECT COUNT(*) FROM `User` WHERE `Gekommen` = 1');
|
||||||
$result = array_shift($result);
|
|
||||||
|
|
||||||
if (empty($result)) {
|
if (empty($result)) {
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -147,8 +143,7 @@ function User_arrived_count()
|
||||||
*/
|
*/
|
||||||
function User_tshirts_count()
|
function User_tshirts_count()
|
||||||
{
|
{
|
||||||
$result = DB::select('SELECT COUNT(*) FROM `User` WHERE `Tshirt` = 1');
|
$result = DB::selectOne('SELECT COUNT(*) FROM `User` WHERE `Tshirt` = 1');
|
||||||
$result = array_shift($result);
|
|
||||||
|
|
||||||
if (empty($result)) {
|
if (empty($result)) {
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -382,13 +377,7 @@ function User_validate_planned_departure_date($planned_arrival_date, $planned_de
|
||||||
*/
|
*/
|
||||||
function User($user_id)
|
function User($user_id)
|
||||||
{
|
{
|
||||||
$user_source = DB::select('SELECT * FROM `User` WHERE `UID`=? LIMIT 1', [$user_id]);
|
return DB::selectOne('SELECT * FROM `User` WHERE `UID`=? LIMIT 1', [$user_id]);
|
||||||
|
|
||||||
if (empty($user_source)) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return array_shift($user_source);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -400,13 +389,7 @@ function User($user_id)
|
||||||
*/
|
*/
|
||||||
function User_by_api_key($api_key)
|
function User_by_api_key($api_key)
|
||||||
{
|
{
|
||||||
$user = DB::select('SELECT * FROM `User` WHERE `api_key`=? LIMIT 1', [$api_key]);
|
return DB::selectOne('SELECT * FROM `User` WHERE `api_key`=? LIMIT 1', [$api_key]);
|
||||||
|
|
||||||
if (empty($user)) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $user[0];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -417,30 +400,18 @@ function User_by_api_key($api_key)
|
||||||
*/
|
*/
|
||||||
function User_by_email($email)
|
function User_by_email($email)
|
||||||
{
|
{
|
||||||
$user = DB::select('SELECT * FROM `User` WHERE `email`=? LIMIT 1', [$email]);
|
return DB::selectOne('SELECT * FROM `User` WHERE `email`=? LIMIT 1', [$email]);
|
||||||
|
|
||||||
if (empty($user)) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return array_shift($user);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns User by password token.
|
* Returns User by password token.
|
||||||
*
|
*
|
||||||
* @param string $token
|
* @param string $token
|
||||||
* @return array|null Matching user, null or false on error
|
* @return array|null Matching user, null when not found
|
||||||
*/
|
*/
|
||||||
function User_by_password_recovery_token($token)
|
function User_by_password_recovery_token($token)
|
||||||
{
|
{
|
||||||
$user = DB::select('SELECT * FROM `User` WHERE `password_recovery_token`=? LIMIT 1', [$token]);
|
return DB::selectOne('SELECT * FROM `User` WHERE `password_recovery_token`=? LIMIT 1', [$token]);
|
||||||
|
|
||||||
if (empty($user)) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return array_shift($user);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -210,19 +210,17 @@ function admin_active()
|
||||||
$shirt_statistics = [];
|
$shirt_statistics = [];
|
||||||
foreach (array_keys($tshirt_sizes) as $size) {
|
foreach (array_keys($tshirt_sizes) as $size) {
|
||||||
if (!empty($size)) {
|
if (!empty($size)) {
|
||||||
$sc = DB::select(
|
$sc = DB::selectOne(
|
||||||
'SELECT count(*) FROM `User` WHERE `Size`=? AND `Gekommen`=1',
|
'SELECT count(*) FROM `User` WHERE `Size`=? AND `Gekommen`=1',
|
||||||
[$size]
|
[$size]
|
||||||
);
|
);
|
||||||
$sc = array_shift($sc);
|
$sc = array_shift($sc);
|
||||||
$sc = array_shift($sc);
|
|
||||||
|
|
||||||
$gc = DB::select(
|
$gc = DB::selectOne(
|
||||||
'SELECT count(*) FROM `User` WHERE `Size`=? AND `Tshirt`=1',
|
'SELECT count(*) FROM `User` WHERE `Size`=? AND `Tshirt`=1',
|
||||||
[$size]
|
[$size]
|
||||||
);
|
);
|
||||||
$gc = array_shift($gc);
|
$gc = array_shift($gc);
|
||||||
$gc = array_shift($gc);
|
|
||||||
|
|
||||||
$shirt_statistics[] = [
|
$shirt_statistics[] = [
|
||||||
'size' => $size,
|
'size' => $size,
|
||||||
|
@ -232,8 +230,7 @@ function admin_active()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$uc = DB::select('SELECT count(*) FROM `User` WHERE `Tshirt`=1');
|
$uc = DB::selectOne('SELECT count(*) FROM `User` WHERE `Tshirt`=1');
|
||||||
$uc = array_shift($uc);
|
|
||||||
$uc = array_shift($uc);
|
$uc = array_shift($uc);
|
||||||
|
|
||||||
$shirt_statistics[] = [
|
$shirt_statistics[] = [
|
||||||
|
|
|
@ -107,23 +107,21 @@ function admin_groups()
|
||||||
return error('Incomplete call, missing Groups ID.', true);
|
return error('Incomplete call, missing Groups ID.', true);
|
||||||
}
|
}
|
||||||
|
|
||||||
$group = DB::select('SELECT * FROM `Groups` WHERE `UID`=? LIMIT 1', [$group_id]);
|
$group = DB::selectOne('SELECT * FROM `Groups` WHERE `UID`=? LIMIT 1', [$group_id]);
|
||||||
$privileges = $request->get('privileges');
|
$privileges = $request->get('privileges');
|
||||||
if (!is_array($privileges)) {
|
if (!is_array($privileges)) {
|
||||||
$privileges = [];
|
$privileges = [];
|
||||||
}
|
}
|
||||||
if (!empty($group)) {
|
if (!empty($group)) {
|
||||||
$group = array_shift($group);
|
|
||||||
DB::delete('DELETE FROM `GroupPrivileges` WHERE `group_id`=?', [$group_id]);
|
DB::delete('DELETE FROM `GroupPrivileges` WHERE `group_id`=?', [$group_id]);
|
||||||
$privilege_names = [];
|
$privilege_names = [];
|
||||||
foreach ($privileges as $privilege) {
|
foreach ($privileges as $privilege) {
|
||||||
if (preg_match('/^\d{1,}$/', $privilege)) {
|
if (preg_match('/^\d{1,}$/', $privilege)) {
|
||||||
$group_privileges_source = DB::select(
|
$group_privileges_source = DB::selectOne(
|
||||||
'SELECT `name` FROM `Privileges` WHERE `id`=? LIMIT 1',
|
'SELECT `name` FROM `Privileges` WHERE `id`=? LIMIT 1',
|
||||||
[$privilege]
|
[$privilege]
|
||||||
);
|
);
|
||||||
if (!empty($group_privileges_source)) {
|
if (!empty($group_privileges_source)) {
|
||||||
$group_privileges_source = array_shift($group_privileges_source);
|
|
||||||
DB::insert(
|
DB::insert(
|
||||||
'INSERT INTO `GroupPrivileges` (`group_id`, `privilege_id`) VALUES (?, ?)',
|
'INSERT INTO `GroupPrivileges` (`group_id`, `privilege_id`) VALUES (?, ?)',
|
||||||
[$group_id, $privilege]
|
[$group_id, $privilege]
|
||||||
|
|
|
@ -21,14 +21,13 @@ function admin_news()
|
||||||
return error('Incomplete call, missing News ID.', true);
|
return error('Incomplete call, missing News ID.', true);
|
||||||
}
|
}
|
||||||
|
|
||||||
$news = DB::select('SELECT * FROM `News` WHERE `ID`=? LIMIT 1', [$news_id]);
|
$news = DB::selectOne('SELECT * FROM `News` WHERE `ID`=? LIMIT 1', [$news_id]);
|
||||||
if (empty($news)) {
|
if (empty($news)) {
|
||||||
return error('No News found.', true);
|
return error('No News found.', true);
|
||||||
}
|
}
|
||||||
|
|
||||||
switch ($request->input('action')) {
|
switch ($request->input('action')) {
|
||||||
case 'edit':
|
case 'edit':
|
||||||
$news = array_shift($news);
|
|
||||||
$user_source = User($news['UID']);
|
$user_source = User($news['UID']);
|
||||||
|
|
||||||
$html .= form([
|
$html .= form([
|
||||||
|
@ -70,7 +69,6 @@ function admin_news()
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'delete':
|
case 'delete':
|
||||||
$news = array_shift($news);
|
|
||||||
DB::delete('DELETE FROM `News` WHERE `ID`=? LIMIT 1', [$news_id]);
|
DB::delete('DELETE FROM `News` WHERE `ID`=? LIMIT 1', [$news_id]);
|
||||||
engelsystem_log('News deleted: ' . $news['Betreff']);
|
engelsystem_log('News deleted: ' . $news['Betreff']);
|
||||||
success(_('News entry deleted.'));
|
success(_('News entry deleted.'));
|
||||||
|
|
|
@ -105,11 +105,11 @@ function admin_questions()
|
||||||
return error('Incomplete call, missing Question ID.', true);
|
return error('Incomplete call, missing Question ID.', true);
|
||||||
}
|
}
|
||||||
|
|
||||||
$question = DB::select(
|
$question = DB::selectOne(
|
||||||
'SELECT * FROM `Questions` WHERE `QID`=? LIMIT 1',
|
'SELECT * FROM `Questions` WHERE `QID`=? LIMIT 1',
|
||||||
[$question_id]
|
[$question_id]
|
||||||
);
|
);
|
||||||
if (count($question) > 0 && $question[0]['AID'] == null) {
|
if (!empty($question) && $question['AID'] == null) {
|
||||||
$answer = trim(
|
$answer = trim(
|
||||||
preg_replace("/([^\p{L}\p{P}\p{Z}\p{N}\n]{1,})/ui",
|
preg_replace("/([^\p{L}\p{P}\p{Z}\p{N}\n]{1,})/ui",
|
||||||
'',
|
'',
|
||||||
|
@ -129,7 +129,7 @@ function admin_questions()
|
||||||
$question_id,
|
$question_id,
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
engelsystem_log('Question ' . $question[0]['Question'] . ' answered: ' . $answer);
|
engelsystem_log('Question ' . $question['Question'] . ' answered: ' . $answer);
|
||||||
redirect(page_link_to('admin_questions'));
|
redirect(page_link_to('admin_questions'));
|
||||||
} else {
|
} else {
|
||||||
return error('Enter an answer!', true);
|
return error('Enter an answer!', true);
|
||||||
|
@ -145,13 +145,13 @@ function admin_questions()
|
||||||
return error('Incomplete call, missing Question ID.', true);
|
return error('Incomplete call, missing Question ID.', true);
|
||||||
}
|
}
|
||||||
|
|
||||||
$question = DB::select(
|
$question = DB::selectOne(
|
||||||
'SELECT * FROM `Questions` WHERE `QID`=? LIMIT 1',
|
'SELECT * FROM `Questions` WHERE `QID`=? LIMIT 1',
|
||||||
[$question_id]
|
[$question_id]
|
||||||
);
|
);
|
||||||
if (count($question) > 0) {
|
if (!empty($question)) {
|
||||||
DB::delete('DELETE FROM `Questions` WHERE `QID`=? LIMIT 1', [$question_id]);
|
DB::delete('DELETE FROM `Questions` WHERE `QID`=? LIMIT 1', [$question_id]);
|
||||||
engelsystem_log('Question deleted: ' . $question[0]['Question']);
|
engelsystem_log('Question deleted: ' . $question['Question']);
|
||||||
redirect(page_link_to('admin_questions'));
|
redirect(page_link_to('admin_questions'));
|
||||||
} else {
|
} else {
|
||||||
return error('No question found.', true);
|
return error('No question found.', true);
|
||||||
|
|
|
@ -325,7 +325,7 @@ function admin_shifts()
|
||||||
);
|
);
|
||||||
|
|
||||||
foreach ($_SESSION['admin_shifts_types'] as $type_id => $count) {
|
foreach ($_SESSION['admin_shifts_types'] as $type_id => $count) {
|
||||||
$angel_type_source = DB::select('
|
$angel_type_source = DB::selectOne('
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM `AngelTypes`
|
FROM `AngelTypes`
|
||||||
WHERE `id` = ?
|
WHERE `id` = ?
|
||||||
|
@ -341,7 +341,7 @@ function admin_shifts()
|
||||||
$count
|
$count
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
$needed_angel_types_info[] = $angel_type_source[0]['name'] . ': ' . $count;
|
$needed_angel_types_info[] = $angel_type_source['name'] . ': ' . $count;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -116,20 +116,20 @@ function admin_user()
|
||||||
|
|
||||||
$html .= '<hr />';
|
$html .= '<hr />';
|
||||||
|
|
||||||
$my_highest_group = DB::select(
|
$my_highest_group = DB::selectOne(
|
||||||
'SELECT group_id FROM `UserGroups` WHERE `uid`=? ORDER BY `group_id` LIMIT 1',
|
'SELECT group_id FROM `UserGroups` WHERE `uid`=? ORDER BY `group_id` LIMIT 1',
|
||||||
[$user['UID']]
|
[$user['UID']]
|
||||||
);
|
);
|
||||||
if (count($my_highest_group) > 0) {
|
if (!empty($my_highest_group)) {
|
||||||
$my_highest_group = $my_highest_group[0]['group_id'];
|
$my_highest_group = $my_highest_group['group_id'];
|
||||||
}
|
}
|
||||||
|
|
||||||
$his_highest_group = DB::select(
|
$his_highest_group = DB::selectOne(
|
||||||
'SELECT `group_id` FROM `UserGroups` WHERE `uid`=? ORDER BY `group_id` LIMIT 1',
|
'SELECT `group_id` FROM `UserGroups` WHERE `uid`=? ORDER BY `group_id` LIMIT 1',
|
||||||
[$user_id]
|
[$user_id]
|
||||||
);
|
);
|
||||||
if (count($his_highest_group) > 0) {
|
if (!empty($his_highest_group)) {
|
||||||
$his_highest_group = $his_highest_group[0]['group_id'];
|
$his_highest_group = $his_highest_group['group_id'];
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($user_id != $user['UID'] && $my_highest_group <= $his_highest_group) {
|
if ($user_id != $user['UID'] && $my_highest_group <= $his_highest_group) {
|
||||||
|
@ -188,7 +188,7 @@ function admin_user()
|
||||||
count($my_highest_group) > 0
|
count($my_highest_group) > 0
|
||||||
&& (
|
&& (
|
||||||
count($his_highest_group) == 0
|
count($his_highest_group) == 0
|
||||||
|| ($my_highest_group[0]['group_id'] <= $his_highest_group[0]['group_id'])
|
|| ($my_highest_group['group_id'] <= $his_highest_group['group_id'])
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
$groups_source = DB::select('
|
$groups_source = DB::select('
|
||||||
|
@ -203,7 +203,7 @@ function admin_user()
|
||||||
',
|
',
|
||||||
[
|
[
|
||||||
$user_id,
|
$user_id,
|
||||||
$my_highest_group[0]['group_id'],
|
$my_highest_group['group_id'],
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
$groups = [];
|
$groups = [];
|
||||||
|
|
|
@ -399,9 +399,8 @@ function guest_login()
|
||||||
if ($request->has('submit')) {
|
if ($request->has('submit')) {
|
||||||
if ($request->has('nick') && strlen(User_validate_Nick($request->input('nick'))) > 0) {
|
if ($request->has('nick') && strlen(User_validate_Nick($request->input('nick'))) > 0) {
|
||||||
$nick = User_validate_Nick($request->input('nick'));
|
$nick = User_validate_Nick($request->input('nick'));
|
||||||
$login_user = DB::select('SELECT * FROM `User` WHERE `Nick`=?', [$nick]);
|
$login_user = DB::selectOne('SELECT * FROM `User` WHERE `Nick`=?', [$nick]);
|
||||||
if (count($login_user) > 0) {
|
if (!empty($login_user)) {
|
||||||
$login_user = $login_user[0];
|
|
||||||
if ($request->has('password')) {
|
if ($request->has('password')) {
|
||||||
if (!verify_password($request->post('password'), $login_user['Passwort'], $login_user['UID'])) {
|
if (!verify_password($request->post('password'), $login_user['Passwort'], $login_user['UID'])) {
|
||||||
$valid = false;
|
$valid = false;
|
||||||
|
|
|
@ -17,13 +17,12 @@ function guest_stats()
|
||||||
list($arrived_user_count) = DB::select('SELECT count(*) AS `user_count` FROM `User` WHERE `Gekommen`=1');
|
list($arrived_user_count) = DB::select('SELECT count(*) AS `user_count` FROM `User` WHERE `Gekommen`=1');
|
||||||
$stats['arrived_user_count'] = $arrived_user_count['user_count'];
|
$stats['arrived_user_count'] = $arrived_user_count['user_count'];
|
||||||
|
|
||||||
$done_shifts_seconds = DB::select('
|
$done_shifts_seconds = DB::selectOne('
|
||||||
SELECT SUM(`Shifts`.`end` - `Shifts`.`start`)
|
SELECT SUM(`Shifts`.`end` - `Shifts`.`start`)
|
||||||
FROM `ShiftEntry`
|
FROM `ShiftEntry`
|
||||||
JOIN `Shifts` USING (`SID`)
|
JOIN `Shifts` USING (`SID`)
|
||||||
WHERE `Shifts`.`end` < UNIX_TIMESTAMP()
|
WHERE `Shifts`.`end` < UNIX_TIMESTAMP()
|
||||||
');
|
');
|
||||||
$done_shifts_seconds = array_shift($done_shifts_seconds);
|
|
||||||
$done_shifts_seconds = (int)array_shift($done_shifts_seconds);
|
$done_shifts_seconds = (int)array_shift($done_shifts_seconds);
|
||||||
$stats['done_work_hours'] = round($done_shifts_seconds / (60 * 60), 0);
|
$stats['done_work_hours'] = round($done_shifts_seconds / (60 * 60), 0);
|
||||||
|
|
||||||
|
|
|
@ -130,11 +130,11 @@ function user_messages()
|
||||||
return error(_('Incomplete call, missing Message ID.'), true);
|
return error(_('Incomplete call, missing Message ID.'), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
$message = DB::select(
|
$message = DB::selectOne(
|
||||||
'SELECT `RUID` FROM `Messages` WHERE `id`=? LIMIT 1',
|
'SELECT `RUID` FROM `Messages` WHERE `id`=? LIMIT 1',
|
||||||
[$message_id]
|
[$message_id]
|
||||||
);
|
);
|
||||||
if (count($message) > 0 && $message[0]['RUID'] == $user['UID']) {
|
if (!empty($message) && $message['RUID'] == $user['UID']) {
|
||||||
DB::update(
|
DB::update(
|
||||||
'UPDATE `Messages` SET `isRead`=\'Y\' WHERE `id`=? LIMIT 1',
|
'UPDATE `Messages` SET `isRead`=\'Y\' WHERE `id`=? LIMIT 1',
|
||||||
[$message_id]
|
[$message_id]
|
||||||
|
@ -152,11 +152,11 @@ function user_messages()
|
||||||
return error(_('Incomplete call, missing Message ID.'), true);
|
return error(_('Incomplete call, missing Message ID.'), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
$message = DB::select(
|
$message = DB::selectOne(
|
||||||
'SELECT `SUID` FROM `Messages` WHERE `id`=? LIMIT 1',
|
'SELECT `SUID` FROM `Messages` WHERE `id`=? LIMIT 1',
|
||||||
[$message_id]
|
[$message_id]
|
||||||
);
|
);
|
||||||
if (count($message) > 0 && $message[0]['SUID'] == $user['UID']) {
|
if (!empty($message) && $message['SUID'] == $user['UID']) {
|
||||||
DB::delete('DELETE FROM `Messages` WHERE `id`=? LIMIT 1', [$message_id]);
|
DB::delete('DELETE FROM `Messages` WHERE `id`=? LIMIT 1', [$message_id]);
|
||||||
redirect(page_link_to('user_messages'));
|
redirect(page_link_to('user_messages'));
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -31,8 +31,7 @@ function user_myshifts()
|
||||||
$user_id = $user['UID'];
|
$user_id = $user['UID'];
|
||||||
}
|
}
|
||||||
|
|
||||||
$shifts_user = DB::select('SELECT * FROM `User` WHERE `UID`=? LIMIT 1', [$user_id]);
|
$shifts_user = DB::selectOne('SELECT * FROM `User` WHERE `UID`=? LIMIT 1', [$user_id]);
|
||||||
$shifts_user = array_shift($shifts_user);
|
|
||||||
|
|
||||||
if ($request->has('reset')) {
|
if ($request->has('reset')) {
|
||||||
if ($request->input('reset') == 'ack') {
|
if ($request->input('reset') == 'ack') {
|
||||||
|
@ -49,7 +48,7 @@ function user_myshifts()
|
||||||
]);
|
]);
|
||||||
} elseif ($request->has('edit') && preg_match('/^\d*$/', $request->input('edit'))) {
|
} elseif ($request->has('edit') && preg_match('/^\d*$/', $request->input('edit'))) {
|
||||||
$user_id = $request->input('edit');
|
$user_id = $request->input('edit');
|
||||||
$shift = DB::select('
|
$shift = DB::selectOne('
|
||||||
SELECT
|
SELECT
|
||||||
`ShiftEntry`.`freeloaded`,
|
`ShiftEntry`.`freeloaded`,
|
||||||
`ShiftEntry`.`freeload_comment`,
|
`ShiftEntry`.`freeload_comment`,
|
||||||
|
@ -74,7 +73,6 @@ function user_myshifts()
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
if (count($shift) > 0) {
|
if (count($shift) > 0) {
|
||||||
$shift = array_shift($shift);
|
|
||||||
$freeloaded = $shift['freeloaded'];
|
$freeloaded = $shift['freeloaded'];
|
||||||
$freeload_comment = $shift['freeload_comment'];
|
$freeload_comment = $shift['freeload_comment'];
|
||||||
|
|
||||||
|
@ -128,7 +126,7 @@ function user_myshifts()
|
||||||
}
|
}
|
||||||
} elseif ($request->has('cancel') && preg_match('/^\d*$/', $request->input('cancel'))) {
|
} elseif ($request->has('cancel') && preg_match('/^\d*$/', $request->input('cancel'))) {
|
||||||
$user_id = $request->input('cancel');
|
$user_id = $request->input('cancel');
|
||||||
$shift = DB::select('
|
$shift = DB::selectOne('
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM `Shifts`
|
FROM `Shifts`
|
||||||
INNER JOIN `ShiftEntry` USING (`SID`)
|
INNER JOIN `ShiftEntry` USING (`SID`)
|
||||||
|
@ -140,7 +138,6 @@ function user_myshifts()
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
if (count($shift) > 0) {
|
if (count($shift) > 0) {
|
||||||
$shift = array_shift($shift);
|
|
||||||
if (
|
if (
|
||||||
($shift['start'] > time() + config('last_unsubscribe') * 3600)
|
($shift['start'] > time() + config('last_unsubscribe') * 3600)
|
||||||
|| in_array('user_shifts_admin', $privileges)
|
|| in_array('user_shifts_admin', $privileges)
|
||||||
|
|
|
@ -126,8 +126,7 @@ function user_news_comments()
|
||||||
&& count(DB::select('SELECT `ID` FROM `News` WHERE `ID`=? LIMIT 1', [$request->input('nid')])) > 0
|
&& count(DB::select('SELECT `ID` FROM `News` WHERE `ID`=? LIMIT 1', [$request->input('nid')])) > 0
|
||||||
) {
|
) {
|
||||||
$nid = $request->input('nid');
|
$nid = $request->input('nid');
|
||||||
$news = DB::select('SELECT * FROM `News` WHERE `ID`=? LIMIT 1', [$nid]);
|
$news = DB::selectOne('SELECT * FROM `News` WHERE `ID`=? LIMIT 1', [$nid]);
|
||||||
$news = array_shift($news);
|
|
||||||
if ($request->has('text')) {
|
if ($request->has('text')) {
|
||||||
$text = preg_replace("/([^\p{L}\p{P}\p{Z}\p{N}\n]{1,})/ui", '', strip_tags($request->input('text')));
|
$text = preg_replace("/([^\p{L}\p{P}\p{Z}\p{N}\n]{1,})/ui", '', strip_tags($request->input('text')));
|
||||||
DB::insert('
|
DB::insert('
|
||||||
|
|
|
@ -61,11 +61,11 @@ function user_questions()
|
||||||
return error(_('Incomplete call, missing Question ID.'), true);
|
return error(_('Incomplete call, missing Question ID.'), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
$question = DB::select(
|
$question = DB::selectOne(
|
||||||
'SELECT `UID` FROM `Questions` WHERE `QID`=? LIMIT 1',
|
'SELECT `UID` FROM `Questions` WHERE `QID`=? LIMIT 1',
|
||||||
[$question_id]
|
[$question_id]
|
||||||
);
|
);
|
||||||
if (count($question) > 0 && $question[0]['UID'] == $user['UID']) {
|
if (!empty($question) && $question['UID'] == $user['UID']) {
|
||||||
DB::delete(
|
DB::delete(
|
||||||
'DELETE FROM `Questions` WHERE `QID`=? LIMIT 1',
|
'DELETE FROM `Questions` WHERE `QID`=? LIMIT 1',
|
||||||
[$question_id]
|
[$question_id]
|
||||||
|
|
|
@ -11,10 +11,9 @@ function load_auth()
|
||||||
|
|
||||||
$user = null;
|
$user = null;
|
||||||
if (isset($_SESSION['uid'])) {
|
if (isset($_SESSION['uid'])) {
|
||||||
$user = DB::select('SELECT * FROM `User` WHERE `UID`=? LIMIT 1', [$_SESSION['uid']]);
|
$user = DB::selectOne('SELECT * FROM `User` WHERE `UID`=? LIMIT 1', [$_SESSION['uid']]);
|
||||||
if (count($user) > 0) {
|
if (!empty($user)) {
|
||||||
// User ist eingeloggt, Datensatz zur Verfügung stellen und Timestamp updaten
|
// User ist eingeloggt, Datensatz zur Verfügung stellen und Timestamp updaten
|
||||||
$user = array_shift($user);
|
|
||||||
DB::update('
|
DB::update('
|
||||||
UPDATE `User`
|
UPDATE `User`
|
||||||
SET `lastLogIn` = ?
|
SET `lastLogIn` = ?
|
||||||
|
|
|
@ -79,6 +79,23 @@ class Db
|
||||||
|
|
||||||
return self::$stm->fetchAll(PDO::FETCH_ASSOC);
|
return self::$stm->fetchAll(PDO::FETCH_ASSOC);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Run a select query and return only the first result or null if no result is found.
|
||||||
|
* @param string $query
|
||||||
|
* @param array $bindings
|
||||||
|
* @return array|null
|
||||||
|
*/
|
||||||
|
public static function selectOne($query, array $bindings = [])
|
||||||
|
{
|
||||||
|
$result = self::select($query);
|
||||||
|
|
||||||
|
if(empty($result)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return array_shift($result);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Run an insert query
|
* Run an insert query
|
||||||
|
|
Loading…
Reference in New Issue