Your IP : 216.73.217.69
<?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('&', '&', $_SERVER['QUERY_STRING']);
$_SERVER['QUERY_STRING'] = str_replace('&', '&', $_SERVER['QUERY_STRING']);
$string = '?' . $_SERVER['QUERY_STRING'] . '&';
}
$content .= '<a href="' . $_SERVER['PHP_SELF'] . $string . 'set=Language&setvalue=' . $short . '"><img src="languages/flags/' . $short . '.gif" alt="'.$long.'" /></a> ';
}
return $content;
}
}
?>