Skip to content
Snippets Groups Projects
Commit a436189a authored by Dominik Hebeler's avatar Dominik Hebeler
Browse files

also set key parameter on startpage after loading settings

parent b2beca15
No related branches found
No related tags found
No related merge requests found
...@@ -16,9 +16,9 @@ class SettingsController extends Controller ...@@ -16,9 +16,9 @@ class SettingsController extends Controller
{ {
public function index(Request $request) public function index(Request $request)
{ {
$settings = app(SearchSettings::class); $settings = app(SearchSettings::class);
$sumas = app(Searchengines::class)->getSearchEnginesForFokus(); $sumas = app(Searchengines::class)->getSearchEnginesForFokus();
$fokus = $settings->fokus; $fokus = $settings->fokus;
$fokusName = trans('index.foki.' . $fokus); $fokusName = trans('index.foki.' . $fokus);
$langFile = MetaGer::getLanguageFile(); $langFile = MetaGer::getLanguageFile();
...@@ -39,10 +39,10 @@ class SettingsController extends Controller ...@@ -39,10 +39,10 @@ class SettingsController extends Controller
} }
$authorization = app(Authorization::class); $authorization = app(Authorization::class);
$url = $request->input('url', ''); $url = $request->input('url', '');
// Check if any setting is active // Check if any setting is active
$cookies = Cookie::get(); $cookies = Cookie::get();
$settingActive = false; $settingActive = false;
foreach ($cookies as $key => $value) { foreach ($cookies as $key => $value) {
if (stripos($key, $fokus . "_engine_") === 0 || stripos($key, $fokus . "_setting_") === 0 || strpos($key, $fokus . '_blpage') === 0 || $key === 'dark_mode' || $key === 'new_tab' || $key === 'zitate' || $key === 'self_advertisements' || $key === 'suggestions') { if (stripos($key, $fokus . "_engine_") === 0 || stripos($key, $fokus . "_setting_") === 0 || strpos($key, $fokus . '_blpage') === 0 || $key === 'dark_mode' || $key === 'new_tab' || $key === 'zitate' || $key === 'self_advertisements' || $key === 'suggestions') {
...@@ -95,9 +95,9 @@ class SettingsController extends Controller ...@@ -95,9 +95,9 @@ class SettingsController extends Controller
$sumasFoki = $langFile->foki->{$fokus}->sumas; $sumasFoki = $langFile->foki->{$fokus}->sumas;
$sumas = []; $sumas = [];
$locale = LaravelLocalization::getCurrentLocaleRegional(); $locale = LaravelLocalization::getCurrentLocaleRegional();
$lang = Localization::getLanguage(); $lang = Localization::getLanguage();
foreach ($sumasFoki as $suma) { foreach ($sumasFoki as $suma) {
if ( if (
(!empty($langFile->sumas->{$suma}->disabled) && $langFile->sumas->{$suma}->disabled) || (!empty($langFile->sumas->{$suma}->disabled) && $langFile->sumas->{$suma}->disabled) ||
...@@ -110,7 +110,7 @@ class SettingsController extends Controller ...@@ -110,7 +110,7 @@ class SettingsController extends Controller
continue; continue;
} }
$sumas[$suma]["display-name"] = $langFile->sumas->{$suma}->infos->display_name; $sumas[$suma]["display-name"] = $langFile->sumas->{$suma}->infos->display_name;
$sumas[$suma]["filtered"] = false; $sumas[$suma]["filtered"] = false;
if (Cookie::get($fokus . "_engine_" . $suma) === "off") { if (Cookie::get($fokus . "_engine_" . $suma) === "off") {
$sumas[$suma]["enabled"] = false; $sumas[$suma]["enabled"] = false;
} else { } else {
...@@ -133,15 +133,15 @@ class SettingsController extends Controller ...@@ -133,15 +133,15 @@ class SettingsController extends Controller
public function disableSearchEngine(Request $request) public function disableSearchEngine(Request $request)
{ {
$sumaName = $request->input('suma', ''); $sumaName = $request->input('suma', '');
$url = $request->input('url', ''); $url = $request->input('url', '');
if (empty($sumaName)) { if (empty($sumaName)) {
abort(404); abort(404);
} }
$settings = app(SearchSettings::class); $settings = app(SearchSettings::class);
$engines = app(Searchengines::class)->getSearchEnginesForFokus(); $engines = app(Searchengines::class)->getSearchEnginesForFokus();
$secure = app()->environment("local") ? false : true; $secure = app()->environment("local") ? false : true;
if (!$engines[$sumaName]->configuration->disabled) { if (!$engines[$sumaName]->configuration->disabled) {
if ($engines[$sumaName]->configuration->disabledByDefault) { if ($engines[$sumaName]->configuration->disabledByDefault) {
Cookie::queue(Cookie::forget($settings->fokus . "_engine_" . $sumaName, "/")); Cookie::queue(Cookie::forget($settings->fokus . "_engine_" . $sumaName, "/"));
...@@ -156,15 +156,15 @@ class SettingsController extends Controller ...@@ -156,15 +156,15 @@ class SettingsController extends Controller
public function enableSearchEngine(Request $request) public function enableSearchEngine(Request $request)
{ {
$sumaName = $request->input('suma', ''); $sumaName = $request->input('suma', '');
$url = $request->input('url', ''); $url = $request->input('url', '');
if (empty($sumaName)) { if (empty($sumaName)) {
abort(404); abort(404);
} }
$settings = app(SearchSettings::class); $settings = app(SearchSettings::class);
$engines = app(Searchengines::class)->getSearchEnginesForFokus(); $engines = app(Searchengines::class)->getSearchEnginesForFokus();
$secure = app()->environment("local") ? false : true; $secure = app()->environment("local") ? false : true;
if ($engines[$sumaName]->configuration->disabled) { if ($engines[$sumaName]->configuration->disabled) {
if ($engines[$sumaName]->configuration->disabledByDefault) { if ($engines[$sumaName]->configuration->disabledByDefault) {
Cookie::queue(Cookie::forever($settings->fokus . "_engine_" . $sumaName, "on", "/", null, $secure, true)); Cookie::queue(Cookie::forever($settings->fokus . "_engine_" . $sumaName, "on", "/", null, $secure, true));
...@@ -179,7 +179,7 @@ class SettingsController extends Controller ...@@ -179,7 +179,7 @@ class SettingsController extends Controller
public function enableFilter(Request $request) public function enableFilter(Request $request)
{ {
$fokus = $request->input('focus', ''); $fokus = $request->input('focus', '');
$url = $request->input('url', ''); $url = $request->input('url', '');
if (empty($fokus)) { if (empty($fokus)) {
abort(404); abort(404);
} }
...@@ -202,16 +202,16 @@ class SettingsController extends Controller ...@@ -202,16 +202,16 @@ class SettingsController extends Controller
} }
} }
if (empty($value)) { if (empty($value)) {
$path = \Request::path(); $path = \Request::path();
$cookiePath = "/"; $cookiePath = "/";
Cookie::queue(Cookie::forget($fokus . "_setting_" . $key, "/")); Cookie::queue(Cookie::forget($fokus . "_setting_" . $key, "/"));
} else { } else {
# Check if this filter and its value exists: # Check if this filter and its value exists:
foreach ($langFile->filter->{"parameter-filter"} as $name => $filter) { foreach ($langFile->filter->{"parameter-filter"} as $name => $filter) {
if ($key === $filter->{"get-parameter"} && !empty($filter->values->$value)) { if ($key === $filter->{"get-parameter"} && !empty($filter->values->$value)) {
$path = \Request::path(); $path = \Request::path();
$cookiePath = "/"; $cookiePath = "/";
$secure = app()->environment("local") ? false : true; $secure = app()->environment("local") ? false : true;
Cookie::queue(Cookie::forever($fokus . "_setting_" . $key, $value, "/", null, $secure, true)); Cookie::queue(Cookie::forever($fokus . "_setting_" . $key, $value, "/", null, $secure, true));
break; break;
} }
...@@ -229,8 +229,8 @@ class SettingsController extends Controller ...@@ -229,8 +229,8 @@ class SettingsController extends Controller
*/ */
public function enableExternalSearchProvider(Request $request) public function enableExternalSearchProvider(Request $request)
{ {
$fokus = $request->input('focus', ''); $fokus = $request->input('focus', '');
$url = $request->input('url', ''); $url = $request->input('url', '');
$secure = app()->environment("local") ? false : true; $secure = app()->environment("local") ? false : true;
$external_setting = $request->input('bilder_setting_external', ''); $external_setting = $request->input('bilder_setting_external', '');
...@@ -246,8 +246,8 @@ class SettingsController extends Controller ...@@ -246,8 +246,8 @@ class SettingsController extends Controller
public function enableSetting(Request $request) public function enableSetting(Request $request)
{ {
$fokus = $request->input('focus', ''); $fokus = $request->input('focus', '');
$url = $request->input('url', ''); $url = $request->input('url', '');
$secure = app()->environment("local") ? false : true; $secure = app()->environment("local") ? false : true;
// Currently only the setting for quotes is supported // Currently only the setting for quotes is supported
...@@ -304,7 +304,7 @@ class SettingsController extends Controller ...@@ -304,7 +304,7 @@ class SettingsController extends Controller
public function deleteSettings(Request $request) public function deleteSettings(Request $request)
{ {
$fokus = $request->input('focus', ''); $fokus = $request->input('focus', '');
$url = $request->input('url', ''); $url = $request->input('url', '');
if (empty($fokus)) { if (empty($fokus)) {
abort(404); abort(404);
} }
...@@ -343,8 +343,8 @@ class SettingsController extends Controller ...@@ -343,8 +343,8 @@ class SettingsController extends Controller
public function removeOneSetting(Request $request) public function removeOneSetting(Request $request)
{ {
$key = $request->input('key', ''); $key = $request->input('key', '');
$path = \Request::path(); $path = \Request::path();
$cookiePath = "/"; $cookiePath = "/";
if ($key === 'dark_mode') { if ($key === 'dark_mode') {
Cookie::queue(Cookie::forget($key, "/")); Cookie::queue(Cookie::forget($key, "/"));
...@@ -381,7 +381,7 @@ class SettingsController extends Controller ...@@ -381,7 +381,7 @@ class SettingsController extends Controller
public function newBlacklist(Request $request) public function newBlacklist(Request $request)
{ {
$fokus = $request->input('focus', ''); $fokus = $request->input('focus', '');
$url = $request->input('url', ''); $url = $request->input('url', '');
$blacklist = $request->input('blacklist'); $blacklist = $request->input('blacklist');
$blacklist = substr($blacklist, 0, 2048); $blacklist = substr($blacklist, 0, 2048);
...@@ -392,7 +392,7 @@ class SettingsController extends Controller ...@@ -392,7 +392,7 @@ class SettingsController extends Controller
$valid_blacklist_entries = []; $valid_blacklist_entries = [];
foreach ($blacklist as $blacklist_entry) { foreach ($blacklist as $blacklist_entry) {
$regexProtocol = '#^([a-z]{0,5}://)?(www.)?#'; $regexProtocol = '#^([a-z]{0,5}://)?(www.)?#';
$blacklist_entry = preg_filter($regexProtocol, '', $blacklist_entry); $blacklist_entry = preg_filter($regexProtocol, '', $blacklist_entry);
# Allow Only Domains without path # Allow Only Domains without path
...@@ -424,7 +424,7 @@ class SettingsController extends Controller ...@@ -424,7 +424,7 @@ class SettingsController extends Controller
sort($valid_blacklist_entries); sort($valid_blacklist_entries);
$cookieName = $fokus . '_blpage'; $cookieName = $fokus . '_blpage';
$secure = app()->environment("local") ? false : true; $secure = app()->environment("local") ? false : true;
Cookie::queue(Cookie::forever($cookieName, implode(",", $valid_blacklist_entries), "/", null, $secure, true)); Cookie::queue(Cookie::forever($cookieName, implode(",", $valid_blacklist_entries), "/", null, $secure, true));
return redirect(route('settings', ["focus" => $fokus, "url" => $url]) . "#bl"); return redirect(route('settings', ["focus" => $fokus, "url" => $url]) . "#bl");
...@@ -432,8 +432,8 @@ class SettingsController extends Controller ...@@ -432,8 +432,8 @@ class SettingsController extends Controller
public function deleteBlacklist(Request $request) public function deleteBlacklist(Request $request)
{ {
$fokus = $request->input('focus', ''); $fokus = $request->input('focus', '');
$url = $request->input('url', ''); $url = $request->input('url', '');
$cookieKey = $request->input('cookieKey'); $cookieKey = $request->input('cookieKey');
Cookie::queue(Cookie::forget($cookieKey, "/")); Cookie::queue(Cookie::forget($cookieKey, "/"));
...@@ -444,8 +444,8 @@ class SettingsController extends Controller ...@@ -444,8 +444,8 @@ class SettingsController extends Controller
public function clearBlacklist(Request $request) public function clearBlacklist(Request $request)
{ {
//function to clear the whole black list //function to clear the whole black list
$fokus = $request->input('focus', ''); $fokus = $request->input('focus', '');
$url = $request->input('url', ''); $url = $request->input('url', '');
$cookies = Cookie::get(); $cookies = Cookie::get();
foreach ($cookies as $key => $value) { foreach ($cookies as $key => $value) {
...@@ -463,10 +463,14 @@ class SettingsController extends Controller ...@@ -463,10 +463,14 @@ class SettingsController extends Controller
$langFile = json_decode(file_get_contents($langFile)); $langFile = json_decode(file_get_contents($langFile));
$settings = $request->query(); $settings = $request->query();
$secure = app()->environment("local") ? false : true; $secure = app()->environment("local") ? false : true;
$params_for_startpage = [];
foreach ($settings as $key => $value) { foreach ($settings as $key => $value) {
if ($key === 'key') { if ($key === 'key') {
Cookie::queue(Cookie::forever("key", $value, '/', null, $secure, true)); Cookie::queue(Cookie::forever("key", $value, '/', null, $secure, true));
$params_for_startpage["key"] = $value;
} elseif ($key === 'dark_mode' && ($value === '1' || $value === '2')) { } elseif ($key === 'dark_mode' && ($value === '1' || $value === '2')) {
Cookie::queue(Cookie::forever($key, $value, '/', null, $secure, true)); Cookie::queue(Cookie::forever($key, $value, '/', null, $secure, true));
} elseif ($key === 'new_tab' && $value === 'on') { } elseif ($key === 'new_tab' && $value === 'on') {
...@@ -502,16 +506,16 @@ class SettingsController extends Controller ...@@ -502,16 +506,16 @@ class SettingsController extends Controller
// Check if a redirect url is defined // Check if a redirect url is defined
if ($request->filled("redirect_url") && $request->filled("signature") && $request->filled("expires")) { if ($request->filled("redirect_url") && $request->filled("signature") && $request->filled("expires")) {
$signature = $request->input("signature"); $signature = $request->input("signature");
$expires = filter_var($request->input("expires"), FILTER_VALIDATE_INT); $expires = filter_var($request->input("expires"), FILTER_VALIDATE_INT);
$redirect_url = $request->input("redirect_url"); $redirect_url = $request->input("redirect_url");
if (now()->unix() <= $expires && hash_equals(hash_hmac("sha256", $redirect_url . $request->input("expires"), config("app.key")), $signature)) { if (now()->unix() <= $expires && hash_equals(hash_hmac("sha256", $redirect_url . $request->input("expires"), config("app.key")), $signature)) {
$url = $redirect_url; $url = $redirect_url;
} else { } else {
$url = LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), url('/')); $url = route("startpage", $params_for_startpage);
} }
} else { } else {
$url = LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), url('/')); $url = route("startpage", $params_for_startpage);
} }
return redirect($url); return redirect($url);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment