aboutsummaryrefslogtreecommitdiff
path: root/actions/widgets
diff options
context:
space:
mode:
Diffstat (limited to 'actions/widgets')
-rw-r--r--actions/widgets/add.php3
-rw-r--r--actions/widgets/save.php20
2 files changed, 21 insertions, 2 deletions
diff --git a/actions/widgets/add.php b/actions/widgets/add.php
index f65d11134..d7b2f291c 100644
--- a/actions/widgets/add.php
+++ b/actions/widgets/add.php
@@ -9,6 +9,7 @@
$owner_guid = get_input('owner_guid');
$handler = get_input('handler');
$context = get_input('context');
+$show_access = (bool)get_input('show_access', true);
$column = get_input('column', 1);
$default_widgets = get_input('default_widgets', 0);
@@ -29,7 +30,7 @@ if (!empty($owner_guid)) {
$widget->move($column, 0);
// send widget html for insertion
- echo elgg_view_entity($widget);
+ echo elgg_view_entity($widget, array('show_access' => $show_access));
//system_message(elgg_echo('widgets:add:success'));
forward(REFERER);
diff --git a/actions/widgets/save.php b/actions/widgets/save.php
index 0a2de0c4d..e15deab77 100644
--- a/actions/widgets/save.php
+++ b/actions/widgets/save.php
@@ -4,6 +4,14 @@
*
* @package Elgg.Core
* @subpackage Widgets.Management
+ *
+ * @uses int $_REQUEST['guid'] The guid of the widget to save
+ * @uses array $_REQUEST['params'] An array of params to set on the widget.
+ * @uses int $_REQUEST['default_widgets'] Flag for if these settings are for default wigets.
+ * @uses string $_REQUEST['context'] An optional context of the widget. Used to return
+ * the correct output if widget content changes
+ * depending on context.
+ *
*/
elgg_set_context('widgets');
@@ -11,12 +19,22 @@ elgg_set_context('widgets');
$guid = get_input('guid');
$params = get_input('params');
$default_widgets = get_input('default_widgets', 0);
+$context = get_input('context');
$widget = get_entity($guid);
if ($widget && $widget->saveSettings($params)) {
elgg_set_page_owner_guid($widget->getContainerGUID());
+ if ($context) {
+ elgg_push_context($context);
+ }
+
if (!$default_widgets) {
- $view = "widgets/$widget->handler/content";
+ if (elgg_view_exists("widgets/$widget->handler/content")) {
+ $view = "widgets/$widget->handler/content";
+ } else {
+ elgg_deprecated_notice("widgets use content as the display view", 1.8);
+ $view = "widgets/$widget->handler/view";
+ }
echo elgg_view($view, array('entity' => $widget));
}
} else {