2014-07-01 17:17:53 +10:00
|
|
|
<?php namespace Backend\Models;
|
|
|
|
|
|
|
|
use App;
|
|
|
|
use Lang;
|
|
|
|
use Model;
|
|
|
|
use Session;
|
|
|
|
use DirectoryIterator;
|
|
|
|
|
2014-10-03 18:00:21 +10:00
|
|
|
/**
|
|
|
|
* Backend preferences for the backend user
|
|
|
|
*
|
|
|
|
* @package october\backend
|
|
|
|
* @author Alexey Bobkov, Samuel Georges
|
|
|
|
*/
|
2014-07-01 17:17:53 +10:00
|
|
|
class BackendPreferences extends Model
|
|
|
|
{
|
|
|
|
public $implement = ['Backend.Behaviors.UserPreferencesModel'];
|
|
|
|
public $settingsCode = 'backend::backend.preferences';
|
|
|
|
public $settingsFields = 'fields.yaml';
|
|
|
|
|
|
|
|
public function initSettingsData()
|
|
|
|
{
|
|
|
|
$config = App::make('config');
|
|
|
|
$this->locale = $config->get('app.locale', 'en');
|
|
|
|
}
|
|
|
|
|
|
|
|
public static function applyConfigValues()
|
|
|
|
{
|
|
|
|
$config = App::make('config');
|
|
|
|
$settings = self::instance();
|
|
|
|
$config->set('app.locale', $settings->locale);
|
|
|
|
}
|
|
|
|
|
2014-08-30 09:42:55 +10:00
|
|
|
/**
|
|
|
|
* Returns available options for the "locale" attribute.
|
|
|
|
* @return array
|
|
|
|
*/
|
2014-07-01 17:17:53 +10:00
|
|
|
public function getLocaleOptions()
|
|
|
|
{
|
2014-08-07 00:31:09 -04:00
|
|
|
$locales = [
|
2014-07-01 17:17:53 +10:00
|
|
|
'en' => [Lang::get('system::lang.locale.en'), 'flag-gb'],
|
|
|
|
'ru' => [Lang::get('system::lang.locale.ru'), 'flag-ru'],
|
|
|
|
'nl' => [Lang::get('system::lang.locale.nl'), 'flag-nl'],
|
|
|
|
'ja' => [Lang::get('system::lang.locale.ja'), 'flag-jp'],
|
2014-08-19 12:40:18 +10:00
|
|
|
'se' => [Lang::get('system::lang.locale.se'), 'flag-se'],
|
2014-07-01 17:17:53 +10:00
|
|
|
'tr' => [Lang::get('system::lang.locale.tr'), 'flag-tr'],
|
|
|
|
'de' => [Lang::get('system::lang.locale.de'), 'flag-de'],
|
2014-08-07 00:31:09 -04:00
|
|
|
'fr' => [Lang::get('system::lang.locale.fr'), 'flag-fr'],
|
2014-08-19 12:40:18 +10:00
|
|
|
'it' => [Lang::get('system::lang.locale.it'), 'flag-it'],
|
2014-08-16 15:00:07 +03:00
|
|
|
'ro' => [Lang::get('system::lang.locale.ro'), 'flag-ro'],
|
2014-10-11 16:31:48 +11:00
|
|
|
'es-ar' => [Lang::get('system::lang.locale.es-ar'), 'flag-ar'],
|
2014-08-30 09:42:55 +10:00
|
|
|
'pt-br' => [Lang::get('system::lang.locale.pt-br'), 'flag-br'],
|
2014-10-07 17:37:37 +03:30
|
|
|
'fa' => [Lang::get('system::lang.locale.fa'), 'flag-ir'],
|
2014-10-24 22:25:19 -02:00
|
|
|
'es' => [Lang::get('system::lang.locale.es'), 'flag-es'],
|
2014-07-01 17:17:53 +10:00
|
|
|
];
|
2014-08-07 00:31:09 -04:00
|
|
|
|
2014-08-30 09:42:55 +10:00
|
|
|
// Sort locales alphabetically
|
2014-08-07 00:31:09 -04:00
|
|
|
asort($locales);
|
2014-08-30 09:42:55 +10:00
|
|
|
|
2014-08-07 00:31:09 -04:00
|
|
|
return $locales;
|
2014-07-01 17:17:53 +10:00
|
|
|
}
|
|
|
|
|
|
|
|
public function afterSave()
|
|
|
|
{
|
|
|
|
Session::put('locale', $this->locale);
|
|
|
|
}
|
2014-08-19 12:40:18 +10:00
|
|
|
}
|