diff --git a/app/Http/Controllers/SettingsController.php b/app/Http/Controllers/SettingsController.php index 03b6629eb018cc996e9a76f2feee5cfde7fdb0fb..94e63f03d49365dbbedbaec5b3a607d9af361113 100644 --- a/app/Http/Controllers/SettingsController.php +++ b/app/Http/Controllers/SettingsController.php @@ -56,7 +56,7 @@ class SettingsController extends Controller $cookies = Cookie::get(); $settingActive = false; foreach ($cookies as $key => $value) { - if (\starts_with($key, [$fokus . "_engine_", $fokus . "_setting_"]) || strpos($key, $fokus . '_blpage') === 0 || $key === 'dark_mode') { + if (\starts_with($key, [$fokus . "_engine_", $fokus . "_setting_"]) || strpos($key, $fokus . '_blpage') === 0 || $key === 'dark_mode' || $key === 'new_tab' || $key === 'key') { $settingActive = true; } } @@ -234,6 +234,14 @@ class SettingsController extends Controller } } + $newTab = $request->input('nt'); + if(!empty($newTab)){ + if($newTab === "off") { + Cookie::queue('new_tab', '', 0, '/', null, false, false); + }elseif($newTab === "on") { + Cookie::queue('new_tab', 'on', 0, '/', null, false, false); + } + } return redirect(LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), route('settings', ["fokus" => $fokus, "url" => $url]))); } @@ -256,7 +264,12 @@ class SettingsController extends Controller if($key === 'dark_mode'){ Cookie::queue($key, "", 0, '/', null, false, false); } - + if($key === 'new_tab'){ + Cookie::queue($key, "", 0, '/', null, false, false); + } + if($key === 'key'){ + Cookie::queue($key, "", 0, '/', null, false, false); + } } $this->clearBlacklist($request); @@ -281,6 +294,10 @@ class SettingsController extends Controller $cookiePath = "/" . substr($path, 0, strpos($path, "meta/") + 5); if($key === 'dark_mode'){ Cookie::queue($key, "", 0, '/', null, false, false); + } elseif($key === 'new_tab') { + Cookie::queue($key, "", 0, '/', null, false, false); + } elseif($key === 'key') { + Cookie::queue($key, "", 0, '/', null, false, false); }else{ Cookie::queue($key, "", 0, $cookiePath, null, false, false); } @@ -296,7 +313,9 @@ class SettingsController extends Controller foreach (Cookie::get() as $key => $value) { if($key === 'dark_mode'){ Cookie::queue($key, "", 0, '/', null, false, false); - }else{ + } elseif($key === 'new_tab') { + Cookie::queue($key, "", 0, '/', null, false, false); + } else { Cookie::queue($key, "", 0, $cookiePath, null, false, false); } } @@ -407,6 +426,9 @@ class SettingsController extends Controller if($key === 'dark_mode'){ Cookie::queue($key, $value, 0, '/', null, false, false); } + if($key === 'new_tab' && $key === 'on') { + Cookie::queue($key, 'on', 0, '/', null, false, false); + } foreach($sumaFile['filter']['parameter-filter'] as $suma => $filter){ if($key === $suma && $value === $filter){ Cookie::queue($key, $value, 0, $cookiePath, null, false, false); diff --git a/resources/lang/de/settings.php b/resources/lang/de/settings.php index a1b23f6e1102e655883d72213b155ccad658f4b9..26de372ad66b973bb77db40cabb9dec7b3aff793 100644 --- a/resources/lang/de/settings.php +++ b/resources/lang/de/settings.php @@ -25,13 +25,17 @@ return [ 'add' => 'Hinzufügen', 'clear' => 'Blacklist leeren', 'copy' => 'Kopieren', + 'hint' => 'Diese Einstellung betrifft alle Fokusse und Unterseiten übergreifend!', 'darkmode' => 'Dunklen Modus umschalten', - 'darkmode-hint' => 'Die Einstellung für den dunklen Modus betrifft alle Fokusse und Unterseiten übergreifend!', 'system' => 'Systemstandard', 'dark' => 'Dunkel', 'light' => 'Hell', + 'newTab' => 'Ergebnisse in neuem Tab öffnen', + 'off' => 'Aus', + 'on' => 'An', + // Translations from the settings overview 'noSettings' => 'Aktuell sind keine Einstellungen gesetzt!', 'allSettings.header' => 'Auf :root gesetzte Einstellungen', @@ -45,5 +49,4 @@ return [ 'key' => 'Ihr Schlüssel für die werbefreie Suche', 'blentry' => 'Blacklisteintrag', 'removeCookie' => 'Diesen Cookie entfernen', - 'dm' => 'Dunkler Modus', ]; diff --git a/resources/views/settings/allSettings.blade.php b/resources/views/settings/allSettings.blade.php index 0eb677d10a271c88e8e853a6e6cb49a3e11df9d6..eb8ae22350d6addb9c57a899e8645f3875bb3b31 100644 --- a/resources/views/settings/allSettings.blade.php +++ b/resources/views/settings/allSettings.blade.php @@ -20,7 +20,7 @@ <tbody> @foreach(Cookie::get() as $key => $value) <tr> - <td>{{ $key . "=" . $value }}</td> + <td>{{ $key . " = " . $value }}</td> <td> @if(strpos($key, "_engine_") !== FALSE) @lang('settings.engineDisabled', ["engine" => $sumaFile->sumas->{substr($key, strrpos($key, "_")+1)}->{"display-name"}, "focus" => trans('index.foki.' . substr($key, 0, strpos($key, "_")))]) @@ -31,11 +31,13 @@ @endif @endforeach @elseif($key === "key") - @lang('settings.key') + @lang('settings.key') @elseif(strpos($key, "_blpage")) - @lang('settings.blentry') + @lang('settings.blentry') @elseif($key === 'dark_mode') - @lang('settings.dm') + @lang('settings.darkmode') + @elseif($key === 'new_tab') + @lang('settings.newTab') @endif </td> <td> diff --git a/resources/views/settings/index.blade.php b/resources/views/settings/index.blade.php index 94ee61fceee304fe2aa59021510ce64c3e3fca17..a17501e54fe0dbbfbcaee586f8aa6d6dbedc80bd 100644 --- a/resources/views/settings/index.blade.php +++ b/resources/views/settings/index.blade.php @@ -135,7 +135,15 @@ <option value="off" {{ Cookie::get('dark_mode') === "1" ? "disabled selected" : "" }}>@lang('settings.light')</option> <option value="on" {{ Cookie::get('dark_mode') === "2" ? "disabled selected" : "" }}>@lang('settings.dark')</option> </select> - <small>@lang('settings.darkmode-hint')</small> + <small>@lang('settings.hint')</small> + </div> + <div class="form-group"> + <label for="nt">@lang('settings.newTab')</label> + <select name="nt" id="nt" class="form-control"> + <option value="off" {{ !Cookie::has('new_tab') ? "disabled selected" : "" }}>@lang('settings.off')</option> + <option value="on" {{ Cookie::get('new_tab') === "on" ? "disabled selected" : "" }}>@lang('settings.on')</option> + </select> + <small>@lang('settings.hint')</small> </div> @if(LaravelLocalization::getCurrentLocale() === "de") <div class="form-group">