File: D:/HostingSpaces/SBogers85/equichecker.com/app/KommaApp/Kms/Core/Kms.php
<?php
/**
*
*
* @author Komma <info@komma.pro>
* @copyright (c) 2012-2016, Komma Mediadesign
*/
namespace KommaApp\Kms\Core;
use Illuminate\Routing\Router;
use Illuminate\Support\Facades\Lang;
use KommaApp\Languages\Models\Language;
use KommaApp\Languages\Models\SiteLanguage;
use KommaApp\Sites\Kms\SitesRepository;
use KommaApp\Sites\Models\Site;
class Kms
{
protected $site;
protected $router;
protected $sitesRepository;
protected $sites;
protected $siteLanguages = [];
protected $sitesIndex = [];
protected $siteLanguageIdIndex;
protected $siteLanguageIndex;
function __construct(Router $router, SitesRepository $sitesRepository)
{
$this->router = $router;
$this->sitesRepository = $sitesRepository;
$siteSlug = 'komma';
if ($this->router->current()) {
$siteSlug = $this->router->current()->getParameter('site');
}
$this->site = $this->sitesRepository->setSiteByRoute();
}
public function getDefaultLanguageId()
{
if ($this->site) {
return $this->site->default_language_id;
}
return \Config::get('kms.main.defaultLanguageId');
}
public function getSiteDefaultLanguageId($siteId)
{
return $this->getSite($siteId)->default_language_id;
}
public function getDefaultLanguage()
{
return Language::where('iso_2', '=', \App::getLocale())->first();
}
public function getCurrentSiteId()
{
if ($this->site = $this->sitesRepository->setSiteByRoute()) {
return $this->site->id;
}
return null;
}
public function getCurrentSiteSlug()
{
if ($this->site = $this->sitesRepository->setSiteByRoute()) {
return $this->site->slug;
}
return null;
}
public function getSites()
{
if (!$this->sites)
$this->sites = $this->sitesRepository->findAll();
return $this->sites;
}
public function getSite($siteId)
{
if (!isset($this->sitesIndex[$siteId]))
$this->sitesIndex[$siteId] = $this->sitesRepository->find($siteId);
return $this->sitesIndex[$siteId];
}
public function getCurrentSiteLanguages()
{
return $this->getSiteLanguages($this->site->id);
}
public function getCurrentSiteLanguageIds()
{
return $this->getSiteLanguageIds($this->site->id);
}
public function getSiteLanguageIds($siteId)
{
if (!isset($this->siteLanguageIdIndex[$siteId])) {
$this->siteLanguageIdIndex[$siteId] = \DB::table('site_language')->where('site_id', $siteId)->lists('language_id');
}
return $this->siteLanguageIdIndex[$siteId];
}
public function getSiteLanguages($siteId)
{
$t = Site::find($siteId);
return $t->languages;
}
public function getAvailableLanguages()
{
return SiteLanguage::with('language')->groupBy('language_id')->get()->pluck('language');
}
}