aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engine/lib/users.php18
1 files changed, 17 insertions, 1 deletions
diff --git a/engine/lib/users.php b/engine/lib/users.php
index 0171e838d..341024a45 100644
--- a/engine/lib/users.php
+++ b/engine/lib/users.php
@@ -76,7 +76,7 @@ class ElggUser extends ElggEntity
// Is $guid is an ElggUser? Use a copy constructor
else if ($guid instanceof ElggUser) {
elgg_log('This type of usage of the ElggUser constructor was deprecated in 1.7. Please use the clone method.', 'WARNING');
-
+
foreach ($guid->attributes as $key => $value) {
$this->attributes[$key] = $value;
}
@@ -1446,6 +1446,20 @@ function new_user_enable_permissions_check($hook, $entity_type, $returnvalue, $p
}
/**
+ * Creates a relationship between this site and the user.
+ *
+ * @param $event
+ * @param $object_type
+ * @param $object
+ * @return bool
+ */
+function user_create_hook_add_site_relationship($event, $object_type, $object) {
+ global $CONFIG;
+
+ add_entity_relationship($object->getGUID(), 'member_of_site', $CONFIG->site->getGUID());
+}
+
+/**
* Sets up user-related menu items
*
*/
@@ -1517,6 +1531,8 @@ function users_init() {
register_plugin_hook('usersettings:save','user','users_settings_save');
+ register_elgg_event_handler('create', 'user', 'user_create_hook_add_site_relationship');
+
// Handle a special case for newly created users when the user is not logged in
// TODO: handle this better!
register_plugin_hook('permissions_check','all','new_user_enable_permissions_check');