Files
opensourcepos/application/core/MY_Lang.php
jekkos-t520 40eef74aa0 Adapt load_config hook to fallback to english if no valid language is
present
Move CI system language files back to their correct location
(form_validation_lang)
Add upload_lang.php and email_lang.php to system files (default english
version for the time being)
Add account_number check when importing customer data from excel
Avoid unnecessary calls to check_item_number when importing items from
excel
2015-02-17 11:06:28 +01:00

91 lines
2.4 KiB
PHP

<?php (defined('BASEPATH')) OR exit('No direct script access allowed');
class MY_Lang extends CI_Lang
{
function MY_Lang()
{
parent::__construct();
}
function switch_to( $idiom )
{
$CI =& get_instance();
if( is_string( $idiom ) )
{
$CI->config->set_item( 'language', $idiom );
$loaded = $this->is_loaded;
$this->is_loaded = array();
foreach($loaded as $file)
{
$this->load( str_replace( '_lang.php', '', $file ) );
}
}
}
/**
* Fetch a single line of text from the language array. Takes variable number
* of arguments and supports wildcards in the form of '%1', '%2', etc.
* Overloaded function.
*
* @access public
* @return mixed false if not found or the language string
*/
function line($line = '')
{
//get the arguments passed to the function
$args = func_get_args();
//count the number of arguments
$c = count($args);
//if one or more arguments, perform the necessary processing
if ($c)
{
//first argument should be the actual language line key
//so remove it from the array (pop from front)
$line = array_shift($args);
//check to make sure the key is valid and load the line
if ($line == '')
{
$line = FALSE;
}
else
{
if (isset($this->language[$line]))
{
$line = $this->language[$line];
//if the line exists and more function arguments remain
//perform wildcard replacements
if ($args)
{
$i = 1;
foreach ($args as $arg)
{
$line = preg_replace('/\%'.$i.'/', $arg, $line);
$i++;
}
}
}
else
{
// just return label name (with TBD)
$line = $line . ' (TBD)';
log_message('error', 'Could not find the language line "'.$line.'"');
}
}
}
else
{
//if no arguments given, no language line available
$line = false;
}
return $line;
}
}
?>