From 9ee3b893fbdaa366efd98a6b32a3be4616dc1084 Mon Sep 17 00:00:00 2001 From: NoBone Date: Mon, 22 Apr 2013 16:18:07 +0300 Subject: [PATCH] Update WidgetAreaEditor.php --- code/form/WidgetAreaEditor.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/code/form/WidgetAreaEditor.php b/code/form/WidgetAreaEditor.php index 4edc40f..a2bac4a 100644 --- a/code/form/WidgetAreaEditor.php +++ b/code/form/WidgetAreaEditor.php @@ -35,14 +35,20 @@ class WidgetAreaEditor extends FormField { * @return ArrayList */ public function AvailableWidgets() { - $widgets= new ArrayList(); - + foreach($this->widgetClasses as $widgetClass) { $classes = ClassInfo::subclassesFor($widgetClass); array_shift($classes); foreach($classes as $class) { - $widgets->push(singleton($class)); + + if (!empty($class::$only_available_in) && is_array($class::$only_available_in)){ + if(in_array($this->Name, $class::$only_available_in)) { + $widgets->push(singleton($class)); + } + }else { + $widgets->push(singleton($class)); + } } }