. * */ namespace Vvveb\Component; use function Vvveb\availableLanguages; use function Vvveb\session; use Vvveb\System\Component\ComponentBase; use Vvveb\System\Event; class Languages extends ComponentBase { public static $defaultOptions = [ 'start' => 1, 'limit' => 1000, 'status' => 1, ]; protected $options = []; public $cacheExpire = 0; //seconds function cacheKey() { // disable caching return false; } function results() { $results = []; $results['language'] = availableLanguages(); if ($results['language']) { $results['current'] = $code = session('language', 'en'); if (! isset($results['language'][$code])) { $results['current'] = $code = key($results['language']); } $language = $results['language'][$code] ?? []; $results['active'] = []; // if selected language not install default to english if ($language) { $results['active'] = [ 'name' => $language['name'], 'code' => $language['code'], 'slug' => $language['slug'], 'id' => $language['language_id'], ]; } else { } } list($results) = Event::trigger(__CLASS__, __FUNCTION__, $results); return $results; } }