// ------------------------------------------------------------------------- //
// File admin.php
// ------------------------------------------------------------------------- //
if (defined('ADMIN_PHP')) {
$lang_admin_php_en = cpg_get_default_lang_var('lang_admin_php','english');
$lang_admin_php = array_merge($lang_admin_php_en, $lang_admin_php);
}
if (defined('CONFIG_PHP')) {
$lang_admin_data_en = cpg_get_default_lang_var('lang_admin_data','english');
$lang_admin_data = array_merge($lang_admin_data_en, $lang_admin_data);
}
// ------------------------------------------------------------------------- //
// File admin.php
// ------------------------------------------------------------------------- //
// ------------------------------------------------------------------------- //
// File admin.php
// ------------------------------------------------------------------------- //
if (defined('ADMIN_PHP')) {
$lang_admin_php_en = cpg_get_default_lang_var('lang_admin_php','english');
$lang_admin_php = array_merge($lang_admin_php_en, $lang_admin_php);
}
if (defined('ADMIN_PHP')) {
$lang_admin_data_en = cpg_get_default_lang_var('lang_admin_data','english');
$lang_admin_data = array_merge($lang_admin_data_en, $lang_admin_data);
}
\include\langfallback.inc.phpFor sample, in german language file the variable lang_admin_data doesn't exist. This causes that the function array_merge() fails and the variable lang_admin_data is totaly empty.
* Notice line 152: Undefined variable: lang_admin_data
* Warning line 152: array_merge() [function.array-merge]: Argument #2 is not an array
* Warning line 308: array_merge() [function.array-merge]: Argument #2 is not an array
define('CONFIG_PHP', true);
in the code for a while...I have found the following problem in langfallback, that will affect all language files.
When the array for admin.php, '$lang_admin_data = array(' is added in the language, you end up with an admin section for each in both english and your language.
I hope the attached screenshot will make it clearer what I mean.
This is caused by this section of code in langfallback;Code: [Select]if (defined('ADMIN_PHP')) {
$lang_admin_data_en = cpg_get_default_lang_var('lang_admin_data','english');
$lang_admin_data = array_merge($lang_admin_data_en, $lang_admin_data);
}
Obviously, each language will have different array, so langfallback see these as different, and puts in both.
Removing the above code works, but it does mean that this section of code for admin.php will have to be present in every language file.
// ------------------------------------------------------------------------- //
// File admin.php
// ------------------------------------------------------------------------- //
if (defined('ADMIN_PHP')) $lang_admin_php = array(
// ------------------------------------------------------------------------- //
// File mode.php
// ------------------------------------------------------------------------- //
if (defined('MODE_PHP')) $lang_mode_php = array(
// ------------------------------------------------------------------------- //
// File config.php
// ------------------------------------------------------------------------- //
if (defined('CONFIG_PHP')) $lang_config_php = array(
// ------------------------------------------------------------------------- //
// File admin.php
// ------------------------------------------------------------------------- //
if (defined('ADMIN_PHP')) $lang_admin_php = array(
if (defined('CONFIG_PHP')) $lang_config_data = array(
if (defined('ADMIN_PHP')) $lang_admin_data = array(