Source for file Languages.class_2.php

Documentation is available at Languages.class_2.php

  1. <?php
  2. class Language implements ArrayAccess
  3. {
  4.     private $langcode;
  5.  
  6.     public function  __construct($langcode)
  7.     {
  8.         $this->langcode $langcode;
  9.     }
  10.  
  11.     public function offsetExists($offset)
  12.     {
  13.         $langs Languages::getInstance();
  14.         return isset($langs[$this->langcode][$offset]);
  15.     }
  16.  
  17.     public function offsetGet($offset)
  18.     {
  19.         $langs Languages::getInstance();
  20.         return (isset($langs[$this->langcode][$offset])) ?
  21.                 $langs[$this->langcode][$offset:
  22.                 $langs[$langs->getDefault()][$offset];
  23.     }
  24.  
  25.     public function offsetSet($offset$value)
  26.     {
  27.         throw new Exception('Nem módosítható');
  28.     }
  29.  
  30.     public function offsetUnset($offset)
  31.     {
  32.         throw new Exception('Nem módosítható');
  33.     }
  34. }
  35.  
  36. class Languages implements ArrayAccess
  37. {
  38.     private static $instance null;
  39.     private $lang array();
  40.     private $default 'hu';
  41.     private $languageDir 'languages';
  42.  
  43.     public static function getInstance()
  44.     {
  45.         if (self::$instance === null)
  46.         {
  47.             $class = __CLASS__;
  48.             self::$instance new $class();
  49.         }
  50.         return self::$instance;
  51.     }
  52.  
  53.     private function  __construct()
  54.     {
  55.  
  56.     }
  57.  
  58.     public function getLanguageDir()
  59.     {
  60.         return $this->languageDir;
  61.     }
  62.  
  63.     public function setLanguageDir($dir)
  64.     {
  65.         $this->languageDir $dir;
  66.     }
  67.  
  68.     public function getDefault()
  69.     {
  70.         return $this->default;
  71.     }
  72.  
  73.     public function setDefault($langcode)
  74.     {
  75.         $this->default $langcode;
  76.     }
  77.  
  78.     public function getLanguage($langcode)
  79.     {
  80.          return new Language($langcode);
  81.     }
  82.  
  83.     public function offsetExists($offset)
  84.     {
  85.         $offset strtolower($offset);
  86.         return file_exists('languages/'.$offset.'.php');
  87.     }
  88.     public function offsetGet($offset)
  89.     {
  90.         $offset strtolower($offset);
  91.         if (!isset($this->lang[$offset]))
  92.         {
  93.             if (!file_exists('languages/'.$offset.'.php'))
  94.             {
  95.                 $offset $this->default;
  96.             }
  97.             if (!isset($this->lang[$offset]))
  98.             {
  99.                 require_once 'languages/'.$offset.'.php';
  100.             }
  101.             else
  102.             {
  103.                 $lang $this->lang[$offset];
  104.             }
  105.             $this->lang[$offset$lang;
  106.         }
  107.         return $this->lang[$offset];
  108.         
  109.     }
  110.  
  111.     public function offsetSet($offset$value)
  112.     {
  113.         throw new Exception('Nem módosítható');
  114.     }
  115.  
  116.     public function offsetUnset($offset)
  117.     {
  118.         throw new Exception('Nem módosítható');
  119.     }
  120. }
  121. ?>

Documentation generated on Sat, 05 Sep 2009 20:47:08 +0200 by phpDocumentor 1.4.1