/** * Saves a widget's settings (by passing an array of * (name => value) pairs to save_{$handler}_widget) * * @param int $widget_guid The GUID of the widget we're saving to * @param array $params An array of name => value parameters * * @return bool * @deprecated 1.8 Use elgg_save_widget_settings */ function save_widget_info($widget_guid, $params) { elgg_deprecated_notice("save_widget_info() is deprecated for elgg_save_widget_settings", 1.8); if ($widget = get_entity($widget_guid)) { $subtype = $widget->getSubtype(); if ($subtype != "widget") { return false; } $handler = $widget->handler; if (empty($handler) || !widget_type_exists($handler)) { return false; } if (!$widget->canEdit()) { return false; } // Save the params to the widget if (is_array($params) && sizeof($params) > 0) { foreach ($params as $name => $value) { if (!empty($name) && !in_array($name, array('guid', 'owner_guid', 'site_guid'))) { if (is_array($value)) { // @todo Handle arrays securely $widget->setMetaData($name, $value, "", true); } else { $widget->{$name} = $value; } } } $widget->save(); } $function = "save_{$handler}_widget"; if (is_callable($function)) { return $function($params); } return true; } return false; }
/** * Add a new widget that is being cloned via StickyWidgets. * * @param int $user_guid User GUID to associate this widget with * @param string $handler The handler for this widget * @param string $context The page context for this widget * @param int $order The order to display this widget in * @param int $column The column to display this widget in (1, 2 or 3) * @return true|false Depending on success */ function add_widget_via_sticky($user_guid, $handler, $context, $order = 0, $column = 1) { if (empty($user_guid) || empty($context) || empty($handler) || !widget_type_exists($handler)) { return false; } if ($user = get_user($user_guid)) { $widget = new ElggWidget(); $widget->owner_guid = $user_guid; $widget->access_id = 1; $widget->container_guid = $user_guid; $ctx = get_context(); set_context('add_sticky_widgets'); if (!$widget->save()) { set_context($ctx); return false; } set_context($ctx); $widget->handler = $handler; $widget->context = $context; $widget->column = $column; $widget->order = $order; // save_widget_location($widget, $order, $column); return true; } return false; }