]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Fixes #2945, Refs #2946. Plugins that require priority on an uninstalled plugin don...
authorbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>
Fri, 18 Feb 2011 15:34:15 +0000 (15:34 +0000)
committerbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>
Fri, 18 Feb 2011 15:34:15 +0000 (15:34 +0000)
git-svn-id: http://code.elgg.org/elgg/trunk@8283 36083f99-b078-4883-b0ff-0f9b5a30f544

engine/classes/ElggPluginPackage.php
languages/en.php

index e1b3427cc435621e8069339eacbc96ba052a565f..567ec129f7b7daa822bcd16190787a4481a123b0 100644 (file)
@@ -438,7 +438,7 @@ class ElggPluginPackage {
         * @return bool
         */
        private function checkDepPriority(array $dep, array $plugins, $inverse = false) {
-               // see if we exist as an ElggPlugin
+               // grab the ElggPlugin using this package.
                $this_plugin = elgg_get_plugin_from_id($this->getID());
                $this_priority = $this_plugin->getPriority();
 
@@ -448,6 +448,16 @@ class ElggPluginPackage {
                        }
                }
 
+               // If this isn't a plugin or there are no active plugins,
+               // we can't satisfy this dep.
+               // Assume everything is ok.  See #2946.
+               if (!$this->plugin || !$plugins) {
+                       return array(
+                               'status' => true,
+                               'value' => 'uninstalled'
+                       );
+               }
+
                $test_plugin_priority = $test_plugin->getPriority();
 
                switch ($dep['priority']) {
index 99107b464ed4a9b21ed97bfb3622d39395639de1..e1eed99967be6cda1f407bf14566560d44b0d54e 100644 (file)
@@ -96,6 +96,7 @@ $english = array(
        'ElggPlugin:Dependencies:Plugin' => 'Plugin: %s',
        'ElggPlugin:Dependencies:Priority:After' => 'After %s',
        'ElggPlugin:Dependencies:Priority:Before' => 'Before %s',
+       'ElggPlugin:Dependencies:Priority:Uninstalled' => '%s is not installed',
        'ElggPlugin:Dependencies:Suggests:Unsatisfied' => 'Missing',