summaryrefslogtreecommitdiff
path: root/includes/pages/admin_free.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/pages/admin_free.php')
-rw-r--r--includes/pages/admin_free.php42
1 files changed, 20 insertions, 22 deletions
diff --git a/includes/pages/admin_free.php b/includes/pages/admin_free.php
index d1d102c7..9b1f581b 100644
--- a/includes/pages/admin_free.php
+++ b/includes/pages/admin_free.php
@@ -1,6 +1,7 @@
<?php
use Engelsystem\Database\DB;
+use Engelsystem\Models\User\User;
/**
* @return string
@@ -28,7 +29,7 @@ function admin_free()
if (!empty($angelType)) {
$angelTypeSearch = ' INNER JOIN `UserAngelTypes` ON (`UserAngelTypes`.`angeltype_id` = '
. DB::getPdo()->quote($angelType)
- . ' AND `UserAngelTypes`.`user_id` = `User`.`UID`';
+ . ' AND `UserAngelTypes`.`user_id` = `users`.`id`';
if ($request->has('confirmed_only')) {
$angelTypeSearch .= ' AND `UserAngelTypes`.`confirm_user_id`';
}
@@ -43,26 +44,25 @@ function admin_free()
$angel_types[$angel_type['id']] = $angel_type['name'];
}
- $users = DB::select('
- SELECT `User`.*
- FROM `User`
- ' . $angelTypeSearch . '
- LEFT JOIN `ShiftEntry` ON `User`.`UID` = `ShiftEntry`.`UID`
+ /** @var User[] $users */
+ $users = User::query()->raw(sprintf('
+ SELECT `users`.*
+ FROM `users`
+ %s
+ LEFT JOIN `ShiftEntry` ON `users`.`id` = `ShiftEntry`.`UID`
+ LEFT JOIN `users_state` ON `users`.`id` = `users_state`.`user_id`
LEFT JOIN `Shifts`
ON (
`ShiftEntry`.`SID` = `Shifts`.`SID`
- AND `Shifts`.`start` < ?
- AND `Shifts`.`end` > ?
+ AND `Shifts`.`start` < %u
+ AND `Shifts`.`end` > %u
)
- WHERE `User`.`Gekommen` = 1
+ WHERE `users_state`.`arrived` = 1
AND `Shifts`.`SID` IS NULL
- GROUP BY `User`.`UID`
- ORDER BY `Nick`
- ',
- [
- time(),
- time(),
- ]
+ GROUP BY `users`.`id`
+ ORDER BY `users`
+ ', $angelTypeSearch, time(), time()
+ )
);
$free_users_table = [];
@@ -74,7 +74,7 @@ function admin_free()
foreach ($users as $usr) {
if (count($tokens) > 0) {
$match = false;
- $index = join('', $usr);
+ $index = join('', $usr->toArray());
foreach ($tokens as $t) {
if (stristr($index, trim($t))) {
$match = true;
@@ -89,12 +89,11 @@ function admin_free()
$free_users_table[] = [
'name' => User_Nick_render($usr),
'shift_state' => User_shift_state_render($usr),
- 'dect' => $usr['DECT'],
- 'jabber' => $usr['jabber'],
- 'email' => $usr['email_by_human_allowed'] ? $usr['email'] : glyph('eye-close'),
+ 'dect' => $usr->contact->dect,
+ 'email' => $usr->settings->email_human ? ($usr->contact->email ? $usr->contact->email : $usr->email) : glyph('eye-close'),
'actions' =>
in_array('admin_user', $privileges)
- ? button(page_link_to('admin_user', ['id' => $usr['UID']]), __('edit'), 'btn-xs')
+ ? button(page_link_to('admin_user', ['id' => $usr->id]), __('edit'), 'btn-xs')
: ''
];
}
@@ -119,7 +118,6 @@ function admin_free()
'name' => __('Nick'),
'shift_state' => '',
'dect' => __('DECT'),
- 'jabber' => __('Jabber'),
'email' => __('E-Mail'),
'actions' => ''
], $free_users_table)