summaryrefslogtreecommitdiff
path: root/searx/webapp.py
diff options
context:
space:
mode:
Diffstat (limited to 'searx/webapp.py')
-rw-r--r--searx/webapp.py9
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)