Language.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. namespace App\Classes\Settings;
  3. use App\Models\Settings;
  4. use Illuminate\Http\Request;
  5. use Illuminate\Support\Facades\Cache;
  6. use Illuminate\Support\Facades\Session;
  7. class Language
  8. {
  9. public function __construct()
  10. {
  11. return;
  12. }
  13. public function updateSettings(Request $request)
  14. {
  15. $values = [
  16. //SETTINGS::VALUE => REQUEST-VALUE (coming from the html-form)
  17. "SETTINGS::LOCALE:DEFAULT" => "defaultLanguage",
  18. "SETTINGS::LOCALE:DYNAMIC" => "autotranslate",
  19. "SETTINGS::LOCALE:CLIENTS_CAN_CHANGE" => "canClientChangeLanguage",
  20. "SETTINGS::LOCALE:AVAILABLE" => "languages",
  21. "SETTINGS::LOCALE:DATATABLES" => "datatable-language"
  22. ];
  23. foreach ($values as $key => $value) {
  24. $param = $request->get($value);
  25. if (!$param) {
  26. $param = "false";
  27. }
  28. Settings::where('key', $key)->updateOrCreate(['key' => $key], ['value' => $param]);
  29. Cache::forget("setting" . ':' . $key);
  30. Session::remove("locale");
  31. }
  32. return redirect(route('admin.settings.index') . '#language')->with('success', 'Language settings updated!');
  33. }
  34. }