@@ -229,6 +229,7 @@ class Preferences(object):
230 self.engines = EnginesSetting('engines', choices=engines)
230 self.engines = EnginesSetting('engines', choices=engines)
231 self.plugins = PluginsSetting('plugins', choices=plugins)
231 self.plugins = PluginsSetting('plugins', choices=plugins)
232+ self.unknown_params = {}
233 def parse_cookies(self, input_data):
234 def parse_cookies(self, input_data):
234 for user_setting_name, user_setting in input_data.iteritems():
235 for user_setting_name, user_setting in input_data.iteritems():
@@ -254,6 +255,8 @@ class Preferences(object):
254 enabled_categories.append(user_setting_name[len('category_'):])
255 enabled_categories.append(user_setting_name[len('category_'):])
255 elif user_setting_name.startswith('plugin_'):
256 elif user_setting_name.startswith('plugin_'):
256 disabled_plugins.append(user_setting_name)
257 disabled_plugins.append(user_setting_name)
259+ self.unknown_params[user_setting_name] = user_setting
257 self.key_value_settings['categories'].parse_form(enabled_categories)
260 self.key_value_settings['categories'].parse_form(enabled_categories)
258 self.engines.parse_form(disabled_engines)
261 self.engines.parse_form(disabled_engines)
259 self.plugins.parse_form(disabled_plugins)
262 self.plugins.parse_form(disabled_plugins)
@@ -268,4 +271,6 @@ class Preferences(object):
268 user_setting.save(user_setting_name, resp)
271 user_setting.save(user_setting_name, resp)
269 self.engines.save(resp)
272 self.engines.save(resp)
270 self.plugins.save(resp)
273 self.plugins.save(resp)
274+ for k, v in self.unknown_params.items():
275+ resp.set_cookie(k, v, max_age=COOKIE_MAX_AGE)
271 return resp
276 return resp