summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--system/core/Lang.php7
-rw-r--r--system/libraries/Unit_test.php4
-rw-r--r--user_guide_src/source/changelog.rst5
-rw-r--r--user_guide_src/source/libraries/language.rst7
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