From 605858b194425aaac889e57b76ed0a346a70815a Mon Sep 17 00:00:00 2001 From: nickw Date: Tue, 13 Apr 2010 21:48:30 +0000 Subject: Creating a function to clear user-specific plugin settings. git-svn-id: http://code.elgg.org/elgg/trunk@5728 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/lib/plugins.php | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'engine/lib/plugins.php') diff --git a/engine/lib/plugins.php b/engine/lib/plugins.php index bc703f6c6..64f1deb12 100644 --- a/engine/lib/plugins.php +++ b/engine/lib/plugins.php @@ -485,6 +485,36 @@ function set_plugin_usersetting($name, $value, $user_guid = 0, $plugin_name = "" return false; } +/** + * Clears a user-specific plugin setting + * + * @param str $name Name of the plugin setting + * @param int $user_guid Defaults to logged in user + * @param str $plugin_name Defaults to contextual plugin name + * @return bool Success + */ +function clear_plugin_usersetting($name, $user_guid=0, $plugin_name='') { + $plugin_name = sanitise_string($plugin_name); + $name = sanitise_string($name); + + if (!$plugin_name) { + $plugin_name = get_plugin_name(); + } + + $user = get_entity((int) $user_guid); + if (!$user) { + $user = get_loggedin_user(); + } + + if (($user) && ($user instanceof ElggUser)) { + $prefix = "plugin:settings:$plugin_name:$name"; + + return remove_private_setting($user->getGUID(), $prefix); + } + + return FALSE; +} + /** * Get a user specific setting for a plugin. * -- cgit v1.2.3