Documentation

WordListService

Facade for managing word list operations.

Delegates filtering to WordListFilterBuilder, queries to WordListQueryService, and export SQL building to WordListExportBuilder. Retains bulk operations, single-word CRUD, and form data methods directly.

Tags
category

Lwt

author

HugoFara hugo.farajallah@protonmail.com

license

Unlicense http://unlicense.org/

link
https://hugofara.github.io/lwt/developer/api
since
3.0.0

Table of Contents

Properties

$exportBuilder  : WordListExportBuilder
$filterBuilder  : WordListFilterBuilder
$queryService  : WordListQueryService

Methods

__construct()  : mixed
buildLangCondition()  : string
Build query condition for language filter.
buildQueryCondition()  : string
Build query condition for search query with prepared statement parameters.
buildStatusCondition()  : string
Build query condition for status filter.
buildTagCondition()  : string
Build tag filter condition.
capitalizeByIdList()  : string
Capitalize words in ID list.
countWords()  : int
Count words matching the filter criteria.
deleteByIdList()  : string
Delete multiple words by ID list.
deleteSentencesByIdList()  : string
Delete sentences for words in ID list.
deleteSingleWord()  : void
Delete a single word by ID.
getAnkiExportSql()  : array{sql: string, params: array}
Get Anki export SQL for selected words.
getEditFormData()  : array<string|int, mixed>|null
Get word data for edit form.
getFilteredWordIds()  : array<string|int, int>
Get word IDs matching filter criteria (for 'all' actions).
getFlexibleExportSql()  : array{sql: string, params: array}
Get flexible export SQL for selected words.
getNewTermFormData()  : array<string|int, mixed>
Get word data for new term form.
getTestWordIdsSql()  : array{sql: string, params: array}
Get test SQL for selected words.
getTsvExportSql()  : array{sql: string, params: array}
Get TSV export SQL for selected words.
getWordsList()  : array<string|int, mixed>
Get words list for display.
saveNewWord()  : int
Save a new word.
toLowercaseByIdList()  : string
Convert words to lowercase in ID list.
updateStatusByIdList()  : string
Update status for words in ID list.
updateStatusDateByIdList()  : string
Update status date to NOW for words in ID list.
updateWord()  : string
Update an existing word.
validateRegexPattern()  : bool
Validate a regex pattern.

Properties

Methods

buildLangCondition()

Build query condition for language filter.

public buildLangCondition(string $langId[, array<string|int, mixed>|null &$params = null ]) : string
Parameters
$langId : string

Language ID

$params : array<string|int, mixed>|null = null

Optional: Reference to params array for prepared statements

Return values
string

SQL condition

buildQueryCondition()

Build query condition for search query with prepared statement parameters.

public buildQueryCondition(string $query, string $queryMode, string $regexMode[, array<string|int, mixed>|null &$params = null ]) : string
Parameters
$query : string

Search query

$queryMode : string

Query mode (term, rom, transl, etc.)

$regexMode : string

Regex mode ('' or 'r')

$params : array<string|int, mixed>|null = null

Optional: Reference to params array for prepared statements

Return values
string

SQL condition

buildStatusCondition()

Build query condition for status filter.

public buildStatusCondition(string $status) : string
Parameters
$status : string

Status code

Return values
string

SQL condition

buildTagCondition()

Build tag filter condition.

public buildTagCondition(string $tag1, string $tag2, string $tag12[, array<string|int, mixed>|null &$params = null ]) : string
Parameters
$tag1 : string

First tag ID (must be numeric or empty)

$tag2 : string

Second tag ID (must be numeric or empty)

$tag12 : string

Tag logic (0=OR, 1=AND)

$params : array<string|int, mixed>|null = null

Optional: Reference to params array for prepared statements

Return values
string

SQL HAVING clause

capitalizeByIdList()

Capitalize words in ID list.

public capitalizeByIdList(array<string|int, int> $ids) : string
Parameters
$ids : array<string|int, int>

Array of word IDs

Return values
string

Result message

countWords()

Count words matching the filter criteria.

public countWords(string $textId, string $whLang, string $whStat, string $whQuery, string $whTag[, array<string|int, mixed> $params = [] ]) : int
Parameters
$textId : string

Text ID filter (comma-separated IDs or empty)

$whLang : string

Language condition (with ? placeholders)

$whStat : string

Status condition

$whQuery : string

Query condition (with ? placeholders)

$whTag : string

Tag condition (with ? placeholders)

$params : array<string|int, mixed> = []

Merged binding parameters for filters

Return values
int

Number of matching words

deleteByIdList()

Delete multiple words by ID list.

public deleteByIdList(array<string|int, int> $ids) : string
Parameters
$ids : array<string|int, int>

Array of word IDs

Return values
string

Result message

deleteSentencesByIdList()

Delete sentences for words in ID list.

public deleteSentencesByIdList(array<string|int, int> $ids) : string
Parameters
$ids : array<string|int, int>

Array of word IDs

Return values
string

Result message

deleteSingleWord()

Delete a single word by ID.

public deleteSingleWord(int $wordId) : void
Parameters
$wordId : int

Word ID

getAnkiExportSql()

Get Anki export SQL for selected words.

public getAnkiExportSql(array<string|int, int> $ids, string $textId, string $whLang, string $whStat, string $whQuery, string $whTag[, array<string|int, mixed> $filterParams = [] ]) : array{sql: string, params: array}
Parameters
$ids : array<string|int, int>

Array of word IDs (empty for filter-based export)

$textId : string

Text ID filter (comma-separated, empty for no filter)

$whLang : string

Language condition (with ? placeholders)

$whStat : string

