public function editEmail(Request $request) { $file_locale = $request->input('file_locale', 'en'); $file_name = $request->input('file_name', 'welcome'); $storage = Storage::disk('email'); $file_path = str_replace(['../', '..'], '', $file_name . '/' . $file_locale . '.blade.php'); if (!$storage->exists($file_path)) { abort(404); } $file_content = $storage->get($file_path); $php_files = []; $supportedLocaleCodes = allSupportedLocaleCodes(); foreach ($storage->directories() as $directory) { $files = $storage->files($directory); foreach ($files as $file) { $localeCode = preg_replace('/(^' . $directory . '\\/|\\.blade\\.php$)/', '', $file); if (in_array($localeCode, $supportedLocaleCodes)) { $locale = $localeCode . ' (' . allSupportedLocale($localeCode, 'native') . ')'; $php_files[$locale][] = ['locale' => $localeCode, 'file' => $directory]; } } } $this->theme->title(trans('pages.admin_ui_lang_email_title')); $this->theme->description(trans('pages.admin_ui_lang_email_desc')); return $this->_any('email', ['file_locale' => $file_locale, 'file_name' => $file_name, 'file_content' => $file_content, 'files' => $php_files]); }
function currentLocaleCode($property = '') { if (empty($property)) { return app()->getLocale(); } return allSupportedLocale(app()->getLocale(), $property); }