Bläddra i källkod

Fix scope isolated config includes

Daniel Rudolf 9 år sedan
förälder
incheckning
cd74b681f5
2 ändrade filer med 4 tillägg och 3 borttagningar
  1. 1 1
      lib/Pico.php
  2. 3 2
      plugins/00-PicoDeprecated.php

+ 1 - 1
lib/Pico.php

@@ -517,7 +517,7 @@ class Pico
         $config = null;
         $config = null;
         if (file_exists($this->getConfigDir() . 'config.php')) {
         if (file_exists($this->getConfigDir() . 'config.php')) {
             // scope isolated require()
             // scope isolated require()
-            $includeClosure = function ($configFile) {
+            $includeClosure = function ($configFile) use (&$config) {
                 require($configFile);
                 require($configFile);
             };
             };
             if (PHP_VERSION_ID >= 50400) {
             if (PHP_VERSION_ID >= 50400) {

+ 3 - 2
plugins/00-PicoDeprecated.php

@@ -165,8 +165,10 @@ class PicoDeprecated extends AbstractPicoPlugin
     protected function loadRootDirConfig(array &$realConfig)
     protected function loadRootDirConfig(array &$realConfig)
     {
     {
         if (file_exists($this->getRootDir() . 'config.php')) {
         if (file_exists($this->getRootDir() . 'config.php')) {
+            $config = null;
+
             // scope isolated require()
             // scope isolated require()
-            $includeClosure = function ($configFile) {
+            $includeClosure = function ($configFile) use (&$config) {
                 require($configFile);
                 require($configFile);
             };
             };
             if (PHP_VERSION_ID >= 50400) {
             if (PHP_VERSION_ID >= 50400) {
@@ -175,7 +177,6 @@ class PicoDeprecated extends AbstractPicoPlugin
 
 
             // config.php in Pico::$rootDir is deprecated
             // config.php in Pico::$rootDir is deprecated
             // use config.php in Pico::$configDir instead
             // use config.php in Pico::$configDir instead
-            $config = null;
             $includeClosure($this->getRootDir() . 'config.php');
             $includeClosure($this->getRootDir() . 'config.php');
 
 
             if (is_array($config)) {
             if (is_array($config)) {