diff options
Diffstat (limited to 'engine/lib')
-rw-r--r-- | engine/lib/admin.php | 4 | ||||
-rw-r--r-- | engine/lib/deprecated-1.8.php | 14 | ||||
-rw-r--r-- | engine/lib/plugins.php | 22 |
3 files changed, 21 insertions, 19 deletions
diff --git a/engine/lib/admin.php b/engine/lib/admin.php index d076bbd3d..0ec02cded 100644 --- a/engine/lib/admin.php +++ b/engine/lib/admin.php @@ -202,8 +202,8 @@ function admin_settings_page_handler($page) { && elgg_view_exists("settings/{$page[1]}/edit")) { $view = '/admin/components/plugin_settings'; - $vars['plugin'] = $page[1]; - $vars['entity'] = find_plugin_settings($page[1]); + $plugin = elgg_get_plugin_from_id($page[1]); + $vars['plugin'] = $plugin; $title = elgg_echo("admin:plugin_settings:{$page[1]}"); $title = elgg_echo("admin:{$page[0]}"); } else { diff --git a/engine/lib/deprecated-1.8.php b/engine/lib/deprecated-1.8.php index 684e8f9b3..ee3265a12 100644 --- a/engine/lib/deprecated-1.8.php +++ b/engine/lib/deprecated-1.8.php @@ -2972,19 +2972,7 @@ function load_plugins() { */ function find_plugin_usersettings($plugin_id = null, $user_guid = 0) { elgg_deprecated_notice('find_plugin_usersettings() is deprecated by elgg_get_all_plugin_user_settings()', 1.8); - - $settings = elgg_get_all_plugin_user_settings($user_guid, $plugin_id); - $return = false; - - if ($settings) { - $return = new stdClass; - - foreach ($settings as $k => $v) { - $return->$k = $v; - } - } - - return $return; + return elgg_get_all_plugin_user_settings($user_guid, $plugin_id, true); } /** diff --git a/engine/lib/plugins.php b/engine/lib/plugins.php index fc3dc8006..b33b8d0ac 100644 --- a/engine/lib/plugins.php +++ b/engine/lib/plugins.php @@ -772,13 +772,15 @@ function elgg_get_calling_plugin_entity() { /** * Returns an array of all plugin settings for a user. * - * @param mixed $user_guid The user GUID or null for the currently logged in user. - * @param string $plugin_id The plugin ID + * @param mixed $user_guid The user GUID or null for the currently logged in user. + * @param string $plugin_id The plugin ID + * @param bool $return_obj Return settings as an object? This can be used to in reusable + * views where the settings are passed as $vars['entity']. * @return array * * @since 1.8 */ -function elgg_get_all_plugin_user_settings($user_guid = null, $plugin_id = null) { +function elgg_get_all_plugin_user_settings($user_guid = null, $plugin_id = null, $return_obj = false) { if ($plugin_id) { $plugin = elgg_get_plugin_from_id($plugin_id); } else { @@ -789,7 +791,19 @@ function elgg_get_all_plugin_user_settings($user_guid = null, $plugin_id = null) return false; } - return $plugin->getAllUserSettings($user_guid); + $settings = $plugin->getAllUserSettings($user_guid); + + if ($settings && $return_obj) { + $return = new stdClass; + + foreach ($settings as $k => $v) { + $return->$k = $v; + } + + return $return; + } else { + return $settings; + } } /** |