diff options
author | Andrey Andreev <narf@bofh.bg> | 2012-11-22 16:26:29 +0100 |
---|---|---|
committer | Andrey Andreev <narf@bofh.bg> | 2012-11-22 16:26:29 +0100 |
commit | ce0c9561e9068d5dab9c473f1ca0709b0d222cf1 (patch) | |
tree | e4cb5f26a6ee9eb3e52c3314c33c98e2e526b9d8 | |
parent | 53fff911de3564c8688550452f138991730a704f (diff) |
Fix issue #118 (manually implementing PR #1832)
-rw-r--r-- | system/core/Lang.php | 7 | ||||
-rw-r--r-- | system/libraries/Unit_test.php | 4 | ||||
-rw-r--r-- | user_guide_src/source/changelog.rst | 5 | ||||
-rw-r--r-- | 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 <libraries/encryption>` changes include: - Added support for hashing algorithms other than SHA1 and MD5. - Removed previously deprecated ``sha1()`` method. - - Changed :doc:`Language Library <libraries/language>` method ``load()`` to filter the language name with ``ctype_digit()``. + - :doc:`Language Library <libraries/language>` 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 <general/profiling>` now also displays database object names. - :doc:`Migration Library <libraries/migration>` 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 <helpers/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 <libraries/loader>` didn't look for helper extensions in added package paths. - Fixed a bug (#18) - :doc:`APC Cache <libraries/caching>` driver didn't (un)serialize data, resulting in failure to store objects. +- Fixed a bug (#188) - :doc:`Unit Testing Library <libraries/unit_testing>` 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 |