Documentation

AdminApiHandler
in package
implements ApiRoutableInterface uses ApiRoutableTrait

API handler for admin-related operations.

Merges functionality from SettingsHandler and StatisticsHandler.

Tags
since
3.0.0

Table of Contents

Interfaces

ApiRoutableInterface
Interface for API handlers that participate in route dispatch.

Properties

$adminFacade  : AdminFacade

Methods

__construct()  : mixed
Constructor.
formatMediaFiles()  : array{base_path: string, paths?: string[], folders?: string[], error?: string}
Format response for media files list.
formatSaveSetting()  : array{error?: string, message?: string, text_count?: int, last_text?: array|null}
Format response for saving a setting.
formatTextsStatistics()  : array<string, array{total: int, saved: int, unknown: int, unknownPercent: int, statusCounts: array}>
Format response for texts statistics.
formatThemePath()  : array{theme_path: string}
Format response for getting theme path.
getFrequencyStatistics()  : array{languages: array, totals: array}
Get frequency statistics.
getIntensityStatistics()  : array{languages: array, totals: array}
Get intensity statistics.
getMediaFiles()  : array{base_path: string, paths?: string[], folders?: string[], error?: string}
List the audio and video files in the media folder.
getServerData()  : array<string|int, mixed>
Get server data.
getTextsStatistics()  : array<string|int, mixed>
Return statistics about a group of texts.
getThemePath()  : array{theme_path: string}
Get the file path using the current theme.
routeDelete()  : JsonResponse
routeGet()  : JsonResponse
Handle a GET request for this resource.
routePost()  : JsonResponse
Handle a POST request for this resource.
routePut()  : JsonResponse
saveSetting()  : array{error?: string, message?: string, text_count?: int, last_text?: array|null}
Save a setting to the database.
frag()  : string
Extract a fragment from the fragments array.
clearSessionSettings()  : void
Clear session settings when changing language.
getLastTextForLanguage()  : array<string, mixed>|null
Get the last text information for a specific language.
getTextCountForLanguage()  : int
Get the count of active (non-archived) texts for a language.

Properties

Methods

formatMediaFiles()

Format response for media files list.

public formatMediaFiles() : array{base_path: string, paths?: string[], folders?: string[], error?: string}
Return values
array{base_path: string, paths?: string[], folders?: string[], error?: string}

formatSaveSetting()

Format response for saving a setting.

public formatSaveSetting(string $key, string $value) : array{error?: string, message?: string, text_count?: int, last_text?: array|null}
Parameters
$key : string

Setting key

$value : string

Setting value

Return values
array{error?: string, message?: string, text_count?: int, last_text?: array|null}

formatTextsStatistics()

Format response for texts statistics.

public formatTextsStatistics(string $textsId) : array<string, array{total: int, saved: int, unknown: int, unknownPercent: int, statusCounts: array}>

Transforms the raw statistics data into a format expected by the frontend:

  • total: unique word count
  • saved: count of words with any status (1-5, 98, 99)
  • unknown: count of words without a saved status
  • unknownPercent: percentage of unknown words
  • statusCounts: word counts by status
Parameters
$textsId : string

Comma-separated text IDs

Return values
array<string, array{total: int, saved: int, unknown: int, unknownPercent: int, statusCounts: array}>

formatThemePath()

Format response for getting theme path.

public formatThemePath(string $path) : array{theme_path: string}
Parameters
$path : string

Relative path

Return values
array{theme_path: string}

getFrequencyStatistics()

Get frequency statistics.

public getFrequencyStatistics() : array{languages: array, totals: array}
Return values
array{languages: array, totals: array}

getIntensityStatistics()

Get intensity statistics.

public getIntensityStatistics() : array{languages: array, totals: array}
Return values
array{languages: array, totals: array}

getMediaFiles()

List the audio and video files in the media folder.

public getMediaFiles() : array{base_path: string, paths?: string[], folders?: string[], error?: string}
Return values
array{base_path: string, paths?: string[], folders?: string[], error?: string}

getServerData()

Get server data.

public getServerData() : array<string|int, mixed>
Return values
array<string|int, mixed>

Server information

getTextsStatistics()

Return statistics about a group of texts.

public getTextsStatistics(string $textsId) : array<string|int, mixed>
Parameters
$textsId : string

Comma-separated text IDs

Return values
array<string|int, mixed>

Text word count statistics

getThemePath()

Get the file path using the current theme.

public getThemePath(string $path) : array{theme_path: string}
Parameters
$path : string

Relative filepath using theme

Return values
array{theme_path: string}

routeDelete()

public routeDelete(array<string|int, mixed> $fragments, array<string|int, mixed> $params) : JsonResponse
Parameters
$fragments : array<string|int, mixed>
$params : array<string|int, mixed>
Return values
JsonResponse

routeGet()

Handle a GET request for this resource.

public routeGet(array<string|int, mixed> $fragments, array<string|int, mixed> $params) : JsonResponse
Parameters
$fragments : array<string|int, mixed>

URL path segments (resource name already consumed)

$params : array<string|int, mixed>

Query parameters

Return values
JsonResponse

routePost()

Handle a POST request for this resource.

public routePost(array<string|int, mixed> $fragments, array<string|int, mixed> $params) : JsonResponse
Parameters
$fragments : array<string|int, mixed>

URL path segments (resource name already consumed)

$params : array<string|int, mixed>

POST/JSON body parameters

Return values
JsonResponse

routePut()

public routePut(array<string|int, mixed> $fragments, array<string|int, mixed> $params) : JsonResponse
Parameters
$fragments : array<string|int, mixed>
$params : array<string|int, mixed>
Return values
JsonResponse

saveSetting()

Save a setting to the database.

public saveSetting(string $key, string $value) : array{error?: string, message?: string, text_count?: int, last_text?: array|null}
Parameters
$key : string

Setting name

$value : string

Setting value

Return values
array{error?: string, message?: string, text_count?: int, last_text?: array|null}

frag()

Extract a fragment from the fragments array.

protected frag(array<int, string> $fragments, int $index) : string
Parameters
$fragments : array<int, string>

The URL path fragments

$index : int

The index to extract

Return values
string

The fragment at the index, or empty string if not present

clearSessionSettings()

Clear session settings when changing language.

private clearSessionSettings() : void

Note: Pagination/filter state is now stored in URL parameters, so session clearing is no longer needed. This method is kept for backwards compatibility but is now a no-op.

getLastTextForLanguage()

Get the last text information for a specific language.

private getLastTextForLanguage(int $languageId) : array<string, mixed>|null
Parameters
$languageId : int

Language ID

Return values
array<string, mixed>|null

Last text data or null if none exists

getTextCountForLanguage()

Get the count of active (non-archived) texts for a language.

private getTextCountForLanguage(int $languageId) : int
Parameters
$languageId : int

Language ID

Return values
int

Number of texts


        
On this page

Search results