Documentation

ReviewFacade

Facade for review module operations.

Provides a unified interface to all review-related use cases. Designed for backward compatibility with existing TestService callers.

Tags
since
3.0.0

Table of Contents

Properties

$getNextTerm  : GetNextTerm
$getReviewConfiguration  : GetReviewConfiguration
$getTableWords  : GetTableWords
$getTomorrowCount  : GetTomorrowCount
$repository  : ReviewRepositoryInterface
$sessionManager  : SessionStateManager
$startReviewSession  : StartReviewSession
$submitAnswer  : SubmitAnswer

Methods

__construct()  : mixed
Constructor.
buildSelectionReviewSql()  : string|null
Build selection test SQL.
calculateNewStatus()  : int
Calculate new status.
calculateStatusChange()  : int
Calculate status change.
clampReviewType()  : int
Clamp test type to valid range.
fetchNextTerm()  : array<string|int, mixed>
Get next term for testing (new API).
fetchReviewConfiguration()  : array<string|int, mixed>
Get test configuration (new API).
fetchTableWords()  : array<string|int, mixed>
Get table words (new API).
getBaseReviewType()  : int
Get base test type.
getEditFrameWaitingTime()  : int
Get edit frame waiting time setting.
getL2LanguageName()  : string
Get L2 language name.
getLanguageIdFromReviewSql()  : int|null
Get language ID from test SQL.
getLanguageSettings()  : array<string|int, mixed>
Get language settings.
getNextWord()  : array<string, mixed>|null
Get the next word to test.
getReviewCounts()  : array{due: int, total: int}
Get test counts.
getReviewDataFromParams()  : array<string|int, mixed>|null
Get test data from params.
getReviewIdentifier()  : array{0: string, 1: int|int[]|string}
Get test identifier from request parameters.
getReviewSessionData()  : array{start: int, correct: int, wrong: int, total: int}
Get review session data.
getReviewSql()  : string|null
Get SQL projection for test.
getSentenceForWord()  : array{sentence: string|null, found: bool}
Get sentence for word.
getSentenceWithAnnotations()  : array{sentence: string|null, sentenceId: int|null, found: bool, annotations: array}
Get sentence for word with annotations for surrounding words.
getTableReviewSettings()  : array<string|int, mixed>
Get table test settings.
getTableReviewWords()  : mysqli_result|bool
Get table test words.
getTestSolution()  : string
Get test solution.
getTomorrowReviewCount()  : int
Get tomorrow's test count.
getWaitingTime()  : int
Get waiting time setting.
getWordText()  : string|null
Get word text.
initializeReviewSession()  : void
Initialize review session.
isWordMode()  : bool
Check if word mode.
submitAnswer()  : array<string|int, mixed>
Submit answer (new API).
submitAnswerWithChange()  : array<string|int, mixed>
Submit answer with relative change (new API).
updateSessionProgress()  : array{total: int, wrong: int, correct: int, remaining: int}
Update session progress.
updateWordStatus()  : array{oldStatus: int, newStatus: int, oldScore: int, newScore: int}
Update word status.
validateReviewSelection()  : array{valid: bool, langCount: int, error: string|null}
Validate test selection.
buildTitle()  : string
Build title for test.
getSelectionTitle()  : string
Get selection title.

Properties

Methods

__construct()

Constructor.

public __construct([ReviewRepositoryInterface|null $repository = null ][, SessionStateManager|null $sessionManager = null ][, GetNextTerm|null $getNextTerm = null ][, GetTableWords|null $getTableWords = null ][, GetReviewConfiguration|null $getReviewConfiguration = null ][, GetTomorrowCount|null $getTomorrowCount = null ][, StartReviewSession|null $startReviewSession = null ][, SubmitAnswer|null $submitAnswer = null ]) : mixed
Parameters
$repository : ReviewRepositoryInterface|null = null

Review repository

$sessionManager : SessionStateManager|null = null

Session manager

$getNextTerm : GetNextTerm|null = null

Get next term use case

$getTableWords : GetTableWords|null = null

Get table words use case

$getReviewConfiguration : GetReviewConfiguration|null = null

Get config use case

$getTomorrowCount : GetTomorrowCount|null = null

Tomorrow count use case

$startReviewSession : StartReviewSession|null = null

Start session use case

$submitAnswer : SubmitAnswer|null = null

Submit answer use case

buildSelectionReviewSql()

Build selection test SQL.

public buildSelectionReviewSql(int $selectionType, string $selectionData) : string|null
Parameters
$selectionType : int

Selection type

$selectionData : string

Comma-separated IDs

Return values
string|null

calculateNewStatus()

Calculate new status.

public calculateNewStatus(int $oldStatus, int $change) : int
Parameters
$oldStatus : int

Old status

$change : int

Change amount

Return values
int

calculateStatusChange()

Calculate status change.

public calculateStatusChange(int $oldStatus, int $newStatus) : int
Parameters
$oldStatus : int

Old status

$newStatus : int

New status

Return values
int

clampReviewType()

Clamp test type to valid range.

public clampReviewType(int $testType) : int
Parameters
$testType : int

Test type

Return values
int

fetchReviewConfiguration()

