summaryrefslogtreecommitdiff
path: root/includes/controller
diff options
context:
space:
mode:
Diffstat (limited to 'includes/controller')
-rw-r--r--includes/controller/angeltypes_controller.php15
-rw-r--r--includes/controller/shift_entries_controller.php22
-rw-r--r--includes/controller/shifts_controller.php15
-rw-r--r--includes/controller/user_angeltypes_controller.php34
-rw-r--r--includes/controller/user_driver_licenses_controller.php8
-rw-r--r--includes/controller/user_worklog_controller.php27
-rw-r--r--includes/controller/users_controller.php36
7 files changed, 83 insertions, 74 deletions
diff --git a/includes/controller/angeltypes_controller.php b/includes/controller/angeltypes_controller.php
index 027e63ed..b161266d 100644
--- a/includes/controller/angeltypes_controller.php
+++ b/includes/controller/angeltypes_controller.php
@@ -57,17 +57,17 @@ function angeltype_link($angeltype_id, $params = [])
*/
function angeltypes_about_controller()
{
- global $user;
+ $user = auth()->user();
- if (isset($user)) {
- $angeltypes = AngelTypes_with_user($user);
+ if ($user) {
+ $angeltypes = AngelTypes_with_user($user->id);
} else {
$angeltypes = AngelTypes();
}
return [
__('Teams/Job description'),
- AngelTypes_about_view($angeltypes, isset($user))
+ AngelTypes_about_view($angeltypes, (bool)$user)
];
}
@@ -185,7 +185,7 @@ function angeltype_controller()
}
$angeltype = load_angeltype();
- $user_angeltype = UserAngelType_by_User_and_AngelType($user, $angeltype);
+ $user_angeltype = UserAngelType_by_User_and_AngelType($user['UID'], $angeltype);
$user_driver_license = UserDriverLicense($user['UID']);
$members = Users_by_angeltype($angeltype);
@@ -277,13 +277,14 @@ function angeltype_controller_shiftsFilter($angeltype, $days)
*/
function angeltypes_list_controller()
{
- global $privileges, $user;
+ global $privileges;
+ $user = auth()->user();
if (!in_array('angeltypes', $privileges)) {
redirect(page_link_to('/'));
}
- $angeltypes = AngelTypes_with_user($user);
+ $angeltypes = AngelTypes_with_user($user->id);
foreach ($angeltypes as &$angeltype) {
$actions = [
diff --git a/includes/controller/shift_entries_controller.php b/includes/controller/shift_entries_controller.php
index 356a9db8..8fbee96e 100644
--- a/includes/controller/shift_entries_controller.php
+++ b/includes/controller/shift_entries_controller.php
@@ -1,5 +1,6 @@
<?php
+use Engelsystem\Models\User\User;
use Engelsystem\ShiftSignupState;
/**
@@ -9,15 +10,14 @@ use Engelsystem\ShiftSignupState;
*/
function shift_entries_controller()
{
- global $user;
-
- if (!isset($user)) {
+ $user = auth()->user();
+ if ($user) {
redirect(page_link_to('login'));
}
$action = strip_request_item('action');
if (empty($action)) {
- redirect(user_link($user['UID']));
+ redirect(user_link($user->id));
}
switch ($action) {
@@ -74,14 +74,14 @@ function shift_entry_create_controller()
*/
function shift_entry_create_controller_admin($shift, $angeltype)
{
- global $user;
+ $user = auth()->user();
$request = request();
$signup_user = $user;
if ($request->has('user_id')) {
- $signup_user = User($request->input('user_id'));
+ $signup_user = User::find($request->input('user_id'));
}
- if (empty($signup_user)) {
+ if (!$signup_user) {
redirect(shift_link($shift));
}
@@ -100,7 +100,7 @@ function shift_entry_create_controller_admin($shift, $angeltype)
ShiftEntry_create([
'SID' => $shift['SID'],
'TID' => $angeltype['id'],
- 'UID' => $signup_user['UID'],
+ 'UID' => $signup_user->id,
'Comment' => '',
'freeloaded' => false,
'freeload_comment' => ''
@@ -145,7 +145,7 @@ function shift_entry_create_controller_supporter($shift, $angeltype)
if ($request->has('user_id')) {
$signup_user = User($request->input('user_id'));
}
- if (!UserAngelType_exists($signup_user, $angeltype)) {
+ if (!UserAngelType_exists($signup_user['UID'], $angeltype)) {
error(__('User is not in angeltype.'));
redirect(shift_link($shift));
}
@@ -259,8 +259,8 @@ function shift_entry_create_controller_user($shift, $angeltype)
'freeload_comment' => ''
]);
- if ($angeltype['restricted'] == false && !UserAngelType_exists($signup_user, $angeltype)) {
- UserAngelType_create($signup_user, $angeltype);
+ if ($angeltype['restricted'] == false && !UserAngelType_exists($signup_user['UID'], $angeltype)) {
+ UserAngelType_create($signup_user['UID'], $angeltype);
}
success(__('You are subscribed. Thank you!'));
diff --git a/includes/controller/shifts_controller.php b/includes/controller/shifts_controller.php
index 63d2d4c7..5454c648 100644
--- a/includes/controller/shifts_controller.php
+++ b/includes/controller/shifts_controller.php
@@ -272,15 +272,15 @@ function shift_controller()
$shifttype = ShiftType($shift['shifttype_id']);
$room = Room($shift['RID']);
$angeltypes = AngelTypes();
- $user_shifts = Shifts_by_user($user);
+ $user_shifts = Shifts_by_user($user['UID']);
$shift_signup_state = new ShiftSignupState(ShiftSignupState::OCCUPIED, 0);
foreach ($angeltypes as &$angeltype) {
$needed_angeltype = NeededAngeltype_by_Shift_and_Angeltype($shift, $angeltype);
- if(empty($needed_angeltype)) {
+ if (empty($needed_angeltype)) {
continue;
}
-
+
$shift_entries = ShiftEntries_by_shift_and_angeltype($shift['SID'], $angeltype['id']);
$angeltype_signup_state = Shift_signup_allowed(
@@ -330,13 +330,14 @@ function shifts_controller()
*/
function shift_next_controller()
{
- global $user, $privileges;
+ global $privileges;
+ $user = auth()->user();
if (!in_array('user_shifts', $privileges)) {
redirect(page_link_to('/'));
}
- $upcoming_shifts = ShiftEntries_upcoming_for_user($user);
+ $upcoming_shifts = ShiftEntries_upcoming_for_user($user->id);
if (!empty($upcoming_shifts)) {
redirect(shift_link($upcoming_shifts[0]));
@@ -381,7 +382,5 @@ function shifts_json_export_controller()
*/
function load_ical_shifts()
{
- global $user;
-
- return Shifts_by_user($user);
+ return Shifts_by_user(auth()->user()->id);
}
diff --git a/includes/controller/user_angeltypes_controller.php b/includes/controller/user_angeltypes_controller.php
index 734bd1e9..ee1f93ee 100644
--- a/includes/controller/user_angeltypes_controller.php
+++ b/includes/controller/user_angeltypes_controller.php
@@ -1,5 +1,7 @@
<?php
+use Engelsystem\Models\User\User;
+
/**
* Display a hint for team/angeltype supporters if there are unconfirmed users for his angeltype.
*
@@ -7,9 +9,9 @@
*/
function user_angeltypes_unconfirmed_hint()
{
- global $user;
+ $user = auth()->user();
- $unconfirmed_user_angeltypes = User_unconfirmed_AngelTypes($user);
+ $unconfirmed_user_angeltypes = User_unconfirmed_AngelTypes($user->id);
if (count($unconfirmed_user_angeltypes) == 0) {
return null;
}
@@ -101,7 +103,7 @@ function user_angeltypes_confirm_all_controller()
}
if ($request->has('confirmed')) {
- UserAngelTypes_confirm_all($angeltype['id'], $user);
+ UserAngelTypes_confirm_all($angeltype['id'], $user['UID']);
engelsystem_log(sprintf('Confirmed all users for angeltype %s', AngelType_name_render($angeltype)));
success(sprintf(__('Confirmed all users for angeltype %s.'), AngelType_name_render($angeltype)));
@@ -146,14 +148,14 @@ function user_angeltype_confirm_controller()
redirect(page_link_to('angeltypes'));
}
- $user_source = User($user_angeltype['user_id']);
- if (empty($user_source)) {
+ $user_source = User::find($user_angeltype['user_id']);
+ if (!$user_source) {
error(__('User doesn\'t exist.'));
redirect(page_link_to('angeltypes'));
}
if ($request->has('confirmed')) {
- UserAngelType_confirm($user_angeltype['id'], $user);
+ UserAngelType_confirm($user_angeltype['id'], $user['UID']);
engelsystem_log(sprintf(
'%s confirmed for angeltype %s',
@@ -201,8 +203,8 @@ function user_angeltype_delete_controller()
redirect(page_link_to('angeltypes'));
}
- $user_source = User($user_angeltype['user_id']);
- if (empty($user_source)) {
+ $user_source = User::find($user_angeltype['user_id']);
+ if (!$user_source) {
error(__('User doesn\'t exist.'));
redirect(page_link_to('angeltypes'));
}
@@ -268,8 +270,8 @@ function user_angeltype_update_controller()
redirect(page_link_to('angeltypes'));
}
- $user_source = User($user_angeltype['user_id']);
- if (empty($user_source)) {
+ $user_source = User::find($user_angeltype['user_id']);
+ if (!$user_source) {
error(__('User doesn\'t exist.'));
redirect(page_link_to('angeltypes'));
}
@@ -322,8 +324,8 @@ function user_angeltype_add_controller()
if (request()->has('submit')) {
$user_source = load_user();
- if (!UserAngelType_exists($user_source, $angeltype)) {
- $user_angeltype_id = UserAngelType_create($user_source, $angeltype);
+ if (!UserAngelType_exists($user_source['UID'], $angeltype)) {
+ $user_angeltype_id = UserAngelType_create($user_source['UID'], $angeltype);
engelsystem_log(sprintf(
'User %s added to %s.',
@@ -336,7 +338,7 @@ function user_angeltype_add_controller()
AngelType_name_render($angeltype)
));
- UserAngelType_confirm($user_angeltype_id, $user_source);
+ UserAngelType_confirm($user_angeltype_id, $user_source['UID']);
engelsystem_log(sprintf(
'User %s confirmed as %s.',
User_Nick_render($user_source),
@@ -363,14 +365,14 @@ function user_angeltype_join_controller($angeltype)
{
global $user, $privileges;
- $user_angeltype = UserAngelType_by_User_and_AngelType($user, $angeltype);
+ $user_angeltype = UserAngelType_by_User_and_AngelType($user['UID'], $angeltype);
if (!empty($user_angeltype)) {
error(sprintf(__('You are already a %s.'), $angeltype['name']));
redirect(page_link_to('angeltypes'));
}
if (request()->has('confirmed')) {
- $user_angeltype_id = UserAngelType_create($user, $angeltype);
+ $user_angeltype_id = UserAngelType_create($user['UID'], $angeltype);
$success_message = sprintf(__('You joined %s.'), $angeltype['name']);
engelsystem_log(sprintf(
@@ -381,7 +383,7 @@ function user_angeltype_join_controller($angeltype)
success($success_message);
if (in_array('admin_user_angeltypes', $privileges)) {
- UserAngelType_confirm($user_angeltype_id, $user);
+ UserAngelType_confirm($user_angeltype_id, $user['UID']);
engelsystem_log(sprintf(
'User %s confirmed as %s.',
User_Nick_render($user),
diff --git a/includes/controller/user_driver_licenses_controller.php b/includes/controller/user_driver_licenses_controller.php
index 2a3f7023..4c7c7fff 100644
--- a/includes/controller/user_driver_licenses_controller.php
+++ b/includes/controller/user_driver_licenses_controller.php
@@ -8,10 +8,10 @@
*/
function user_driver_license_required_hint()
{
- global $user;
+ $user = auth()->user();
- $angeltypes = User_angeltypes($user);
- $user_driver_license = UserDriverLicense($user['UID']);
+ $angeltypes = User_angeltypes($user->id);
+ $user_driver_license = UserDriverLicense($user->id);
// User has already entered data, no hint needed.
if (!empty($user_driver_license)) {
@@ -124,7 +124,7 @@ function user_driver_license_edit_controller()
if (UserDriverLicense_valid($user_driver_license)) {
if (empty($user_driver_license['user_id'])) {
- $user_driver_license = UserDriverLicenses_create($user_driver_license, $user_source);
+ $user_driver_license = UserDriverLicenses_create($user_driver_license, $user_source['UID']);
} else {
UserDriverLicenses_update($user_driver_license);
}
diff --git a/includes/controller/user_worklog_controller.php b/includes/controller/user_worklog_controller.php
index a431643f..e1b3ee86 100644
--- a/includes/controller/user_worklog_controller.php
+++ b/includes/controller/user_worklog_controller.php
@@ -1,5 +1,7 @@
<?php
+use Engelsystem\Models\User\User;
+
/**
* Delete a work log entry.
*
@@ -7,20 +9,20 @@
*/
function user_worklog_delete_controller()
{
- global $user;
+ $user = auth()->user();
$request = request();
$userWorkLog = UserWorkLog($request->input('user_worklog_id'));
if (empty($userWorkLog)) {
- redirect(user_link($user['UID']));
+ redirect(user_link($user->id));
}
- $user_source = User($userWorkLog['user_id']);
+ $user_source = User::find($userWorkLog['user_id']);
if ($request->has('confirmed')) {
UserWorkLog_delete($userWorkLog);
success(__('Work log entry deleted.'));
- redirect(user_link($user_source['UID']));
+ redirect(user_link($user_source->id));
}
return [
@@ -36,12 +38,12 @@ function user_worklog_delete_controller()
*/
function user_worklog_edit_controller()
{
- global $user;
+ $user = auth()->user();
$request = request();
$userWorkLog = UserWorkLog($request->input('user_worklog_id'));
if (empty($userWorkLog)) {
- redirect(user_link($user['UID']));
+ redirect(user_link($user->id));
}
$user_source = User($userWorkLog['user_id']);
@@ -108,15 +110,15 @@ function user_worklog_from_request($userWorkLog)
*/
function user_worklog_add_controller()
{
- global $user;
+ $user = auth()->user();
$request = request();
$user_source = User($request->input('user_id'));
if (empty($user_source)) {
- redirect(user_link($user['UID']));
+ redirect(user_link($user->id));
}
- $userWorkLog = UserWorkLog_new($user_source);
+ $userWorkLog = UserWorkLog_new($user_source['UID']);
if ($request->has('submit')) {
list ($valid, $userWorkLog) = user_worklog_from_request($userWorkLog);
@@ -186,16 +188,17 @@ function user_worklog_delete_link($userWorkLog, $parameters = [])
*/
function user_worklog_controller()
{
- global $user, $privileges;
+ global $privileges;
+ $user = auth()->user();
if (!in_array('admin_user_worklog', $privileges)) {
- redirect(user_link($user['UID']));
+ redirect(user_link($user->id));
}
$request = request();
$action = $request->input('action');
if (!$request->has('action')) {
- redirect(user_link($user['UID']));
+ redirect(user_link($user->id));
}
switch ($action) {
diff --git a/includes/controller/users_controller.php b/includes/controller/users_controller.php
index f49439da..be78c1d7 100644
--- a/includes/controller/users_controller.php
+++ b/includes/controller/users_controller.php
@@ -1,6 +1,8 @@
<?php
use Engelsystem\Database\DB;
+use Engelsystem\Models\User\PasswordReset;
+use Engelsystem\Models\User\User;
use Engelsystem\ShiftCalendarRenderer;
use Engelsystem\ShiftsFilter;
@@ -43,11 +45,12 @@ function users_controller()
*/
function user_delete_controller()
{
- global $privileges, $user;
+ global $privileges;
+ $user = auth()->user();
$request = request();
if ($request->has('user_id')) {
- $user_source = User($request->query->get('user_id'));
+ $user_source = User::find($request->query->get('user_id'));
} else {
$user_source = $user;
}
@@ -57,9 +60,9 @@ function user_delete_controller()
}
// You cannot delete yourself
- if ($user['UID'] == $user_source['UID']) {
+ if ($user->id == $user_source->id) {
error(__('You cannot delete yourself.'));
- redirect(user_link($user['UID']));
+ redirect(user_link($user->id));
}
if ($request->has('submit')) {
@@ -68,7 +71,7 @@ function user_delete_controller()
if (
!(
$request->has('password')
- && verify_password($request->postData('password'), $user['Passwort'], $user['UID'])
+ && verify_password($request->postData('password'), $user->password, $user->id)
)
) {
$valid = false;
@@ -76,7 +79,7 @@ function user_delete_controller()
}
if ($valid) {
- User_delete($user_source['UID']);
+ User_delete($user_source->id);
mail_user_delete($user_source);
success(__('User deleted.'));
@@ -87,7 +90,7 @@ function user_delete_controller()
}
return [
- sprintf(__('Delete %s'), $user_source['Nick']),
+ sprintf(__('Delete %s'), $user_source->name),
User_delete_view($user_source)
];
}
@@ -196,7 +199,7 @@ function user_controller()
}
}
- $shifts = Shifts_by_user($user_source, in_array('user_shifts_admin', $privileges));
+ $shifts = Shifts_by_user($user_source['UID'], in_array('user_shifts_admin', $privileges));
foreach ($shifts as &$shift) {
// TODO: Move queries to model
$shift['needed_angeltypes'] = DB::select('
@@ -228,7 +231,7 @@ function user_controller()
if ($user_source['force_active']) {
$tshirt_score = __('Enough');
} else {
- $tshirt_score = sprintf('%.2f', User_tshirt_score($user_source)) . '&nbsp;h';
+ $tshirt_score = sprintf('%.2f', User_tshirt_score($user_source['UID'])) . '&nbsp;h';
}
return [
@@ -237,14 +240,14 @@ function user_controller()
$user_source,
in_array('admin_user', $privileges),
User_is_freeloader($user_source),
- User_angeltypes($user_source),
- User_groups($user_source),
+ User_angeltypes($user_source['UID']),
+ User_groups($user_source['UID']),
$shifts,
$user['UID'] == $user_source['UID'],
$tshirt_score,
in_array('admin_active', $privileges),
in_array('admin_user_worklog', $privileges),
- UserWorkLogsForUser($user_source)
+ UserWorkLogsForUser($user_source['UID'])
)
];
}
@@ -270,7 +273,7 @@ function users_list_controller()
$users = Users($order_by);
foreach ($users as &$user) {
- $user['freeloads'] = count(ShiftEntries_freeloaded_by_user($user));
+ $user['freeloads'] = count(ShiftEntries_freeloaded_by_user($user['UID']));
}
return [
@@ -296,8 +299,8 @@ function users_list_controller()
function user_password_recovery_set_new_controller()
{
$request = request();
- $user_source = User_by_password_recovery_token($request->input('token'));
- if (empty($user_source)) {
+ $passwordReset = PasswordReset::whereToken($request->input('token'));
+ if (!$passwordReset) {
error(__('Token is not correct.'));
redirect(page_link_to('login'));
}
@@ -319,8 +322,9 @@ function user_password_recovery_set_new_controller()
}
if ($valid) {
- set_password($user_source['UID'], $request->postData('password'));
+ set_password($passwordReset->user->id, $request->postData('password'));
success(__('Password saved.'));
+ $passwordReset->delete();
redirect(page_link_to('login'));
}
}