====== LanguageSwitcherFixture ======
**Layer:** ''Tests'' · **Source:** ''tests/fixtures/language_switcher_fixture.php:18'' (lines 18–266)
----
class LanguageSwitcherFixture
======= Inheritance =======
//No parent, interface or trait. This is a root type.//
======= Constants (0) =======
//None.//
======= Properties (1) =======
^ Visibility ^ Type ^ Name ^ Default ^ Line ^
| ''private static'' | ''static'' | ''$dbc'' | ''null'' | 20 |
======= Methods (12) =======
^ Visibility ^ Method ^ Summary ^ Line ^
| public static | ''initDb()'' | Initialize database connection | 25 |
| public static | ''getDb()'' | (undocumented) | 46 |
| public static | ''isDbAvailable()'' | (undocumented) | 52 |
| public static | ''getLanguages()'' | Get languages from database | 61 |
| public static | ''getPostsByLocale()'' | Get posts filtered by locale from the real database | 73 |
| public static | ''getTopicsByLocale()'' | Get topics filtered by locale from the real database | 88 |
| public static | ''getMenuItemsByLocale()'' | Get menu items filtered by locale from the real database | 103 |
| public static | ''getAllPublishedPosts()'' | Get all published posts (no locale filter) | 118 |
| public static | ''getLanguageDirectionFromDb()'' | Lookup language direction from real database (same logic as I18nManager::getLan… | 130 |
| public static | ''processSwitchLang()'' | Process switch-lang — replicates lib/main.php lines 103-129 EXACTLY. | 155 |
| public static | ''detectLocale()'' | Detect locale from session/cookie/default | 215 |
| public static | ''bootstrapI18nManager()'' | Initialize I18nManager for testing real is_rtl() function. | 241 |
======== initDb() ========
public static function initDb(): void
//lines 25–44 (20)//
Initialize database connection
//Takes no parameters.//
**Returns:** ''void''
======== getDb() ========
public static function getDb(): ?PDO
//lines 46–50 (5)//
//Takes no parameters.//
**Returns:** ''?PDO''
======== isDbAvailable() ========
public static function isDbAvailable(): bool
//lines 52–56 (5)//
//Takes no parameters.//
**Returns:** ''bool''
======== getLanguages() ========
public static function getLanguages(): array
//lines 61–68 (8)//
Get languages from database
//Takes no parameters.//
**Returns:** ''array''
======== getPostsByLocale() ========
public static function getPostsByLocale(string $locale): array
//lines 73–83 (11)//
Get posts filtered by locale from the real database
^ Parameter ^ Type ^ Default ^ Description ^
| ''$locale'' | ''string'' | //required// | //none// |
**Returns:** ''array''
======== getTopicsByLocale() ========
public static function getTopicsByLocale(string $locale): array
//lines 88–98 (11)//
Get topics filtered by locale from the real database
^ Parameter ^ Type ^ Default ^ Description ^
| ''$locale'' | ''string'' | //required// | //none// |
**Returns:** ''array''
======== getMenuItemsByLocale() ========
public static function getMenuItemsByLocale(string $locale): array
//lines 103–113 (11)//
Get menu items filtered by locale from the real database
^ Parameter ^ Type ^ Default ^ Description ^
| ''$locale'' | ''string'' | //required// | //none// |
**Returns:** ''array''
======== getAllPublishedPosts() ========
public static function getAllPublishedPosts(): array
//lines 118–125 (8)//
Get all published posts (no locale filter)
//Takes no parameters.//
**Returns:** ''array''
======== getLanguageDirectionFromDb() ========
public static function getLanguageDirectionFromDb(string $locale): string
//lines 130–145 (16)//
Lookup language direction from real database (same logic as I18nManager::getLanguageDirection)
^ Parameter ^ Type ^ Default ^ Description ^
| ''$locale'' | ''string'' | //required// | //none// |
**Returns:** ''string''
======== processSwitchLang() ========
public static function processSwitchLang(array &$session, array $get): array
//lines 155–209 (55)//
Process switch-lang — replicates lib/main.php lines 103-129 EXACTLY.
Differences from real code (required for CLI testability):
\- Returns redirect URL string instead of calling header()+exit()
\- Returns null for invalid locales instead of silently ignoring
\- Returns result struct instead of exit()
^ Parameter ^ Type ^ Default ^ Description ^
| ''$session (by reference)'' | ''array'' | //required// | //none// |
| ''$get'' | ''array'' | //required// | //none// |
**Returns:** ''array''
======== detectLocale() ========
public static function detectLocale(array $session, array $cookie): string
//lines 215–235 (21)//
Detect locale from session/cookie/default
Same logic as the real LocaleDetector + config default
^ Parameter ^ Type ^ Default ^ Description ^
| ''$session'' | ''array'' | //required// | //none// |
| ''$cookie'' | ''array'' | //required// | //none// |
**Returns:** ''string''
======== bootstrapI18nManager() ========
public static function bootstrapI18nManager(): bool
//lines 241–265 (25)//
Initialize I18nManager for testing real is_rtl() function.
Uses test database for LanguageDao lookups.
//Takes no parameters.//
**Returns:** ''bool''
======= Conditional Includes =======
^ Mode ^ Target ^ Line ^
| ''require'' | ''require_once __DIR__ . '/../../public/themes/blog/functions.php';'' | 15 |
----
//This page is generated from source by 'tools/gendoc'. Edits will be overwritten.//