Get test configuration (new API).

public fetchReviewConfiguration(ReviewConfiguration $config) : array<string|int, mixed>
Parameters
$config : ReviewConfiguration

Test configuration

Return values
array<string|int, mixed>

getBaseReviewType()

Get base test type.

public getBaseReviewType(int $testType) : int
Parameters
$testType : int

Test type

Return values
int

getEditFrameWaitingTime()

Get edit frame waiting time setting.

public getEditFrameWaitingTime() : int
Return values
int

getL2LanguageName()

Get L2 language name.

public getL2LanguageName(int|null $lang, int|null $text[, int|null $selection = null ][, string|null $reviewsql = null ]) : string
Parameters
$lang : int|null

Language ID

$text : int|null

Text ID

$selection : int|null = null

Selection type

$reviewsql : string|null = null

Test SQL

Return values
string

getLanguageIdFromReviewSql()

Get language ID from test SQL.

public getLanguageIdFromReviewSql(string $reviewsql) : int|null
Parameters
$reviewsql : string

Test SQL

Return values
int|null

getLanguageSettings()

Get language settings.

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

Language ID

Return values
array<string|int, mixed>

getNextWord()

Get the next word to test.

public getNextWord(string $reviewsql) : array<string, mixed>|null
Parameters
$reviewsql : string

SQL projection string

Return values
array<string, mixed>|null

Word record or null

getReviewCounts()

Get test counts.

public getReviewCounts(string $reviewsql) : array{due: int, total: int}
Parameters
$reviewsql : string

SQL projection string

Return values
array{due: int, total: int}

getReviewDataFromParams()

Get test data from params.

public getReviewDataFromParams(int|null $selection, string|null $sessTestsql, int|null $langId, int|null $textId) : array<string|int, mixed>|null
Parameters
$selection : int|null

Selection type

$sessTestsql : string|null

Session test SQL

$langId : int|null

Language ID

$textId : int|null

Text ID

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

getReviewIdentifier()

Get test identifier from request parameters.

public getReviewIdentifier(int|null $selection, string|null $sessTestsql, int|null $lang, int|null $text) : array{0: string, 1: int|int[]|string}
Parameters
$selection : int|null

Test is of type selection

$sessTestsql : string|null

SQL string for test

$lang : int|null

Test is of type language

$text : int|null

Testing text with ID $text

Return values
array{0: string, 1: int|int[]|string}

Selector type and selection value

getReviewSessionData()

Get review session data.

public getReviewSessionData() : array{start: int, correct: int, wrong: int, total: int}
Return values
array{start: int, correct: int, wrong: int, total: int}

getReviewSql()

Get SQL projection for test.

public getReviewSql(string $selector, int|array<string|int, int> $selection) : string|null
Parameters
$selector : string

Type of test

$selection : int|array<string|int, int>

Selection value

Return values
string|null

SQL projection string

getSentenceForWord()

Get sentence for word.

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 for word 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 settings.

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

getTableReviewWords()

Get table test words.

public getTableReviewWords(string $reviewsql) : mysqli_result|bool
Parameters
$reviewsql : string

SQL projection

Return values
mysqli_result|bool

getTestSolution()

Get test solution.

public getTestSolution(int $testType, array<string, mixed> $wordData, bool $wordMode, string $wordText) : string
Parameters
$testType : int

Test type

$wordData : array<string, mixed>

Word data

$wordMode : bool

Word mode

$wordText : string

Word text

Return values
string

getTomorrowReviewCount()

Get tomorrow's test count.

public getTomorrowReviewCount(string $reviewsql) : int
Parameters
$reviewsql : string

SQL projection string

Return values
int

getWaitingTime()

Get waiting time setting.

public getWaitingTime() : int
Return values
int

getWordText()

Get word text.

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

Word ID

Return values
string|null

initializeReviewSession()

Initialize review session.

public initializeReviewSession(int $totalDue) : void
Parameters
$totalDue : int

Total words due

isWordMode()

Check if word mode.

public isWordMode(int $testType) : bool
Parameters
$testType : int

Test type

Return values
bool

submitAnswer()

Submit answer (new API).

public submitAnswer(int $wordId, int $newStatus) : array<string|int, mixed>
Parameters
$wordId : int

Word ID

$newStatus : int

New status

Return values
array<string|int, mixed>

submitAnswerWithChange()

Submit answer with relative change (new API).

public submitAnswerWithChange(int $wordId, int $change) : array<string|int, mixed>
Parameters
$wordId : int

Word ID

$change : int

Change amount

Return values
array<string|int, mixed>

updateSessionProgress()

Update session progress.

public updateSessionProgress(int $statusChange) : array{total: int, wrong: int, correct: int, remaining: int}
Parameters
$statusChange : int

Status change direction

Return values
array{total: int, wrong: int, correct: int, remaining: int}

updateWordStatus()

Update word status.

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

Word ID

$newStatus : int

New status

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

validateReviewSelection()

Validate test selection.

public validateReviewSelection(string $reviewsql) : array{valid: bool, langCount: int, error: string|null}
Parameters
$reviewsql : string

SQL projection string

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

        
On this page

Search results