]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Plugins are *required* to have a manifest.xml file.
authorbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>
Mon, 26 Apr 2010 20:00:25 +0000 (20:00 +0000)
committerbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>
Mon, 26 Apr 2010 20:00:25 +0000 (20:00 +0000)
git-svn-id: http://code.elgg.org/elgg/trunk@5883 36083f99-b078-4883-b0ff-0f9b5a30f544

engine/lib/plugins.php

index 64f1deb12fe206da478955d5105b44904f62593b..0e62914e22aaefee37410ef6cf41260246c89bec 100644 (file)
@@ -496,7 +496,7 @@ function set_plugin_usersetting($name, $value, $user_guid = 0, $plugin_name = ""
 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();
        }
@@ -505,13 +505,13 @@ function clear_plugin_usersetting($name, $user_guid=0, $plugin_name='') {
        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;
 }
 
@@ -638,9 +638,13 @@ function get_installed_plugins() {
                $plugins = get_plugin_list();
 
                foreach($plugins as $mod) {
+                       // require manifest.
+                       if (!$manifest = load_plugin_manifest($mod)) {
+                               continue;
+                       }
                        $installed_plugins[$mod] = array();
                        $installed_plugins[$mod]['active'] = is_plugin_enabled($mod);
-                       $installed_plugins[$mod]['manifest'] = load_plugin_manifest($mod);
+                       $installed_plugins[$mod]['manifest'] = $manifest;
                }
        }