session = session(); $config = config(OSPOS::class); if (!$migration->is_latest()) { $this->session->destroy(); } $this->setDefaultLanguage($config); $language = Services::language(); $language->setLocale(current_language_code()); date_default_timezone_set($config->settings['timezone'] ?? ini_get('date.timezone')); bcscale(max(2, totals_decimals() + tax_decimals())); } private function setDefaultLanguage(OSPOS $config): void { $languageCode = $config->settings['language_code'] ?? null; if (empty($config->settings) || $languageCode === null) { $config->settings['language'] = 'english'; $config->settings['language_code'] = 'en'; return; } if (!$this->languageExists($languageCode)) { $config->settings['language'] = 'english'; $config->settings['language_code'] = 'en'; } } private function languageExists(string $languageCode): bool { return file_exists(APPPATH . 'Language/' . $languageCode); } }