From ce0c9561e9068d5dab9c473f1ca0709b0d222cf1 Mon Sep 17 00:00:00 2001 From: Andrey Andreev Date: Thu, 22 Nov 2012 17:26:29 +0200 Subject: Fix issue #118 (manually implementing PR #1832) --- system/core/Lang.php | 7 ++++--- system/libraries/Unit_test.php | 4 ++-- user_guide_src/source/changelog.rst | 5 ++++- user_guide_src/source/libraries/language.rst | 7 ++++++- 4 files changed, 16 insertions(+), 7 deletions(-) diff --git a/system/core/Lang.php b/system/core/Lang.php index 896385134..5d824cee6 100644 --- a/system/core/Lang.php +++ b/system/core/Lang.php @@ -151,15 +151,16 @@ class CI_Lang { * * Fetches a single line of text from the language array * - * @param string $line Language line key + * @param string $line Language line key + * @param bool $log_errors Whether to log an error message if the line is not found * @return string Translation */ - public function line($line = '') + public function line($line = '', $log_errors = TRUE) { $value = ($line === '' OR ! isset($this->language[$line])) ? FALSE : $this->language[$line]; // Because killer robots like unicorns! - if ($value === FALSE) + if ($value === FALSE && $log_errors === TRUE) { log_message('error', 'Could not find the language line "'.$line.'"'); } diff --git a/system/libraries/Unit_test.php b/system/libraries/Unit_test.php index 842b4aebd..05c7eef78 100644 --- a/system/libraries/Unit_test.php +++ b/system/libraries/Unit_test.php @@ -284,11 +284,11 @@ class CI_Unit_test { continue; } - if (FALSE !== ($line = $CI->lang->line(strtolower('ut_'.$val)))) + if (FALSE !== ($line = $CI->lang->line(strtolower('ut_'.$val), FALSE))) { $val = $line; } - $temp[$CI->lang->line('ut_'.$key)] = $val; + $temp[$CI->lang->line('ut_'.$key, FALSE)] = $val; } $retval[] = $temp; diff --git a/user_guide_src/source/changelog.rst b/user_guide_src/source/changelog.rst index e523c4cab..8de9d2f42 100644 --- a/user_guide_src/source/changelog.rst +++ b/user_guide_src/source/changelog.rst @@ -251,7 +251,9 @@ Release Date: Not Released - :doc:`Encryption Library ` changes include: - Added support for hashing algorithms other than SHA1 and MD5. - Removed previously deprecated ``sha1()`` method. - - Changed :doc:`Language Library ` method ``load()`` to filter the language name with ``ctype_digit()``. + - :doc:`Language Library ` changes include: + - Changed method ``load()`` to filter the language name with ``ctype_digit()``. + - Added an optional second parameter to method ``line()`` to disable error login for line keys that were not found. - :doc:`Profiler Library ` now also displays database object names. - :doc:`Migration Library ` changes include: - Added support for timestamp-based migrations (enabled by default). @@ -450,6 +452,7 @@ Bug fixes for 3.0 - Fixed a bug (#1978) - :doc:`Directory Helper ` function :php:func:`directory_map()`'s return array didn't make a distinction between directories and file indexes when a directory with a numeric name is present. - Fixed a bug (#777) - :doc:`Loader Library ` didn't look for helper extensions in added package paths. - Fixed a bug (#18) - :doc:`APC Cache ` driver didn't (un)serialize data, resulting in failure to store objects. +- Fixed a bug (#188) - :doc:`Unit Testing Library ` filled up logs with error messages for non-existing language keys. Version 2.1.3 ============= diff --git a/user_guide_src/source/libraries/language.rst b/user_guide_src/source/libraries/language.rst index b231f14a3..772f70d0b 100644 --- a/user_guide_src/source/libraries/language.rst +++ b/user_guide_src/source/libraries/language.rst @@ -66,9 +66,14 @@ text using this function:: $this->lang->line('language_key'); -Where language_key is the array key corresponding to the line you wish +Where *language_key* is the array key corresponding to the line you wish to show. +You can optionally pass FALSE as the second argument of that method to +disable error logging, in case you're not sure if the line exists:: + + $this->lang->line('misc_key', FALSE); + .. note:: This method simply returns the line. It does not echo it. Using language lines as form labels -- cgit v1.2.3-24-g4f1b