home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 April / CMCD0404.ISO / Software / Freeware / Programare / groupoffice-com-2.01 / classes / language.class.inc < prev    next >
Text File  |  2004-03-08  |  3KB  |  96 lines

  1. <?php
  2. /*
  3. Copyright Intermesh 2003
  4. Author: Merijn Schering <mschering@intermesh.nl>
  5. Version: 1.0 Release date: 08 July 2003
  6.  
  7. This program is free software; you can redistribute it and/or modify it
  8. under the terms of the GNU General Public License as published by the
  9. Free Software Foundation; either version 2 of the License, or (at your
  10. option) any later version.
  11. */
  12.  
  13. class GO_LANGUAGE
  14. {
  15.     var $language;
  16.     var $language_path;
  17.     var $default_language;
  18.  
  19.     function GO_LANGUAGE()
  20.     {
  21.         global $GO_CONFIG;
  22.         $this->language_path = $GO_CONFIG->root_path.$GO_CONFIG->language_path.'/';
  23.         $this->language = $GO_CONFIG->language;
  24.         $this->default_language = $GO_CONFIG->language;
  25.  
  26.         if (!isset($_SESSION['GO_SESSION']['language']) || $_SESSION['GO_SESSION']['language'] == '')
  27.         {
  28.             require($this->language_path.'languages.inc');
  29.  
  30.             if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) && isset($language[$_SERVER['HTTP_ACCEPT_LANGUAGE']]) && file_exists($this->language_path.$language[$_SERVER['HTTP_ACCEPT_LANGUAGE']]))
  31.             {
  32.                 $this->language = $language[$_SERVER['HTTP_ACCEPT_LANGUAGE']];
  33.             }
  34.         }elseif(file_exists($this->language_path.$_SESSION['GO_SESSION']['language']))
  35.         {
  36.             $this->language = $_SESSION['GO_SESSION']['language'];
  37.         }
  38.  
  39.         $_SESSION['GO_SESSION']['language'] = $this->language;
  40.     }
  41.  
  42.     function set_session_language($language)
  43.     {
  44.         $_SESSION['GO_SESSION']['language'] = $language;
  45.         $this->language = $language;
  46.     }
  47.  
  48.     function get_language_file($module_id)
  49.     {
  50.         global $GO_CONFIG;
  51.         $file = $this->language_path.$this->language.$GO_CONFIG->slash.$module_id.'.'.$this->language.'.inc';
  52.  
  53.         if (file_exists($file))
  54.         {
  55.             return $file;
  56.         }else
  57.         {
  58.             return $this->language_path.$this->default_language.$GO_CONFIG->slash.$module_id.'.'.$this->default_language.'.inc';
  59.         }
  60.     }
  61.  
  62.     function get_languages()
  63.     {
  64.         $lang_dir=opendir($this->language_path);
  65.         while ($file=readdir($lang_dir))
  66.         {
  67.             //Couldn't get is_file to work right so i worked around
  68.             if (is_dir($this->language_path.$file) && $file != "." && $file != ".." && $file != 'CVS')
  69.             {
  70.                 $languages[] = $file;
  71.             }
  72.         }
  73.         closedir($lang_dir);
  74.         return $languages;
  75.     }
  76.  
  77.     function get_region_codes($selected_language)
  78.     {
  79.         require($this->language_path.'languages.inc');
  80.         if(is_array($language))
  81.         {
  82.             foreach($language as $key => $value)
  83.             {
  84.                 if($value == $selected_language)
  85.                 {
  86.                     $regions[] = $key;
  87.                 }
  88.             }
  89.             return $regions;
  90.         }else
  91.         {
  92.             false;
  93.         }
  94.     }
  95. }
  96. ?>