fix(GridFieldAddNewMultiClass): Fix bug where class doesn't exist. (ie. ClassInfo says the class exists, but PHP itself doesn't, since ClassInfo is based on parsed tokens)

This commit is contained in:
Jake Bentvelzen 2016-10-16 20:05:35 +11:00
parent d72288125a
commit 86f1778511
1 changed files with 7 additions and 6 deletions

View File

@ -96,12 +96,13 @@ class GridFieldAddNewMultiClass implements GridField_HTMLProvider, GridField_URL
foreach($classes as $class => $title) {
if(!is_string($class)) {
$class = $title;
$is_abstract = (($reflection = new ReflectionClass($class)) && $reflection->isAbstract());
if (!$is_abstract) {
$title = singleton($class)->i18n_singular_name();
}
} else {
$is_abstract = (($reflection = new ReflectionClass($class)) && $reflection->isAbstract());
}
if (!class_exists($class)) {
continue;
}
$is_abstract = (($reflection = new ReflectionClass($class)) && $reflection->isAbstract());
if (!$is_abstract && $class === $title) {
$title = singleton($class)->i18n_singular_name();
}
if ($ancestor_to_hide = Config::inst()->get($class, 'hide_ancestor', Config::FIRST_SET)) {