aboutsummaryrefslogtreecommitdiff
path: root/views/default/layout/objects
diff options
context:
space:
mode:
authorcash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>2010-12-15 22:20:20 +0000
committercash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>2010-12-15 22:20:20 +0000
commit5922d93173db6353e3404c1c2a941842a9f166ed (patch)
tree00eff462ba782d5792795e2e69362b62c23dc423 /views/default/layout/objects
parent1c61bbef8f87c9bc96b7b265816f638899ea3e13 (diff)
downloadelgg-5922d93173db6353e3404c1c2a941842a9f166ed.tar.gz
elgg-5922d93173db6353e3404c1c2a941842a9f166ed.tar.bz2
moved widget into layout/objects as one of our core css objects
git-svn-id: http://code.elgg.org/elgg/trunk@7639 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'views/default/layout/objects')
-rw-r--r--views/default/layout/objects/widget.php52
-rw-r--r--views/default/layout/objects/widget/controls.php44
-rw-r--r--views/default/layout/objects/widget/settings.php44
3 files changed, 140 insertions, 0 deletions
diff --git a/views/default/layout/objects/widget.php b/views/default/layout/objects/widget.php
new file mode 100644
index 000000000..d109693e1
--- /dev/null
+++ b/views/default/layout/objects/widget.php
@@ -0,0 +1,52 @@
+<?php
+/**
+ * Widget object
+ *
+ * @uses $vars['entity']
+ */
+
+$widget = $vars['entity'];
+if (!elgg_instanceof($widget, 'object', 'widget')) {
+ return true;
+}
+
+// @todo catch for disabled plugins
+$widgettypes = elgg_get_widget_types('all');
+
+$handler = $widget->handler;
+
+$title = $widget->getTitle();
+
+$can_edit = $widget->canEdit();
+
+$widget_id = "widget-$widget->guid";
+$widget_instance = "widget-instance-$handler";
+
+?>
+<div class="widget draggable <?php echo $widget_instance?>" id="<?php echo $widget_id; ?>">
+ <div class="widget-title drag-handle">
+ <h3><?php echo $title; ?></h3>
+ </div>
+ <?php
+ if ($can_edit) {
+ echo elgg_view('layout/objects/widget/controls', array('widget' => $widget));
+ }
+ ?>
+ <div class="widget-container">
+ <?php
+ if ($can_edit) {
+ echo elgg_view('layout/objects/widget/settings', array('widget' => $widget));
+ }
+ ?>
+ <div class="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);
+ }
+ ?>
+ </div>
+ </div>
+</div>
diff --git a/views/default/layout/objects/widget/controls.php b/views/default/layout/objects/widget/controls.php
new file mode 100644
index 000000000..5e6aaf193
--- /dev/null
+++ b/views/default/layout/objects/widget/controls.php
@@ -0,0 +1,44 @@
+<?php
+/**
+ * Elgg widget controls
+ *
+ * @package Elgg
+ * @subpackage Core
+ */
+
+$widget = $vars['widget'];
+
+$params = array(
+ 'text' => ' ',
+ 'href' => "#",
+ 'class' => 'widget-collapse-button',
+ 'internalid' => "widget-collapse-button_$widget->guid"
+);
+$collapse_link = elgg_view('output/url', $params);
+
+$params = array(
+ 'text' => ' ',
+ 'title' => elgg_echo('widget:delete', array($widget->getTitle())),
+ 'href' => elgg_get_site_url() . "action/widgets/delete?guid=$widget->guid",
+ 'is_action' => true,
+ 'class' => 'widget-delete-button',
+ 'internalid' => "widget-delete-button_$widget->guid"
+);
+$delete_link = elgg_view('output/url', $params);
+
+$params = array(
+ 'text' => ' ',
+ 'title' => elgg_echo('widget:edit'),
+ 'href' => "#",
+ 'class' => 'widget-edit-button',
+ 'internalid' => "widget-edit-button_$widget->guid"
+);
+$edit_link = elgg_view('output/url', $params);
+
+echo <<<___END
+<div class="widget-controls">
+ $collapse_link
+ $delete_link
+ $edit_link
+</div>
+___END;
diff --git a/views/default/layout/objects/widget/settings.php b/views/default/layout/objects/widget/settings.php
new file mode 100644
index 000000000..5814e5821
--- /dev/null
+++ b/views/default/layout/objects/widget/settings.php
@@ -0,0 +1,44 @@
+<?php
+/**
+ * Elgg widget edit settings
+ *
+ * @package Elgg
+ * @subpackage Core
+ */
+
+$widget = $vars['widget'];
+
+$edit_view = "widgets/$widget->handler/edit";
+$custom_form_section = elgg_view($edit_view, array('entity' => $widget));
+
+$access_label = elgg_echo('access');
+$access = elgg_view('input/access', array('internalname' => 'params[access_id]','value' => $widget->access_id));
+$access_html = "<p><label>$access_label:</label> $access</p>";
+
+$hidden = elgg_view('input/hidden', array('internalname' => 'guid', 'value' => $widget->guid));
+$submit = elgg_view('input/submit', array('value' => elgg_echo('save')));
+
+// dashboard widgets do not get access controls
+if (elgg_in_context('dashboard')) {
+ $access = '';
+}
+
+$body = <<<___END
+ $custom_form_section
+ $access
+ <p>
+ $hidden
+ $submit
+ </p>
+___END;
+
+?>
+<div class="widget-edit">
+<?php
+$params = array(
+ 'body' => $body,
+ 'action' => "action/widgets/save"
+);
+echo elgg_view('input/form', $params);
+?>
+</div>