Explorar el Código

Don't let dependant plugins automatically enable plugins which should be disabled by default

Follow-up to f10440b and c0a7fdc
Daniel Rudolf hace 9 años
padre
commit
a2aa46fd0e
Se han modificado 1 ficheros con 7 adiciones y 2 borrados
  1. 7 2
      lib/AbstractPicoPlugin.php

+ 7 - 2
lib/AbstractPicoPlugin.php

@@ -78,8 +78,13 @@ abstract class AbstractPicoPlugin implements PicoPluginInterface
                 if (is_array($pluginConfig) && isset($pluginConfig['enabled'])) {
                     $this->setEnabled($pluginConfig['enabled']);
                 } elseif ($this->enabled) {
-                    // make sure dependencies are fulfilled
-                    $this->checkDependencies(true);
+                    // make sure dependencies are already fulfilled,
+                    // otherwise the plugin needs to be enabled manually
+                    try {
+                        $this->checkDependencies(false);
+                    } catch (RuntimeException $e) {
+                        $this->enabled = false;
+                    }
                 }
             }
         }