upgrade to codeigniter 1.7.2 for f12
[www-register-wizard.git] / libraries / Language.php
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  */
27 class 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 */