FIX Cast subclassesFor as array and remove isset nesting
This commit is contained in:
parent
ac1c1dabc8
commit
4c79f68b02
|
@ -42,29 +42,27 @@ class WidgetAreaEditor extends FormField
|
|||
$widgets= new ArrayList();
|
||||
|
||||
foreach ($this->widgetClasses as $widgetClass) {
|
||||
$classes = ClassInfo::subclassesFor($widgetClass);
|
||||
$classes = ClassInfo::subclassesFor($widgetClass) ?: array();
|
||||
|
||||
if (isset($classes['Widget'])) {
|
||||
unset($classes['Widget']);
|
||||
} elseif (isset($classes[0]) && $classes[0] == 'Widget') {
|
||||
unset($classes[0]);
|
||||
}
|
||||
|
||||
if( isset($classes) ){
|
||||
foreach ($classes as $class) {
|
||||
$available = Config::inst()->get($class, 'only_available_in');
|
||||
|
||||
if (!empty($available) && is_array($available)) {
|
||||
if (in_array($this->Name, $available)) {
|
||||
$widgets->push(singleton($class));
|
||||
}
|
||||
} else {
|
||||
foreach ($classes as $class) {
|
||||
$available = Config::inst()->get($class, 'only_available_in');
|
||||
|
||||
if (!empty($available) && is_array($available)) {
|
||||
if (in_array($this->Name, $available)) {
|
||||
$widgets->push(singleton($class));
|
||||
}
|
||||
} else {
|
||||
$widgets->push(singleton($class));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return $widgets;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue