openrat-cms

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 964d15decd4b653aa40142555fc5b26b39b39a34
parent 775aced98898a8d4f1dd80d68f4e8969bc5179e7
Author: dankert <devnull@localhost>
Date:   Sat, 10 Nov 2007 00:35:49 +0100

Sprachen laden ohne pr?fen des Dateisystemes.

Diffstat:
do.php | 28+++++++++++++---------------
1 file changed, 13 insertions(+), 15 deletions(-)

diff --git a/do.php b/do.php @@ -100,30 +100,28 @@ if ( !is_array( $conf ) || isset($REQ['reload']) ) // Default-Sprache hinzufuegen. // Wird dann verwendet, wenn die vom Browser angeforderten Sprachen // nicht vorhanden sind - $languages[] = $conf['i18n']['default']; - + $languages[] = $conf['i18n']['default']; + $available = explode(',',$conf['i18n']['available']); + foreach( $languages as $l ) { + if ( !in_array($l,$available) ) + continue; + // Pruefen, ob Sprache vorhanden ist. $langFile = OR_LANGUAGE_DIR.$l.'.ini.'.PHP_EXT; - if ( file_exists( $langFile ) ) - { - $conf['language'] = parse_ini_file( $langFile ); - break; - } + if ( !file_exists( $langFile ) ) + Http::serverError("File does not exist: ".$langFile); + + $conf['language'] = parse_ini_file( $langFile ); + $conf['language']['language_code'] = $l; + break; } -// Deaktiviert, da alle Sprachdateien vollstaendig sein sollen. -// $langDefaultFile = OR_LANGUAGE_DIR.$conf['i18n']['complete_from'].'.ini.'.PHP_EXT; -// if ( file_exists( $langDefaultFile ) ) -// { -// $conf['language'] = array_merge( parse_ini_file( $langDefaultFile ),$conf['language']); -// } - if ( !isset($conf['language']) ) - Http::sendStatus(501,'Internal Server Error','no language found! (languages='.implode(',',$languages).')' ); + Http::serverError('no language found! (languages='.implode(',',$languages).')' ); // Schreibt die Konfiguration in die Sitzung. Diese wird anschliessend nicht // mehr veraendert.