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/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;
    }




}