File:
0.00.1a/core/Language.php (
View as Code)
1: 2: /* -------------------------------------------------------------
3: This file is part of FreeDESK
4:
5: FreeDESK is (C) Copyright 2012 David Cutting
6:
7: FreeDESK is free software: you can redistribute it and/or modify
8: it under the terms of the GNU General Public License as published by
9: the Free Software Foundation, either version 3 of the License, or
10: (at your option) any later version.
11:
12: FreeDESK is distributed in the hope that it will be useful,
13: but WITHOUT ANY WARRANTY; without even the implied warranty of
14: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15: GNU General Public License for more details.
16:
17: You should have received a copy of the GNU General Public License
18: along with FreeDESK. If not, see www.gnu.org/licenses
19:
20: For more information see www.purplepixie.org/freedesk/
21: -------------------------------------------------------------- */
22:
23: /**
24: * FreeDESK Language Class
25: **/
26: class Language
27: {
28: /**
29: * FreeDESK Instance
30: **/
31: private $DESK = null;
32:
33: /**
34: * Default Language
35: **/
36: private $default = "English";
37:
38: /**
39: * Language Items
40: **/
41: private $items = array();
42:
43: /**
44: * Constructor
45: * @param mixed &$freeDESK FreeDESK instance
46: **/
47: function Language(&$freeDESK)
48: {
49: $this->DESK = &$freeDESK;
50: $this->default = $this->DESK->Configuration->Get("language.default","English");
51: $this->Load($this->default, true);
52: }
53:
54: /**
55: * Load Language
56: * @param string $language
57: * @param bool $override Override already-loaded check (optional, default false)
58: * @return bool True on success or false on failure
59: **/
60: function Load($language, $override=false)
61: {
62: if (!$override && ($language == $this->default))
63: return true; // already loaded
64: $class="FDL_".$language;
65: $this->DESK->Include->IncludeFile("language/".$language.".php", false, true);
66: if (class_exists($class))
67: $class::$language($this->items);
68: else
69: return false;
70: return true;
71: }
72:
73: /**
74: * Get a language element
75: * @param string $element Language element
76: **/
77: function Get($element)
78: {
79: if (isset($this->items[$element]))
80: return $this->items[$element];
81: else
82: return "ULE:".$element;
83: }
84:
85: }
86: ?>
87: