UserManagementController
extends BaseController
in package
Abstract base controller providing common functionality for all controllers.
Controllers should extend this class to access database connections, utility functions, and rendering helpers.
Table of Contents
Properties
- $createUser : CreateUser
- $deleteUser : DeleteUser
- $listUsers : ListUsers
- $toggleUserRole : ToggleUserRole
- $toggleUserStatus : ToggleUserStatus
- $updateUser : UpdateUser
- $userRepository : UserRepositoryInterface
- $viewPath : string
Methods
- __construct() : mixed
- Initialize controller.
- create() : void
- Render the create-user scaffold.
- edit() : void
- Render the edit-user scaffold.
- index() : void
- Render the user list scaffold.
- endRender() : void
- End page rendering with standard LWT footer.
- execute() : int
- Execute an INSERT/UPDATE/DELETE query.
- get() : string
- Get a string GET parameter.
- getMarkedIds() : array<string|int, int>
- Get IDs from marked checkboxes.
- getValue() : mixed
- Get a single value from the database.
- hasParam() : bool
- Check if a parameter exists in the request.
- isGet() : bool
- Check if the request is a GET request.
- isPost() : bool
- Check if the request is a POST request.
- json() : JsonResponse
- Return JSON response.
- message() : void
- Display a message (success/error) to the user using Bulma notifications.
- param() : string
- Get a string request parameter (GET, POST, or REQUEST).
- paramArray() : array<string|int, mixed>
- Get an array request parameter.
- paramInt() : int|null
- Get an integer request parameter.
- post() : string
- Get a string POST parameter.
- query() : mysqli_result|bool
- Execute a database query using the LWT query wrapper.
- redirect() : RedirectResponse
- Redirect to another URL.
- render() : void
- Start page rendering with standard LWT header.
- requireInt() : int
- Get a required integer request parameter.
Properties
$createUser
private
CreateUser
$createUser
$deleteUser
private
DeleteUser
$deleteUser
$listUsers
private
ListUsers
$listUsers
$toggleUserRole
private
ToggleUserRole
$toggleUserRole
$toggleUserStatus
private
ToggleUserStatus
$toggleUserStatus
$updateUser
private
UpdateUser
$updateUser
$userRepository
private
UserRepositoryInterface
$userRepository
$viewPath
private
string
$viewPath
Methods
__construct()
Initialize controller.
public
__construct(ListUsers $listUsers, CreateUser $createUser, UpdateUser $updateUser, DeleteUser $deleteUser, ToggleUserStatus $toggleUserStatus, ToggleUserRole $toggleUserRole, UserRepositoryInterface $userRepository) : mixed
Parameters
- $listUsers : ListUsers
- $createUser : CreateUser
- $updateUser : UpdateUser
- $deleteUser : DeleteUser
- $toggleUserStatus : ToggleUserStatus
- $toggleUserRole : ToggleUserRole
- $userRepository : UserRepositoryInterface
create()
Render the create-user scaffold.
public
create(array<string|int, mixed> $params) : void
Creation itself goes through POST /api/v1/admin/users.
Parameters
- $params : array<string|int, mixed>
Tags
edit()
Render the edit-user scaffold.
public
edit(array<string|int, mixed> $params) : void
Saving goes through PUT /api/v1/admin/users/{id}. The user is looked up here only to 404 early on a bad ID; the form's values come from the API.
Parameters
- $params : array<string|int, mixed>
Tags
index()
Render the user list scaffold.
public
index(array<string|int, mixed> $params) : void
Rows, statistics and paging come from GET /api/v1/admin/users; only the initial search and sort travel with the page so a bookmarked URL still opens on them.
Parameters
- $params : array<string|int, mixed>
Tags
endRender()
End page rendering with standard LWT footer.
protected
endRender() : void
execute()
Execute an INSERT/UPDATE/DELETE query.
protected
execute(string $sql) : int
Parameters
- $sql : string
-
SQL query
Tags
Return values
int —Number of affected rows
get()
Get a string GET parameter.
protected
get(string $key[, string $default = '' ]) : string
Parameters
- $key : string
-
Parameter name
- $default : string = ''
-
Default value if not set
Return values
string —Parameter value or default
getMarkedIds()
Get IDs from marked checkboxes.
protected
getMarkedIds(string|array<string|int, mixed> $marked) : array<string|int, int>
Parameters
- $marked : string|array<string|int, mixed>
-
The 'marked' request parameter value
Tags
Return values
array<string|int, int> —Array of integer IDs
getValue()
Get a single value from the database.
protected
getValue(string $sql) : mixed
Parameters
- $sql : string
-
SQL query (should return single value as 'value')
Return values
mixed —The value or null
hasParam()
Check if a parameter exists in the request.
protected
hasParam(string $key) : bool
Parameters
- $key : string
-
Parameter name
Return values
bool —True if the parameter exists
isGet()
Check if the request is a GET request.
protected
isGet() : bool
Return values
boolisPost()
Check if the request is a POST request.
protected
isPost() : bool
Return values
booljson()
Return JSON response.
protected
json(mixed $data[, int $status = 200 ]) : JsonResponse
Return this from a controller method; the router will send it.
Parameters
- $data : mixed
-
Data to encode as JSON
- $status : int = 200
-
HTTP status code (default: 200)
Return values
JsonResponsemessage()
Display a message (success/error) to the user using Bulma notifications.
protected
message(string $message[, bool $autoHide = true ]) : void
Parameters
- $message : string
-
The message to display
- $autoHide : bool = true
-
Whether to auto-hide the message (default: true)
param()
Get a string request parameter (GET, POST, or REQUEST).
protected
param(string $key[, string $default = '' ]) : string
Parameters
- $key : string
-
Parameter name
- $default : string = ''
-
Default value if not set
Return values
string —Parameter value or default
paramArray()
Get an array request parameter.
protected
paramArray(string $key[, array<string|int, mixed> $default = [] ]) : array<string|int, mixed>
Parameters
- $key : string
-
Parameter name
- $default : array<string|int, mixed> = []
-
Default value if not set
Return values
array<string|int, mixed> —Parameter value or default
paramInt()
Get an integer request parameter.
protected
paramInt(string $key[, int|null $default = null ][, int|null $min = null ][, int|null $max = null ]) : int|null
Parameters
- $key : string
-
Parameter name
- $default : int|null = null
-
Default value if not set
- $min : int|null = null
-
Minimum allowed value
- $max : int|null = null
-
Maximum allowed value
Return values
int|null —Parameter value or default
post()
Get a string POST parameter.
protected
post(string $key[, string $default = '' ]) : string
Parameters
- $key : string
-
Parameter name
- $default : string = ''
-
Default value if not set
Return values
string —Parameter value or default
query()
Execute a database query using the LWT query wrapper.
protected
query(string $sql) : mysqli_result|bool
Parameters
- $sql : string
-
SQL query
Return values
mysqli_result|bool —Query result
redirect()
Redirect to another URL.
protected
redirect(string $url[, int $statusCode = 302 ]) : RedirectResponse
Return this from a controller method; the router will send it.
Parameters
- $url : string
-
URL to redirect to
- $statusCode : int = 302
-
HTTP status code (default: 302)
Return values
RedirectResponserender()
Start page rendering with standard LWT header.
protected
render(string $title[, bool $showMenu = true ]) : void
Parameters
- $title : string
-
Page title
- $showMenu : bool = true
-
Whether to show navigation menu (default: true)
requireInt()
Get a required integer request parameter.
protected
requireInt(string $key[, int|null $min = null ][, int|null $max = null ]) : int
Parameters
- $key : string
-
Parameter name
- $min : int|null = null
-
Minimum allowed value
- $max : int|null = null
-
Maximum allowed value
Tags
Return values
int —Parameter value