From bad58ff6ef8f16305d63ec042047e888349315f1 Mon Sep 17 00:00:00 2001 From: SecretR Date: Thu, 24 Jul 2014 20:27:59 +0300 Subject: [PATCH] Fixed #224 - new preference method reset() added --- e107_handlers/pref_class.php | 12 ++++++++++++ e107_plugins/login_menu/config.php | 4 +++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/e107_handlers/pref_class.php b/e107_handlers/pref_class.php index 2855de796..7996c3d75 100644 --- a/e107_handlers/pref_class.php +++ b/e107_handlers/pref_class.php @@ -150,6 +150,18 @@ class e_pref extends e_front_model return $this; } + /** + * Reset preference object to given/empty state + * @param array $prefs + * @return $this + */ + public function reset($prefs = array()) + { + parent::setData(array()); + + return $this; + } + /** * Advanced setter - $pref_name could be path in format 'pref1/pref2/pref3' (multidimensional arrays support) * Object data reseting is not allowed, adding new preferences is controlled by $strict parameter diff --git a/e107_plugins/login_menu/config.php b/e107_plugins/login_menu/config.php index 6e90046b4..9740edcec 100644 --- a/e107_plugins/login_menu/config.php +++ b/e107_plugins/login_menu/config.php @@ -91,6 +91,8 @@ if (isset($_POST['update_menu'])) if (!isset($loginPrefs['new_news'])) { $loginPrefs['new_news'] = '0'; } if (!isset($loginPrefs['new_comments'])) { $loginPrefs['new_comments'] = '0'; } if (!isset($loginPrefs['new_members'])) { $loginPrefs['new_members'] = '0'; } + + $menuPref->reset(); foreach($loginPrefs as $k => $v) { $menuPref->setPref('login_menu/'.$k, $v); @@ -99,7 +101,7 @@ if (isset($_POST['update_menu'])) $menuPref->save(false, true, false); $admin_log->log_event('MISC_03','', E_LOG_INFORMATIVE,''); //$ns->tablerender("", '
'.LAN_SETSAVED.'
'); - $mes->addSuccess(); + $mes->addSuccess(LAN_SAVED); $ns->tablerender("", $mes->render() . $text); }