mirror of
https://github.com/silverstripe/silverstripe-widgets
synced 2024-09-28 20:29:09 +02:00
FIX Cast subclassesFor as array and remove isset nesting
This commit is contained in:
parent
ac1c1dabc8
commit
4c79f68b02
@ -42,7 +42,7 @@ class WidgetAreaEditor extends FormField
|
|||||||
$widgets= new ArrayList();
|
$widgets= new ArrayList();
|
||||||
|
|
||||||
foreach ($this->widgetClasses as $widgetClass) {
|
foreach ($this->widgetClasses as $widgetClass) {
|
||||||
$classes = ClassInfo::subclassesFor($widgetClass);
|
$classes = ClassInfo::subclassesFor($widgetClass) ?: array();
|
||||||
|
|
||||||
if (isset($classes['Widget'])) {
|
if (isset($classes['Widget'])) {
|
||||||
unset($classes['Widget']);
|
unset($classes['Widget']);
|
||||||
@ -50,17 +50,15 @@ class WidgetAreaEditor extends FormField
|
|||||||
unset($classes[0]);
|
unset($classes[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if( isset($classes) ){
|
foreach ($classes as $class) {
|
||||||
foreach ($classes as $class) {
|
$available = Config::inst()->get($class, 'only_available_in');
|
||||||
$available = Config::inst()->get($class, 'only_available_in');
|
|
||||||
|
|
||||||
if (!empty($available) && is_array($available)) {
|
if (!empty($available) && is_array($available)) {
|
||||||
if (in_array($this->Name, $available)) {
|
if (in_array($this->Name, $available)) {
|
||||||
$widgets->push(singleton($class));
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$widgets->push(singleton($class));
|
$widgets->push(singleton($class));
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
$widgets->push(singleton($class));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user