RenderPage($response, 'userpermissions', [ 'user' => $this->DB->users($args['userId']), 'permissions' => $this->DB->uihelper_user_permissions() ->where('parent IS NULL')->where('user_id', $args['userId']) ]); } public function UserEditForm(Request $request, Response $response, array $args) { if ($args['userId'] == 'new') { User::CheckPermission($request, User::PERMISSION_USERS_CREATE); return $this->RenderPage($response, 'userform', [ 'mode' => 'create', 'userfields' => UserfieldsService::GetInstance()->GetFields('users') ]); } else { if ($args['userId'] == GROCY_USER_ID) { User::CheckPermission($request, User::PERMISSION_USERS_EDIT_SELF); } else { User::CheckPermission($request, User::PERMISSION_USERS_EDIT); } return $this->RenderPage($response, 'userform', [ 'user' => $this->DB->users($args['userId']), 'mode' => 'edit', 'userfields' => UserfieldsService::GetInstance()->GetFields('users'), 'userfieldValues' => UserfieldsService::GetInstance()->GetAllValues('users') ]); } } public function UserSettings(Request $request, Response $response, array $args) { return $this->RenderPage($response, 'usersettings', [ 'languages' => array_filter(scandir(__DIR__ . '/../localization'), function ($item) { if ($item == '.' || $item == '..') { return false; } return is_dir(__DIR__ . '/../localization/' . $item); }) ]); } public function UsersList(Request $request, Response $response, array $args) { User::CheckPermission($request, User::PERMISSION_USERS_READ); return $this->RenderPage($response, 'users', [ 'users' => $this->DB->users()->orderBy('username'), 'userfields' => UserfieldsService::GetInstance()->GetFields('users'), 'userfieldValues' => UserfieldsService::GetInstance()->GetAllValues('users') ]); } }