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]);
 }
Exemple #2
0
function currentLocaleCode($property = '')
{
    if (empty($property)) {
        return app()->getLocale();
    }
    return allSupportedLocale(app()->getLocale(), $property);
}