Language.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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 $tabTitle = 'Language Settings';
  10. public $languageSettings;
  11. public function __construct()
  12. {
  13. return;
  14. }
  15. public function updateLanguageSettings(Request $request)
  16. {
  17. $values = [
  18. //SETTINGS::VALUE => REQUEST-VALUE (coming from the html-form)
  19. "SETTINGS::LOCALE:DEFAULT" => "defaultLanguage",
  20. "SETTINGS::LOCALE:DYNAMIC" => "autotranslate",
  21. "SETTINGS::LOCALE:CLIENTS_CAN_CHANGE" => "canClientChangeLanguage",
  22. "SETTINGS::LOCALE:AVAILABLE" => "languages",
  23. "SETTINGS::LOCALE:DATATABLES" => "datatable-language"
  24. ];
  25. foreach ($values as $key => $value) {
  26. $param = $request->get($value);
  27. if (!$param) {
  28. $param = "false";
  29. }
  30. Settings::where('key', $key)->update(['value' => $param]);
  31. Cache::forget("setting" . ':' . $key);
  32. Session::remove("locale");
  33. }
  34. return redirect()->route('admin.settings.index')->with('success', 'Language settings updated!');
  35. }
  36. }