From 0695cfb0566813757e600ec10fd727610264b89e Mon Sep 17 00:00:00 2001
From: gloas <gloas@afi-sa.fr>
Date: Fri, 4 May 2018 10:25:24 +0200
Subject: [PATCH] dev #74865 filter unknown digital config

---
 library/Class/DigitalResource.php | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/library/Class/DigitalResource.php b/library/Class/DigitalResource.php
index 974c24ea25c..0d24ad0b652 100644
--- a/library/Class/DigitalResource.php
+++ b/library/Class/DigitalResource.php
@@ -319,12 +319,9 @@ class Class_DigitalResource extends Class_Entity {
        return $this->_plugins;
 
     $directories = new Storm_Collection($this->getFileSystem()->directoryNamesAt($this->getBaseDir()));
-    return $this->_plugins = $directories->collect(
-                                            function($dirname)
-                                            {
-                                              return $this->configFor($dirname);
-                                            }
-    );
+    return $this->_plugins = $directories
+      ->collect(function($dirname) { return $this->configFor($dirname); })
+      ->reject(function($config) { return !$config; });
   }
 
 
@@ -398,6 +395,8 @@ class Class_DigitalResource_Wrapper {
 
 class Class_DigitalResource_ConfigProvider {
   public function getConfig($digital_resource, $class_name, $plugin) {
+    if(!class_exists($class_name))
+      return null;
     return new $class_name(new Class_DigitalResource_Wrapper($digital_resource, $plugin));
   }
 }
\ No newline at end of file
-- 
GitLab