Merge branch 'stable'

This commit is contained in:
Dylan K. Taylor 2019-05-31 17:13:13 +01:00
commit df8db3b8e3

View File

@ -48,7 +48,9 @@ use function is_a;
use function is_array; use function is_array;
use function is_dir; use function is_dir;
use function is_subclass_of; use function is_subclass_of;
use function iterator_to_array;
use function mkdir; use function mkdir;
use function shuffle;
use function stripos; use function stripos;
use function strpos; use function strpos;
use function strtolower; use function strtolower;
@ -217,12 +219,11 @@ class PluginManager{
}else{ }else{
$loaders = $this->fileAssociations; $loaders = $this->fileAssociations;
} }
$files = iterator_to_array(new \FilesystemIterator($directory, \FilesystemIterator::CURRENT_AS_PATHNAME | \FilesystemIterator::SKIP_DOTS));
shuffle($files); //this prevents plugins implicitly relying on the filesystem name order when they should be using dependency properties
foreach($loaders as $loader){ foreach($loaders as $loader){
foreach(new \DirectoryIterator($directory) as $file){ foreach($files as $file){
if($file === "." or $file === ".."){
continue;
}
$file = $directory . $file;
if(!$loader->canLoadPlugin($file)){ if(!$loader->canLoadPlugin($file)){
continue; continue;
} }