PageRenderTime 546ms CodeModel.GetById 382ms app.highlight 4ms RepoModel.GetById 157ms app.codeStats 0ms

/halogy/libraries/Language.php

https://bitbucket.org/haloweb/halogy-1.0/
PHP | 123 lines | 57 code | 17 blank | 49 comment | 11 complexity | 51dfc807465790b227536c8ea5e78c58 MD5 | raw file
  1<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
  2/**
  3 * CodeIgniter
  4 *
  5 * An open source application development framework for PHP 4.3.2 or newer
  6 *
  7 * @package		CodeIgniter
  8 * @author		ExpressionEngine Dev Team
  9 * @copyright	Copyright (c) 2008 - 2009, EllisLab, Inc.
 10 * @license		http://codeigniter.com/user_guide/license.html
 11 * @link		http://codeigniter.com
 12 * @since		Version 1.0
 13 * @filesource
 14 */
 15
 16// ------------------------------------------------------------------------
 17
 18/**
 19 * Language Class
 20 *
 21 * @package		CodeIgniter
 22 * @subpackage	Libraries
 23 * @category	Language
 24 * @author		ExpressionEngine Dev Team
 25 * @link		http://codeigniter.com/user_guide/libraries/language.html
 26 */
 27class CI_Language {
 28
 29	var $language	= array();
 30	var $is_loaded	= array();
 31
 32	/**
 33	 * Constructor
 34	 *
 35	 * @access	public
 36	 */
 37	function CI_Language()
 38	{
 39		log_message('debug', "Language Class Initialized");
 40	}
 41
 42	// --------------------------------------------------------------------
 43
 44	/**
 45	 * Load a language file
 46	 *
 47	 * @access	public
 48	 * @param	mixed	the name of the language file to be loaded. Can be an array
 49	 * @param	string	the language (english, etc.)
 50	 * @return	mixed
 51	 */
 52	function load($langfile = '', $idiom = '', $return = FALSE)
 53	{
 54		$langfile = str_replace(EXT, '', str_replace('_lang.', '', $langfile)).'_lang'.EXT;
 55
 56		if (in_array($langfile, $this->is_loaded, TRUE))
 57		{
 58			return;
 59		}
 60
 61		if ($idiom == '')
 62		{
 63			$CI =& get_instance();
 64			$deft_lang = $CI->config->item('language');
 65			$idiom = ($deft_lang == '') ? 'english' : $deft_lang;
 66		}
 67
 68		// Determine where the language file is and load it
 69		if (file_exists(APPPATH.'language/'.$idiom.'/'.$langfile))
 70		{
 71			include(APPPATH.'language/'.$idiom.'/'.$langfile);
 72		}
 73		else
 74		{
 75			if (file_exists(BASEPATH.'language/'.$idiom.'/'.$langfile))
 76			{
 77				include(BASEPATH.'language/'.$idiom.'/'.$langfile);
 78			}
 79			else
 80			{
 81				show_error('Unable to load the requested language file: language/'.$idiom.'/'.$langfile);
 82			}
 83		}
 84
 85		if ( ! isset($lang))
 86		{
 87			log_message('error', 'Language file contains no data: language/'.$idiom.'/'.$langfile);
 88			return;
 89		}
 90
 91		if ($return == TRUE)
 92		{
 93			return $lang;
 94		}
 95
 96		$this->is_loaded[] = $langfile;
 97		$this->language = array_merge($this->language, $lang);
 98		unset($lang);
 99
100		log_message('debug', 'Language file loaded: language/'.$idiom.'/'.$langfile);
101		return TRUE;
102	}
103
104	// --------------------------------------------------------------------
105
106	/**
107	 * Fetch a single line of text from the language array
108	 *
109	 * @access	public
110	 * @param	string	$line 	the language line
111	 * @return	string
112	 */
113	function line($line = '')
114	{
115		$line = ($line == '' OR ! isset($this->language[$line])) ? FALSE : $this->language[$line];
116		return $line;
117	}
118
119}
120// END Language Class
121
122/* End of file Language.php */
123/* Location: ./system/libraries/Language.php */