diff options
Diffstat (limited to 'searx/webapp.py')
| -rw-r--r-- | searx/webapp.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/searx/webapp.py b/searx/webapp.py index 29b0ce6af..e2825c050 100644 --- a/searx/webapp.py +++ b/searx/webapp.py @@ -392,7 +392,7 @@ def pre_request(): preferences = Preferences(themes, list(categories.keys()), engines, plugins) request.preferences = preferences try: - preferences.parse_cookies(request.cookies) + preferences.parse_dict(request.cookies) except: request.errors.append(gettext('Invalid settings, please edit your preferences')) @@ -402,6 +402,11 @@ def pre_request(): for k, v in request.args.items(): if k not in request.form: request.form[k] = v + try: + preferences.parse_dict(request.form) + except Exception as e: + logger.exception('invalid settings') + request.errors.append(gettext('Invalid settings')) # request.user_plugins request.user_plugins = [] @@ -685,6 +690,8 @@ def preferences(): plugins=plugins, allowed_plugins=allowed_plugins, theme=get_current_theme_name(), + preferences_url_params=request.preferences.get_as_url_params(), + base_url=get_base_url(), preferences=True) |