home *** CD-ROM | disk | FTP | other *** search
- <?php
- /*
- Copyright Intermesh 2003
- Author: Merijn Schering <mschering@intermesh.nl>
- Version: 1.0 Release date: 08 July 2003
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
- */
-
- class GO_LANGUAGE
- {
- var $language;
- var $language_path;
- var $default_language;
-
- function GO_LANGUAGE()
- {
- global $GO_CONFIG;
- $this->language_path = $GO_CONFIG->root_path.$GO_CONFIG->language_path.'/';
- $this->language = $GO_CONFIG->language;
- $this->default_language = $GO_CONFIG->language;
-
- if (!isset($_SESSION['GO_SESSION']['language']) || $_SESSION['GO_SESSION']['language'] == '')
- {
- require($this->language_path.'languages.inc');
-
- if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) && isset($language[$_SERVER['HTTP_ACCEPT_LANGUAGE']]) && file_exists($this->language_path.$language[$_SERVER['HTTP_ACCEPT_LANGUAGE']]))
- {
- $this->language = $language[$_SERVER['HTTP_ACCEPT_LANGUAGE']];
- }
- }elseif(file_exists($this->language_path.$_SESSION['GO_SESSION']['language']))
- {
- $this->language = $_SESSION['GO_SESSION']['language'];
- }
-
- $_SESSION['GO_SESSION']['language'] = $this->language;
- }
-
- function set_session_language($language)
- {
- $_SESSION['GO_SESSION']['language'] = $language;
- $this->language = $language;
- }
-
- function get_language_file($module_id)
- {
- global $GO_CONFIG;
- $file = $this->language_path.$this->language.$GO_CONFIG->slash.$module_id.'.'.$this->language.'.inc';
-
- if (file_exists($file))
- {
- return $file;
- }else
- {
- return $this->language_path.$this->default_language.$GO_CONFIG->slash.$module_id.'.'.$this->default_language.'.inc';
- }
- }
-
- function get_languages()
- {
- $lang_dir=opendir($this->language_path);
- while ($file=readdir($lang_dir))
- {
- //Couldn't get is_file to work right so i worked around
- if (is_dir($this->language_path.$file) && $file != "." && $file != ".." && $file != 'CVS')
- {
- $languages[] = $file;
- }
- }
- closedir($lang_dir);
- return $languages;
- }
-
- function get_region_codes($selected_language)
- {
- require($this->language_path.'languages.inc');
- if(is_array($language))
- {
- foreach($language as $key => $value)
- {
- if($value == $selected_language)
- {
- $regions[] = $key;
- }
- }
- return $regions;
- }else
- {
- false;
- }
- }
- }
- ?>