TableAdminController
extends AppController
in package
Simple database administration interface for super users.
Table of Contents
Constants
- VIEW_DATA_EVENT = 'KMP.plugins.callForViewData'
- VIEW_PLUGIN_EVENT = 'KMP.plugins.callForViewCells'
Properties
- $isCsvRequest : bool
- $pluginViewCells : array<string|int, mixed>
Methods
- beforeFilter() : Response|null|void
- Pre-action filter for application-wide processing.
- index() : void
- Index.
- initialize() : void
- Load shared components: Authentication, Authorization, Flash.
- isCsvRequest() : bool
- Check if current request is for CSV export.
- switchView() : Response
- Switch between mobile and desktop view modes.
- authorizeCurrentUrl() : void
- Authorize the current URL/action via Authorization component.
- organizeViewCells() : array<string|int, mixed>
- Organize view cells by type and display order.
- getConfirmationRequiredType() : string|null
- Get confirmation required type.
- getMutationType() : string|null
- Get mutation type.
-
loadTableSnapshot()
: array{columns: array
, rows: array >, totalRows: int} - requireSuperUser() : void
- Require super user.
Constants
VIEW_DATA_EVENT
public
string
VIEW_DATA_EVENT
= 'KMP.plugins.callForViewData'
Event for plugin view data enhancement
VIEW_PLUGIN_EVENT
public
string
VIEW_PLUGIN_EVENT
= 'KMP.plugins.callForViewCells'
Event for plugin view cell registration
Properties
$isCsvRequest
protected
bool
$isCsvRequest
= false
Whether current request is for CSV export (.csv extension)
$pluginViewCells
protected
array<string|int, mixed>
$pluginViewCells
= []
View cells from plugins for current request
Methods
beforeFilter()
Pre-action filter for application-wide processing.
public
beforeFilter(EventInterface $event) : Response|null|void
Handles: CSV detection, plugin validation, navigation history, view cell loading, and Turbo Frame detection.
Parameters
- $event : EventInterface
-
The beforeFilter event
Return values
Response|null|voidindex()
Index.
public
index() : void
initialize()
Load shared components: Authentication, Authorization, Flash.
public
initialize() : void
isCsvRequest()
Check if current request is for CSV export.
public
isCsvRequest() : bool
Return values
boolswitchView()
Switch between mobile and desktop view modes.
public
switchView() : Response
Stores preference in session and redirects to appropriate interface. Mobile redirects to viewMobileCard, desktop to profile.
Return values
Response —Redirect response
authorizeCurrentUrl()
Authorize the current URL/action via Authorization component.
protected
authorizeCurrentUrl() : void
Tags
organizeViewCells()
Organize view cells by type and display order.
protected
organizeViewCells(array<string|int, mixed> $viewCells) : array<string|int, mixed>
Unused - view cells organized in ViewCellRegistry
Parameters
- $viewCells : array<string|int, mixed>
-
Flat array of view cell configurations
Return values
array<string|int, mixed> —Organized array grouped by type and sorted by order
getConfirmationRequiredType()
Get confirmation required type.
private
getConfirmationRequiredType(string $sql) : string|null
Parameters
- $sql : string
Return values
string|nullgetMutationType()
Get mutation type.
private
getMutationType(string $sql) : string|null
Parameters
- $sql : string
Return values
string|nullloadTableSnapshot()
private
loadTableSnapshot(Connection $connection, string $tableName, int $page, int $limit) : array{columns: array, rows: array>, totalRows: int}
Parameters
- $connection : Connection
- $tableName : string
- $page : int
- $limit : int
Return values
array{columns: arrayrequireSuperUser()
Require super user.
private
requireSuperUser() : void