only check for class.$classname.inc.php files, when scanning for plugins, as backupfiles postfixing the filename with an other extension stall EGroupware completly (Fatal Error: Can not redeclar class)

This commit is contained in:
Ralf Becker 2011-11-21 09:52:14 +00:00
parent ec133dcffa
commit f3b4f7e2f9

View File

@ -339,12 +339,12 @@ class importexport_helper_functions {
while (false !== ($entry = $d->read())) { while (false !== ($entry = $d->read())) {
// Blacklisted? // Blacklisted?
if(is_array(self::$blacklist_files[$appname]) && in_array($entry, self::$blacklist_files[$appname])) continue; if(is_array(self::$blacklist_files[$appname]) && in_array($entry, self::$blacklist_files[$appname])) continue;
if (!preg_match('/^class\.([^.]+)\.inc\.php$/', $entry, $matches)) continue;
list( ,$classname, ,$extension) = explode('.',$entry); $classname = $matches[1];
$file = $appdir. '/'. $entry; $file = $appdir. '/'. $entry;
foreach ($types as $type) { foreach ($types as $type) {
if( !is_file($file) || strpos($entry, $type) === false || $extension != 'php' ) continue; if( !is_file($file) || strpos($entry, $type) === false) continue;
require_once($file); require_once($file);
$reflectionClass = new ReflectionClass($classname); $reflectionClass = new ReflectionClass($classname);
if($reflectionClass->IsInstantiable() && if($reflectionClass->IsInstantiable() &&