X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Flanguage-functions.php;h=906a78dc9766992f0e657e99b3ed492c05416464;hb=2eb01731e9a7a21c1b44ca5881a1444a801f5e5a;hp=5cde4b6ebe59fee6eaded2f5f8c65681dece0570;hpb=d234d1de6ad6e7afe77507f421c9930833731d88;p=mailer.git diff --git a/inc/language-functions.php b/inc/language-functions.php index 5cde4b6ebe..906a78dc97 100644 --- a/inc/language-functions.php +++ b/inc/language-functions.php @@ -1,7 +1,7 @@ '; + } // END - if + + // Return it + return $GLOBALS['lang_inc'][$ext_name]; +} + // Load the current language file or fixes it to 'de' -function loadLanguageFile () { +// If ext_name is 'none', load general language support, else load extension's +// language file. In installation phase load the install language file. +function loadLanguageFile ($ext_name = 'none') { // Try to get language from session - $mx_lang = getSession('mx_lang'); + $currLanguage = getLanguage(); // Set default language if it is not (yet) set - if (is_null($mx_lang)) $mx_lang = getConfig('DEFAULT_LANG'); + if (is_null($currLanguage)) { + // Get it from config + $currLanguage = getConfig('DEFAULT_LANG'); - // Generate filename - $INC = sprintf("inc/language/%s.php", SQL_ESCAPE($mx_lang)); + // And save it in session + setLanguage($currLanguage); + } // END - if - // Look for file - if (!isIncludeReadable($INC)) { + // Do we have the language file NOT? + if (!isLanguageIncludeReadable($ext_name)) { // Switch to default (DO NOT CHANGE!!!) setLanguage('de'); - $INC = 'inc/language/de.php'; // And set it temporarily setConfigEntry('DEFAULT_LANG', 'de'); } // END - if - // Load language file - loadIncludeOnce($INC); + // Is the file there? + if (isLanguageIncludeReadable($ext_name)) { + // Load language file + loadLanguageInclude($ext_name); + } elseif ((isDebugModeEnabled()) && (getOutputMode() == '0') && ($ext_name != 'sql_patches') && (substr($ext_name, 0, 10) != 'admintheme')) { + // No language file is not so good... + logDebugMessage(__FUNCTION__, __LINE__, sprintf("NOTICE: Extension %s has no language file or we cannot read from it. lang=%s, mode=%s", + $ext_name, + getLanguage(), + getExtensionMode() + )); + } // Check for installation mode - if ((isInstalling()) || (!isInstalled()) || (!isAdminRegistered())) { - // Load matching language file - loadInclude('inc/language/install_' . getSession('mx_lang') . '.php'); + if ((isInstallationPhase()) || (!isAdminRegistered())) { + // Load language file + loadLanguageInclude('install'); } // END - if } +// Loads the language file +function loadLanguageInclude ($ext_name = 'none') { + // Generate filename + if ($ext_name == 'none') { + // Generic + $languageInclude = sprintf("inc/language/%s.php", getLanguage()); + } else { + // Extension's language file + $languageInclude = sprintf("inc/language/%s_%s.php", $ext_name, getLanguage()); + } + + // Check it before loading + if (isLanguageIncludeReadable($ext_name)) { + // Load it + loadIncludeOnce($languageInclude); + } else { + // Not readable! + DEBUG_LOG(__FUNCTION__, __LINE__, sprintf("Language file %s not found or readable.", $languageInclude)); + } +} + // [EOF] ?>