HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers104/angeliekly.nl/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();
    }

}