File: D:/HostingSpaces/SBogers10/topswtw.komma.pro/app/KommaApp/Shop/Language.php
<?php
namespace KommaApp\Shop;
class Language
{
/*
* Int shop id
*/
protected $shopId;
/*
* Array available languages
* [languageId => languageSlug]
*/
protected $availableLanguages;
/*
* String default language slug
*/
protected $defaultLanguage;
/*
* String current language slug
*/
protected $currentLanguage;
/*
* Int current languageId
*/
protected $currentLanguageId;
/**
* @param mixed $shopId
*/
public function setShopId($shopId)
{
$this->shopId = $shopId;
}
/**
* @param $availableLanguages
*/
public function setAvailableLanguages(array $shops)
{
$shopLanguages = [];
$defaultLanguageId = null;
foreach($shops as $key => $shop)
{
$shopLanguages[$shop->language_id] = $shop->language_slug;
}
$this->availableLanguages = $shopLanguages;
}
/**
* @param $defaultLanguage
*/
public function setDefaultLanguage($defaultLanguageId)
{
// Pass the default language to the Language object
if(isset($defaultLanguageId))
{
$defaultLanguage = $this->availableLanguages[$defaultLanguageId];
}
else
{
$defaultLanguage = \Config::get('app.locale');
}
$this->defaultLanguage = $defaultLanguage;
}
/**
* @return mixed
*/
public function getDefaultLanguage()
{
return $this->defaultLanguage;
}
/*
* Set Current Language by URI
*/
public function setCurrentLanguage()
{
$uris = explode('/',$_SERVER['REQUEST_URI']);
if( ! isset($uris[1])) return false;
$this->currentLanguage = $uris[1];
\App::setLocale($this->currentLanguage);
if($languageId = array_search($this->currentLanguage, $this->availableLanguages))
{
$this->currentLanguageId = $languageId;
}
return true;
}
/**
* @return int
*/
public function getCurrentLanguage()
{
return $this->currentLanguage;
}
/**
* @return int
*/
public function getCurrentLanguageId()
{
return $this->currentLanguageId;
}
}