Your IP : 216.73.217.69


Current Path : /home/semix18/public_html/optimum-wycena.pl/core/classes/
Upload File :
Current File : /home/semix18/public_html/optimum-wycena.pl/core/classes/class.language.php

<?php
/**
*	Dobi System
*
*	Terms of use and legal restrictions:
*   PLEASE READ THESE TERMS ( www.dobi.pl/doc/license/ ) CAREFULLY BEFORE USING THIS PRODUCT. 
*	USING THIS PRODUCT INDICATES THAT YOU ACCEPT THESE TERMS. 
*	IF YOU DO NOT ACCEPT THESE TERMS , DO NOT USE THIS PRODUCT.
*
*	PHP 5.1.2 and later 
*
*	@license	www.dobi.pl/doc/license/ Dobi License 1.0
*   @copyright	Copyright (c) 2005-2006 Michał 'Cube' Daniel ( http://www.dobi.pl )
* 	@link		www.dobi.pl
*	@package	Dobi Core
*	@version 	1.0, 2006/08/10 11:57
*   @author		Michał 'Cube' Daniel cube@dobi.pl		
*
*/
class language
{
	protected $language_arrLanguages = array();
	protected $language_arrLanguagesActive = array();
	protected $language_arrLanguagesDeactive = array();
	protected $language_strDefault;
	protected $language_strSession;
	protected $language_intAmount;
	
	public function __construct()
	{
		// initializing
		$dbRC = Registry::getObject('dbRC');
		$dbC = Registry::getObject('dbC');
		$session = Registry::getObject('session');		
		 		                                   
		$this->language_strSession = $session->getExternData('user_language');
		$this->language_strDefault = $dbRC->getConfValue('default_language');
		
		// getting language list
		$this->language_intAmount = $dbC->getAmount('languages');
		if ($this->language_intAmount > 0)
		{
			$dbRC->rowCache('languages', '*', 'languages');
			$dbRC->setName('languages');
			while ($dbRC->rowExists())
			{
				if ($dbRC->getRow('lang_active'))
				{
					$this->language_arrLanguagesActive[$dbRC->getRow('lang_short')] = $dbRC->getRow('lang_full');
				}
				else $this->language_arrLanguagesDeactive[$dbRC->getRow('lang_short')] = $dbRC->getRow('lang_full');
				$dbRC->increment();
			}
			$dbRC->clear();	
		}
		else 
		{
			$this->language_arrLanguages[$this->language_strDefault] = $this->language_strDefault;
			$this->language_arrLanguagesActive[$this->language_strDefault] = $this->language_strDefault;
		}
		$this->language_arrLanguages = array_merge($this->language_arrLanguagesActive, $this->language_arrLanguagesDeactive);	
	}
	
	public function languageExists($language)
	{
		if (array_key_exists($language, $this->language_arrLanguages))
		{
			return true;
		}
		else return false;
	}
	
	public function isActive($language)
	{
		if (array_key_exists($language, $this->language_arrLanguagesActive))
		{
			return true;
		}
		else return false;
	}
		
	public function getDefaultLanguage()
	{
		return $this->language_strDefault;
	}
	
	public function getSessionLanguage()
	{
		return $this->language_strSession;
	}
	
	public function getLanguagesAmount()
	{
		return $this->language_intAmount;
	}
		
	public function getLanguages()
	{
		return $this->language_arrLanguages;
	}
	
	public function getActiveLanguages()
	{
		return $this->language_arrLanguagesActive;
	}
	
	public function getDeactiveLanguages()
	{
		return $this->language_arrLanguagesDeactive;
	}
			
	public function getLanguagesLink()
	{
		$dataRequest = Registry::getObject('dataRequest');
		$content = '';
		foreach ($this->language_arrLanguagesActive as $short => $long)
		{
		    $_SERVER['QUERY_STRING'] = str_replace('&set=Language&setvalue=' . $dataRequest->getValue('setvalue'), '', $_SERVER['QUERY_STRING']);
			if ($_SERVER['QUERY_STRING'] == '')
            {
				$string = '?';
			}
			else 
			{
				$_SERVER['QUERY_STRING'] = str_replace('&amp;', '&', $_SERVER['QUERY_STRING']);
				$_SERVER['QUERY_STRING'] = str_replace('&', '&amp;', $_SERVER['QUERY_STRING']);			
				$string = '?' . $_SERVER['QUERY_STRING'] . '&amp;';
			}
			$content .= '<a href="' . $_SERVER['PHP_SELF'] . $string . 'set=Language&amp;setvalue=' . $short . '"><img src="languages/flags/' . $short . '.gif" alt="'.$long.'" /></a> ';					
		}
		return $content;
	}
		
}

?>