diff --git a/code/form/WidgetAreaEditor.php b/code/form/WidgetAreaEditor.php index 814c132..f2f9593 100644 --- a/code/form/WidgetAreaEditor.php +++ b/code/form/WidgetAreaEditor.php @@ -94,28 +94,28 @@ class WidgetAreaEditor extends FormField { } // \"ParentID\" = '0' is for the new page - $widget = DataObject::get_one( + $widget = DataObject::get_one( 'Widget', - "(\"ParentID\" = '{$record->$name()->ID}' OR \"ParentID\" = '0') AND \"Widget\".\"ID\" = '$newWidgetID'" + "(\"ParentID\" = '{$record->$name()->ID}' OR ". + "\"ParentID\" = '0') AND \"Widget\".\"ID\" = '$newWidgetID'" ); - - // check if we are updating an existing widget + // check if we are updating an existing widget if($widget && isset($missingWidgets[$widget->ID])) { - unset($missingWidgets[$widget->ID]); + unset($missingWidgets[$widget->ID]); } - // create a new object - if(!$widget && !empty($newWidgetData['Type']) && class_exists($newWidgetData['Type'])) { - $widget = new $newWidgetData['Type'](); - $widget->ID = 0; - $widget->ParentID = $record->$name()->ID; + // create a new object + if(!$widget && !empty($newWidgetData['Type']) && class_exists($newWidgetData['Type'])) { + $widget = new $newWidgetData['Type'](); + $widget->ID = 0; + $widget->ParentID = $record->$name()->ID; + + if(!is_subclass_of($widget, 'Widget')) { + $widget = null; + } + } - if(!is_subclass_of($widget, 'Widget')) { - $widget = null; - } - } - if($widget) { if($widget->ParentID == 0) { $widget->ParentID = $record->$name()->ID; diff --git a/code/model/Widget.php b/code/model/Widget.php index cb9cebd..e855cd4 100644 --- a/code/model/Widget.php +++ b/code/model/Widget.php @@ -222,8 +222,8 @@ class Widget_Controller extends Controller { $className = $this->urlParams['ID']; if (class_exists('Translatable') && Member::currentUserID()) { // set current locale based on logged in user's locale - $locale = Member::currentUser()->Locale; - Translatable::set_current_locale($locale); + $locale = Member::currentUser()->Locale; + Translatable::set_current_locale($locale); i18n::set_locale($locale); } if(class_exists($className) && is_subclass_of($className, 'Widget')) {