SharedUserPreferences

FinalYes

Manages language selection preferences across modules.

Provides fallback chain for language resolution.

Language preferences are stored in be_users.uc['pageLanguages'] as: [pageId => languageIds[]]

Page-specific preferences are shared across all modules working with that page.

Internal

Table of Contents

Methods

resolveLanguages()  : array<string|int, int>
Resolve selected languages with fallback chain.
setPageLanguages()  : void
Store language selection for a page (shared across modules).

Methods

resolveLanguages()

Resolve selected languages with fallback chain.

public resolveLanguages(BackendUserAuthentication $backendUser, array<string|int, mixed>|null $requestLanguages, int $pageId[, array<string|int, mixed>|null $moduleDataLanguages = null ]) : array<string|int, int>

Priority order:

  1. Explicit request parameter (not stored, just for current request)
  2. Page-specific stored preference (shared across modules)
  3. ModuleData from request (for backward compat)
  4. Default [0]
Parameters
$backendUser : BackendUserAuthentication
$requestLanguages : array<string|int, mixed>|null

Languages from request parameter

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

Languages from ModuleData (for backward compat)

Return values
array<string|int, int>

Resolved language IDs

setPageLanguages()

Store language selection for a page (shared across modules).

public setPageLanguages(BackendUserAuthentication $backendUser, int $pageId, array<string|int, mixed> $languageIds) : void

This preference will be used by ALL modules working with this page, ensuring consistent language selection across Page Module, List Module, etc.

Parameters
$backendUser : BackendUserAuthentication
$pageId : int
$languageIds : array<string|int, mixed>

        
On this page

Search results