diff options
author | kevinjardine <kevinjardine@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2009-02-26 17:56:05 +0000 |
---|---|---|
committer | kevinjardine <kevinjardine@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2009-02-26 17:56:05 +0000 |
commit | a13d5f5407736e0f9811a541a20bbfe08747970d (patch) | |
tree | 677f0b94062a85e3e406808429d92ede303c6a2f /engine/lib | |
parent | 6e3a38ff9128db14b5b7df66e942670068243047 (diff) | |
download | elgg-a13d5f5407736e0f9811a541a20bbfe08747970d.tar.gz elgg-a13d5f5407736e0f9811a541a20bbfe08747970d.tar.bz2 |
Fixes to container permissions and widgets to allow default widgets to work with the Elgg permissions system.
git-svn-id: https://code.elgg.org/elgg/trunk@2968 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'engine/lib')
-rw-r--r-- | engine/lib/entities.php | 4 | ||||
-rw-r--r-- | engine/lib/widgets.php | 14 |
2 files changed, 10 insertions, 8 deletions
diff --git a/engine/lib/entities.php b/engine/lib/entities.php index 3597040c9..e9747d15c 100644 --- a/engine/lib/entities.php +++ b/engine/lib/entities.php @@ -1321,14 +1321,14 @@ $container = get_entity($container_guid);
- if (($container) && ($user))
+ if ($container)
{
// If the user can edit the container, they can also write to it
if ($container->canEdit($user_guid)) return true;
// Basics, see if the user is a member of the group.
- if ($container instanceof ElggGroup) {
+ if ($user && $container instanceof ElggGroup) {
if (!$container->isMember($user)) {
return false;
} else {
diff --git a/engine/lib/widgets.php b/engine/lib/widgets.php index 02ef721e4..d363f0c78 100644 --- a/engine/lib/widgets.php +++ b/engine/lib/widgets.php @@ -221,9 +221,10 @@ * @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)
+ * @param int $access_id If not specified, it is set to the default access level
* @return true|false Depending on success
*/
- function add_widget($user_guid, $handler, $context, $order = 0, $column = 1) {
+ function add_widget($user_guid, $handler, $context, $order = 0, $column = 1, $access_id = null) {
if (empty($user_guid) || empty($context) || empty($handler) || !widget_type_exists($handler))
return false;
@@ -233,12 +234,13 @@ $widget = new ElggWidget;
$widget->owner_guid = $user_guid;
$widget->container_guid = $user_guid;
- $widget->access_id = get_default_access();
- // private widgets don't makes sense, correct?
- if ($widget->access_id == ACCESS_PRIVATE)
- $widget->access_id = ACCESS_LOGGED_IN; // change to ACCESS_FRIENDS when implemented
+ if (isset($access_id)) {
+ $widget->access_id = $access_id;
+ } else {
+ $widget->access_id = get_default_access();
+ }
- if (!$widget->save())
+ if (!$widget->save())
return false;
$widget->handler = $handler;
|