aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--phpBB/includes/session.php5
-rw-r--r--tests/user/lang_test.php5
2 files changed, 10 insertions, 0 deletions
diff --git a/phpBB/includes/session.php b/phpBB/includes/session.php
index 808d1a4a7f..401cb0d371 100644
--- a/phpBB/includes/session.php
+++ b/phpBB/includes/session.php
@@ -1862,6 +1862,11 @@ class user extends session
$args[0] = $lang;
return call_user_func_array('sprintf', $args);
}
+ else if (sizeof($lang) == 0)
+ {
+ // If the language entry is an empty array, we just return the language key
+ return $args[0];
+ }
// It is an array... now handle different nullar/singular/plural forms
$key_found = false;
diff --git a/tests/user/lang_test.php b/tests/user/lang_test.php
index 36933a84d2..ee1be3c323 100644
--- a/tests/user/lang_test.php
+++ b/tests/user/lang_test.php
@@ -38,6 +38,8 @@ class phpbb_user_lang_test extends phpbb_test_case
1 => '1 post', // 1.x
2 => '%1$.1f posts', // 0.x, 2+.x
),
+ 'ARRY_EMPTY' => array(
+ ),
'dateformat' => array(
'AGO' => array(
1 => '%d second',
@@ -69,6 +71,9 @@ class phpbb_user_lang_test extends phpbb_test_case
$this->assertEquals($user->lang('ARRY', 2), '2 posts');
$this->assertEquals($user->lang('ARRY', 123), '123 posts');
+ // Empty array returns the language key
+ $this->assertEquals($user->lang('ARRY_EMPTY', 123), 'ARRY_EMPTY');
+
// No 0 key defined
$this->assertEquals($user->lang('ARRY_NO_ZERO', 0), '0 posts');
$this->assertEquals($user->lang('ARRY_NO_ZERO', 1), '1 post');