Documentation

MySqlReviewRepository implements ReviewRepositoryInterface

MySQL implementation of ReviewRepositoryInterface.

Handles all database operations for the Review module.

Tags
since
3.0.0

Table of Contents

Interfaces

ReviewRepositoryInterface
Repository interface for review/test operations.

Properties

$sentenceService  : SentenceService

Methods

__construct()  : mixed
Constructor.
findNextWordForReview()  : ReviewWord|null
Find the next word for testing using spaced repetition algorithm.
getLanguageIdFromConfig()  : int|null
Get language ID from test configuration.
getLanguageName()  : string
Get language name from test configuration.
getLanguageSettings()  : array{name: string, dict1Uri: string, dict2Uri: string, translateUri: string, textSize: int, removeSpaces: bool, regexWord: string, rtl: bool, ttsVoiceApi: string|null}
Get language settings for test display.
getReviewCounts()  : array{due: int, total: int}
Get test counts (due today and total).
getSentenceForWord()  : array{sentence: string|null, found: bool}
Get a sentence containing the word for context.
getSentenceWithAnnotations()  : array{sentence: string|null, sentenceId: int|null, found: bool, annotations: array}
Get sentence with annotations for surrounding words.
getTableReviewSettings()  : array{edit: int, status: int, term: int, trans: int, rom: int, sentence: int, contextRom: int, contextTrans: int}
Get table test visibility settings.
getTableWords()  : array<string|int, ReviewWord>
Get all words for table test mode.
getTomorrowCount()  : int
Get count of words due tomorrow.
getWordStatus()  : int|null
Get current word status.
getWordText()  : string|null
Get word text by ID.
updateWordStatus()  : array{oldStatus: int, newStatus: int, oldScore: int, newScore: int}
Update word status during test.
validateSingleLanguage()  : array{valid: bool, langCount: int, error: string|null}
Validate that test selection contains only one language.
fetchSentenceAnnotations()  : array<int, array{text: string, romanization: string|null, translation: string|null, isTarget: bool, order: int}>
Fetch word annotations for a sentence and surrounding context.
getFirstTranslation()  : string|null
Get the first translation from a translation string.

Properties

Methods

getLanguageSettings()

Get language settings for test display.

public getLanguageSettings(int $langId) : array{name: string, dict1Uri: string, dict2Uri: string, translateUri: string, textSize: int, removeSpaces: bool, regexWord: string, rtl: bool, ttsVoiceApi: string|null}
Parameters
$langId : int

Language ID

Return values
array{name: string, dict1Uri: string, dict2Uri: string, translateUri: string, textSize: int, removeSpaces: bool, regexWord: string, rtl: bool, ttsVoiceApi: string|null}

getSentenceForWord()

Get a sentence containing the word for context.

public getSentenceForWord(int $wordId, string $wordLc) : array{sentence: string|null, found: bool}
Parameters
$wordId : int

Word ID

$wordLc : string

Lowercase word text

Return values
array{sentence: string|null, found: bool}

getSentenceWithAnnotations()

Get sentence with annotations for surrounding words.

public getSentenceWithAnnotations(int $wordId, string $wordLc) : array{sentence: string|null, sentenceId: int|null, found: bool, annotations: array}
Parameters
$wordId : int

Word ID

$wordLc : string

Lowercase word text

Return values
array{sentence: string|null, sentenceId: int|null, found: bool, annotations: array}

getTableReviewSettings()

Get table test visibility settings.

public getTableReviewSettings() : array{edit: int, status: int, term: int, trans: int, rom: int, sentence: int, contextRom: int, contextTrans: int}
Return values
array{edit: int, status: int, term: int, trans: int, rom: int, sentence: int, contextRom: int, contextTrans: int}

getWordStatus()

Get current word status.

public getWordStatus(int $wordId) : int|null
Parameters
$wordId : int

Word ID

Return values
int|null

Current status or null if not found

getWordText()

Get word text by ID.

public getWordText(int $wordId) : string|null
Parameters
$wordId : int

Word ID

Return values
string|null

Word text or null if not found

updateWordStatus()

Update word status during test.

public updateWordStatus(int $wordId, int $newStatus) : array{oldStatus: int, newStatus: int, oldScore: int, newScore: int}
Parameters
$wordId : int

Word ID

$newStatus : int

New status (1-5, 98, 99)

Return values
array{oldStatus: int, newStatus: int, oldScore: int, newScore: int}

validateSingleLanguage()

Validate that test selection contains only one language.

public validateSingleLanguage(ReviewConfiguration $config) : array{valid: bool, langCount: int, error: string|null}
Parameters
$config : ReviewConfiguration

Test configuration

Return values
array{valid: bool, langCount: int, error: string|null}

fetchSentenceAnnotations()

Fetch word annotations for a sentence and surrounding context.

private fetchSentenceAnnotations(int $seid, int $txid, int $sentenceCount, string $targetWordLc) : array<int, array{text: string, romanization: string|null, translation: string|null, isTarget: bool, order: int}>
Parameters
$seid : int

Main sentence ID

$txid : int

Text ID

$sentenceCount : int

Number of sentences (1=current, 2=prev+current, 3=prev+current+next)

$targetWordLc : string

Lowercase target word text

Return values
array<int, array{text: string, romanization: string|null, translation: string|null, isTarget: bool, order: int}>

getFirstTranslation()

Get the first translation from a translation string.

private getFirstTranslation(string $trans) : string|null
Parameters
$trans : string

Full translation string (may contain separators)

Return values
string|null

First translation only, or null if empty


        
On this page

Search results