Permalink
Browse files

Fix: Added a bool parameter to Lang::line() to bypass error logging

Bug: Unit_test.php bloats the error_log when calling report(). Incorrect
keys are sent to the Lang class causing many errors to be logged.
  • Loading branch information...
1 parent 5ff5a3f commit e591fca8f8657f9589364d2faad760df36bf3b78 @ziyun ziyun committed Sep 26, 2012
Showing with 525 additions and 525 deletions.
  1. +169 −169 system/core/Lang.php
  2. +356 −356 system/libraries/Unit_test.php
View
@@ -1,170 +1,170 @@
-<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
-/**
- * CodeIgniter
- *
- * An open source application development framework for PHP 5.2.4 or newer
- *
- * NOTICE OF LICENSE
- *
- * Licensed under the Open Software License version 3.0
- *
- * This source file is subject to the Open Software License (OSL 3.0) that is
- * bundled with this package in the files license.txt / license.rst. It is
- * also available through the world wide web at this URL:
- * http://opensource.org/licenses/OSL-3.0
- * If you did not receive a copy of the license and are unable to obtain it
- * through the world wide web, please send an email to
- * licensing@ellislab.com so we can send you a copy immediately.
- *
- * @package CodeIgniter
- * @author EllisLab Dev Team
- * @copyright Copyright (c) 2008 - 2012, EllisLab, Inc. (http://ellislab.com/)
- * @license http://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
- * @link http://codeigniter.com
- * @since Version 1.0
- * @filesource
- */
-
-/**
- * Language Class
- *
- * @package CodeIgniter
- * @subpackage Libraries
- * @category Language
- * @author EllisLab Dev Team
- * @link http://codeigniter.com/user_guide/libraries/language.html
- */
-class CI_Lang {
-
- /**
- * List of translations
- *
- * @var array
- */
- public $language = array();
-
- /**
- * List of loaded language files
- *
- * @var array
- */
- public $is_loaded = array();
-
- /**
- * Initialize language class
- *
- * @return void
- */
- public function __construct()
- {
- log_message('debug', 'Language Class Initialized');
- }
-
- // --------------------------------------------------------------------
-
- /**
- * Load a language file
- *
- * @param mixed the name of the language file to be loaded
- * @param string the language (english, etc.)
- * @param bool return loaded array of translations
- * @param bool add suffix to $langfile
- * @param string alternative path to look for language file
- * @return mixed
- */
- public function load($langfile, $idiom = '', $return = FALSE, $add_suffix = TRUE, $alt_path = '')
- {
- $langfile = str_replace('.php', '', $langfile);
-
- if ($add_suffix === TRUE)
- {
- $langfile = str_replace('_lang', '', $langfile).'_lang';
- }
-
- $langfile .= '.php';
-
- if ($idiom === '')
- {
- $config =& get_config();
- $idiom = ( ! empty($config['language'])) ? $config['language'] : 'english';
- }
-
- if ($return === FALSE && isset($this->is_loaded[$langfile]) && $this->is_loaded[$langfile] === $idiom)
- {
- return;
- }
-
- // Determine where the language file is and load it
- if ($alt_path !== '' && file_exists($alt_path.'language/'.$idiom.'/'.$langfile))
- {
- include($alt_path.'language/'.$idiom.'/'.$langfile);
- }
- else
- {
- $found = FALSE;
-
- foreach (get_instance()->load->get_package_paths(TRUE) as $package_path)
- {
- if (file_exists($package_path.'language/'.$idiom.'/'.$langfile))
- {
- include($package_path.'language/'.$idiom.'/'.$langfile);
- $found = TRUE;
- break;
- }
- }
-
- if ($found !== TRUE)
- {
- show_error('Unable to load the requested language file: language/'.$idiom.'/'.$langfile);
- }
- }
-
-
- if ( ! isset($lang) OR ! is_array($lang))
- {
- log_message('error', 'Language file contains no data: language/'.$idiom.'/'.$langfile);
-
- if ($return === TRUE)
- {
- return array();
- }
- return;
- }
-
- if ($return === TRUE)
- {
- return $lang;
- }
-
- $this->is_loaded[$langfile] = $idiom;
- $this->language = array_merge($this->language, $lang);
-
- log_message('debug', 'Language file loaded: language/'.$idiom.'/'.$langfile);
- return TRUE;
- }
-
- // --------------------------------------------------------------------
-
- /**
- * Fetch a single line of text from the language array
- *
- * @param string $line the language line
- * @return string
- */
- public function line($line = '')
- {
- $value = ($line === '' OR ! isset($this->language[$line])) ? FALSE : $this->language[$line];
-
- // Because killer robots like unicorns!
- if ($value === FALSE)
- {
- log_message('error', 'Could not find the language line "'.$line.'"');
- }
-
- return $value;
- }
-
-}
-
-/* End of file Lang.php */
+<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
+/**
+ * CodeIgniter
+ *
+ * An open source application development framework for PHP 5.2.4 or newer
+ *
+ * NOTICE OF LICENSE
+ *
+ * Licensed under the Open Software License version 3.0
+ *
+ * This source file is subject to the Open Software License (OSL 3.0) that is
+ * bundled with this package in the files license.txt / license.rst. It is
+ * also available through the world wide web at this URL:
+ * http://opensource.org/licenses/OSL-3.0
+ * If you did not receive a copy of the license and are unable to obtain it
+ * through the world wide web, please send an email to
+ * licensing@ellislab.com so we can send you a copy immediately.
+ *
+ * @package CodeIgniter
+ * @author EllisLab Dev Team
+ * @copyright Copyright (c) 2008 - 2012, EllisLab, Inc. (http://ellislab.com/)
+ * @license http://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
+ * @link http://codeigniter.com
+ * @since Version 1.0
+ * @filesource
+ */
+
+/**
+ * Language Class
+ *
+ * @package CodeIgniter
+ * @subpackage Libraries
+ * @category Language
+ * @author EllisLab Dev Team
+ * @link http://codeigniter.com/user_guide/libraries/language.html
+ */
+class CI_Lang {
+
+ /**
+ * List of translations
+ *
+ * @var array
+ */
+ public $language = array();
+
+ /**
+ * List of loaded language files
+ *
+ * @var array
+ */
+ public $is_loaded = array();
+
+ /**
+ * Initialize language class
+ *
+ * @return void
+ */
+ public function __construct()
+ {
+ log_message('debug', 'Language Class Initialized');
+ }
+
+ // --------------------------------------------------------------------
+
+ /**
+ * Load a language file
+ *
+ * @param mixed the name of the language file to be loaded
+ * @param string the language (english, etc.)
+ * @param bool return loaded array of translations
+ * @param bool add suffix to $langfile
+ * @param string alternative path to look for language file
+ * @return mixed
+ */
+ public function load($langfile, $idiom = '', $return = FALSE, $add_suffix = TRUE, $alt_path = '')
+ {
+ $langfile = str_replace('.php', '', $langfile);
+
+ if ($add_suffix === TRUE)
+ {
+ $langfile = str_replace('_lang', '', $langfile).'_lang';
+ }
+
+ $langfile .= '.php';
+
+ if ($idiom === '')
+ {
+ $config =& get_config();
+ $idiom = ( ! empty($config['language'])) ? $config['language'] : 'english';
+ }
+
+ if ($return === FALSE && isset($this->is_loaded[$langfile]) && $this->is_loaded[$langfile] === $idiom)
+ {
+ return;
+ }
+
+ // Determine where the language file is and load it
+ if ($alt_path !== '' && file_exists($alt_path.'language/'.$idiom.'/'.$langfile))
+ {
+ include($alt_path.'language/'.$idiom.'/'.$langfile);
+ }
+ else
+ {
+ $found = FALSE;
+
+ foreach (get_instance()->load->get_package_paths(TRUE) as $package_path)
+ {
+ if (file_exists($package_path.'language/'.$idiom.'/'.$langfile))
+ {
+ include($package_path.'language/'.$idiom.'/'.$langfile);
+ $found = TRUE;
+ break;
+ }
+ }
+
+ if ($found !== TRUE)
+ {
+ show_error('Unable to load the requested language file: language/'.$idiom.'/'.$langfile);
+ }
+ }
+
+
+ if ( ! isset($lang) OR ! is_array($lang))
+ {
+ log_message('error', 'Language file contains no data: language/'.$idiom.'/'.$langfile);
+
+ if ($return === TRUE)
+ {
+ return array();
+ }
+ return;
+ }
+
+ if ($return === TRUE)
+ {
+ return $lang;
+ }
+
+ $this->is_loaded[$langfile] = $idiom;
+ $this->language = array_merge($this->language, $lang);
+
+ log_message('debug', 'Language file loaded: language/'.$idiom.'/'.$langfile);
+ return TRUE;
+ }
+
+ // --------------------------------------------------------------------
+
+ /**
+ * Fetch a single line of text from the language array
+ *
+ * @param string $line the language line
+ * @return string
+ */
+ public function line($line = '', $log = TRUE)
+ {
+ $value = ($line === '' OR ! isset($this->language[$line])) ? FALSE : $this->language[$line];
+
+ // Because killer robots like unicorns!
+ if ($value === FALSE && $log)
+ {
+ log_message('error', 'Could not find the language line "'.$line.'"');
+ }
+
+ return $value;
+ }
+
+}
+
+/* End of file Lang.php */
/* Location: ./system/core/Lang.php */
Oops, something went wrong.

0 comments on commit e591fca

Please sign in to comment.