Status condition

$whQuery : string

Query condition (with ? placeholders)

$whTag : string

Tag condition (with ? placeholders)

$filterParams : array<string|int, mixed> = []

Merged binding parameters for filter conditions

Return values
array{sql: string, params: array}

SQL query and parameters

getEditFormData()

Get word data for edit form.

public getEditFormData(int $wordId) : array<string|int, mixed>|null
Parameters
$wordId : int

Word ID

Return values
array<string|int, mixed>|null

Word data for form or null if not found

getFilteredWordIds()

Get word IDs matching filter criteria (for 'all' actions).

public getFilteredWordIds(string $textId, string $whLang, string $whStat, string $whQuery, string $whTag[, array<string|int, mixed> $params = [] ]) : array<string|int, int>
Parameters
$textId : string

Text ID filter (comma-separated IDs or empty)

$whLang : string

Language condition (with ? placeholders)

$whStat : string

Status condition

$whQuery : string

Query condition (with ? placeholders)

$whTag : string

Tag condition (with ? placeholders)

$params : array<string|int, mixed> = []

Merged binding parameters for filters

Return values
array<string|int, int>

Array of word IDs

getFlexibleExportSql()

Get flexible export SQL for selected words.

public getFlexibleExportSql(array<string|int, int> $ids, string $textId, string $whLang, string $whStat, string $whQuery, string $whTag[, array<string|int, mixed> $filterParams = [] ]) : array{sql: string, params: array}
Parameters
$ids : array<string|int, int>

Array of word IDs (empty for filter-based export)

$textId : string

Text ID filter (comma-separated, empty for no filter)

$whLang : string

Language condition (with ? placeholders)

$whStat : string

Status condition

$whQuery : string

Query condition (with ? placeholders)

$whTag : string

Tag condition (with ? placeholders)

$filterParams : array<string|int, mixed> = []

Merged binding parameters for filter conditions

Return values
array{sql: string, params: array}

SQL query and parameters

getNewTermFormData()

Get word data for new term form.

public getNewTermFormData(int $langId) : array<string|int, mixed>
Parameters
$langId : int

Language ID

Return values
array<string|int, mixed>

Language data for form

getTestWordIdsSql()

Get test SQL for selected words.

public getTestWordIdsSql(string $textId, string $whLang, string $whStat, string $whQuery, string $whTag[, array<string|int, mixed> $filterParams = [] ]) : array{sql: string, params: array}
Parameters
$textId : string

Text ID filter (comma-separated, empty for no filter)

$whLang : string

Language condition (with ? placeholders)

$whStat : string

Status condition

$whQuery : string

Query condition (with ? placeholders)

$whTag : string

Tag condition (with ? placeholders)

$filterParams : array<string|int, mixed> = []

Merged binding parameters for filter conditions

Return values
array{sql: string, params: array}

SQL query and parameters

getTsvExportSql()

Get TSV export SQL for selected words.

public getTsvExportSql(array<string|int, int> $ids, string $textId, string $whLang, string $whStat, string $whQuery, string $whTag[, array<string|int, mixed> $filterParams = [] ]) : array{sql: string, params: array}
Parameters
$ids : array<string|int, int>

Array of word IDs (empty for filter-based export)

$textId : string

Text ID filter (comma-separated, empty for no filter)

$whLang : string

Language condition (with ? placeholders)

$whStat : string

Status condition

$whQuery : string

Query condition (with ? placeholders)

$whTag : string

Tag condition (with ? placeholders)

$filterParams : array<string|int, mixed> = []

Merged binding parameters for filter conditions

Return values
array{sql: string, params: array}

SQL query and parameters

getWordsList()

Get words list for display.

public getWordsList(array{whLang?: string, whStat?: string, whQuery?: string, whTag?: string, textId?: string, params?: array} $filters, int $sort, int $page, int $perPage) : array<string|int, mixed>
Parameters
$filters : array{whLang?: string, whStat?: string, whQuery?: string, whTag?: string, textId?: string, params?: array}

Filter parameters

$sort : int

Sort column index

$page : int

Page number

$perPage : int

Items per page

Return values
array<string|int, mixed>

Array of word records

saveNewWord()

Save a new word.

public saveNewWord(array<string, mixed> $data) : int
Parameters
$data : array<string, mixed>

Form data

Tags
throws
RuntimeException

If word could not be saved

Return values
int

Word ID of the created word

toLowercaseByIdList()

Convert words to lowercase in ID list.

public toLowercaseByIdList(array<string|int, int> $ids) : string
Parameters
$ids : array<string|int, int>

Array of word IDs

Return values
string

Result message

updateStatusByIdList()

Update status for words in ID list.

public updateStatusByIdList(array<string|int, int> $ids, int $newStatus, bool $relative, string $actionType) : string
Parameters
$ids : array<string|int, int>

Array of word IDs

$newStatus : int

New status value

$relative : bool

If true, change by +1 or -1

$actionType : string

Type of action (spl1, smi1, s5, s1, s99, s98)

Return values
string

Result message

updateStatusDateByIdList()

Update status date to NOW for words in ID list.

public updateStatusDateByIdList(array<string|int, int> $ids) : string
Parameters
$ids : array<string|int, int>

Array of word IDs

Return values
string

Result message

updateWord()

Update an existing word.

public updateWord(array<string, mixed> $data) : string
Parameters
$data : array<string, mixed>

Form data

Return values
string

Result message

validateRegexPattern()

Validate a regex pattern.

public validateRegexPattern(string $pattern) : bool
Parameters
$pattern : string

The regex pattern to validate

Return values
bool

True if valid, false otherwise


        
On this page

Search results