File: D:/HostingSpaces/SBogers10/structura.komma.pro/app/KommaApp/Languages/Kms/LanguageService.php
<?php
namespace App\KommaApp\Languages\Kms;
/**
*
* @author Komma <info@komma.pro>
* @copyright (c) 2012-2016, Komma
*/
use App\KommaApp\Kms\Core\Attributes\Models\SelectOption;
use App\KommaApp\Kms\Core\Entities\EntityRepository;
use App\KommaApp\Languages\Models\Language;
class LanguageService extends EntityRepository
{
/**
* The Eloquent User Object.
*
* @var Language
*/
public $model;
/**
* Constructor.
*
* @param Language $model
*/
function __construct(Language $model)
{
$this->model = $model;
}
public function find($id)
{
return $this->model->find($id);
}
public function findBySlug($slug)
{
return $this->model->whereSlug($slug)->first();
}
public function findAll()
{
return $this->model->all();
}
public function getLanguagesForSelect()
{
$models = $this->model->with('sites')->get();
$entities = [];
foreach ($models as $model)
{
if(count($model->sites) == 0) continue;
$entity = [];
$entity['value'] = $model->id;
$entity['fullValue'] = json_encode($model);
$entity['content'] = $model->name;
$entities[] = $entity;
}
return $entities;
}
public function getAvailableLanguagesForSites()
{
$availableLanguageIds = \Config::get('kms.main.available_language_ids');
$availableLanguage = Language::whereIn('id', $availableLanguageIds)->get();
$entities = [];
foreach ($availableLanguage as $language){
$entities[] = (new SelectOption())
->setValue($language->id)
->setContent($language->id)
->setHtmlContent(strtoupper($language->iso_2) . ' - '. $language->name);
}
return $entities;
}
}