FIX Cast subclassesFor as array and remove isset nesting

This commit is contained in:
Robbie Averill 2018-09-10 17:00:15 +02:00
parent ac1c1dabc8
commit 4c79f68b02
1 changed files with 9 additions and 11 deletions

View File

@ -42,7 +42,7 @@ 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']);
@ -50,17 +50,15 @@ class WidgetAreaEditor extends FormField
unset($classes[0]);
}
if( isset($classes) ){
foreach ($classes as $class) {
$available = Config::inst()->get($class, 'only_available_in');
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 {
if (!empty($available) && is_array($available)) {
if (in_array($this->Name, $available)) {
$widgets->push(singleton($class));
}
} else {
$widgets->push(singleton($class));
}
}
}