diff options
Diffstat (limited to 'views/default/layout/objects/widget.php')
-rw-r--r-- | views/default/layout/objects/widget.php | 63 |
1 files changed, 40 insertions, 23 deletions
diff --git a/views/default/layout/objects/widget.php b/views/default/layout/objects/widget.php index d9a0681af..727b04533 100644 --- a/views/default/layout/objects/widget.php +++ b/views/default/layout/objects/widget.php @@ -2,7 +2,8 @@ /** * Widget object * - * @uses $vars['entity'] + * @uses $vars['entity'] ElggWidget + * @uses $vars['show_access'] Show the access control in edit area? (true) */ $widget = $vars['entity']; @@ -10,41 +11,57 @@ if (!elgg_instanceof($widget, 'object', 'widget')) { return true; } +$show_access = elgg_get_array_value('show_access', $vars, true); + // @todo catch for disabled plugins -$widgettypes = elgg_get_widget_types('all'); +$widget_types = elgg_get_widget_types('all'); $handler = $widget->handler; $title = $widget->getTitle(); +$edit_area = ''; $can_edit = $widget->canEdit(); +if ($can_edit) { + $edit_area = elgg_view('layout/objects/widget/settings', array( + 'widget' => $widget, + 'show_access' => $show_access, + )); +} +$controls = elgg_view('layout/objects/widget/controls', array( + 'widget' => $widget, + 'show_edit' => $edit_area != '', +)); + + +if (elgg_view_exists("widgets/$handler/content")) { + $content = elgg_view("widgets/$handler/content", $vars); +} else { + elgg_deprecated_notice("widgets use content as the display view", 1.8); + $content = elgg_view("widgets/$handler/view", $vars); +} + $widget_id = "elgg-widget-$widget->guid"; $widget_instance = "elgg-widget-instance-$handler"; +$widget_class = "elgg-module elgg-module-widget"; +if ($can_edit) { + $widget_class .= " elgg-state-draggable $widget_instance"; +} else { + $widget_class .= " elgg-state-fixed $widget_instance"; +} -?> -<div class="elgg-widget draggable <?php echo $widget_instance?>" id="<?php echo $widget_id; ?>"> - <div class="elgg-widget-title drag-handle"> - <h3><?php echo $title; ?></h3> +echo <<<HTML +<div class="$widget_class" id="$widget_id"> + <div class="elgg-head"> + <h3>$title</h3> + $controls </div> - <?php - echo elgg_view('layout/objects/widget/controls', array('widget' => $widget)); - ?> - <div class="elgg-widget-container"> - <?php - if ($can_edit) { - echo elgg_view('layout/objects/widget/settings', array('widget' => $widget)); - } - ?> + <div class="elgg-body"> + $edit_area <div class="elgg-widget-content"> - <?php - if (elgg_view_exists("widgets/$handler/content")) { - echo elgg_view("widgets/$handler/content", $vars); - } else { - elgg_deprecated_notice("widgets use content as the display view", 1.8); - echo elgg_view("widgets/$handler/view", $vars); - } - ?> + $content </div> </div> </div> +HTML; |