File: D:/HostingSpaces/SBogers10/investeren-ouddorp.komma.pro/app/Komma/LanguageService.php
<?php
namespace Komma;
use Illuminate\Support\Facades\Input;
use Illuminate\Support\Facades\Session;
use Komma\Kms\Languages\Language;
class LanguageService
{
/*
* Array available languages
* [languageId => languageSlug]
*/
protected $availableLanguages;
/*
* String default language slug
*/
protected $defaultLanguage;
/*
* String current language slug
*/
protected $currentLanguage;
public function setLanguage()
{
$this->availableLanguages = \Config::get('app.availableLanguages');
$this->defaultLanguage = \Config::get('app.locale');
$this->currentLanguage = Session::get('lang', $this->defaultLanguage);
\App::setLocale($this->currentLanguage);
}
/*
* Set Current Language by URI
*/
public function setCurrentLanguage($lang)
{
$this->setLanguage();
if(!in_array($lang, $this->availableLanguages)) echo 'error in set Language';
$this->currentLanguage = $lang;
Session::set('lang', $lang);
}
/**
* Check if current route is correct with set language
*/
public function checkRouteWithSetLanguage(){
$segments = \Request::segments();
if(sizeof($segments) > 0){
$lang = Language::where('iso_2', '=', $segments[0])->first();
if($lang != null && $lang->iso_2 != $this->currentLanguage) $this->setCurrentLanguage($lang->iso_2);
}
}
public function getLangByIso($langIso)
{
return \DB::table('languages')
->where('iso_2', '=', $langIso)
->first();
}
public function getIsoById($id){
return \DB::table('languages')
->where('id', '=', $id)
->first();
}
}