29 parent::initializeAttributes();
31 $this->attributes[
'type'] =
"user";
32 $this->attributes[
'name'] = null;
33 $this->attributes[
'username'] = null;
34 $this->attributes[
'password'] = null;
35 $this->attributes[
'salt'] = null;
36 $this->attributes[
'email'] = null;
37 $this->attributes[
'language'] = null;
38 $this->attributes[
'banned'] =
"no";
39 $this->attributes[
'admin'] =
'no';
40 $this->attributes[
'prev_last_action'] = null;
41 $this->attributes[
'last_login'] = null;
42 $this->attributes[
'prev_last_login'] = null;
43 $this->tables_split = 2;
64 if (
$row instanceof stdClass) {
67 $msg =
"Failed to load new " . get_class() .
" for GUID:" .
$row->guid;
70 }
else if (is_string(
$row)) {
72 elgg_deprecated_notice(
'Passing a username to constructor is deprecated. Use get_user_by_username()', 1.9);
81 elgg_deprecated_notice(
'This type of usage of the ElggUser constructor was deprecated. Please use the clone method.', 1.7);
85 }
else if (is_numeric(
$row)) {
89 throw new IOException(
"Failed to load new " . get_class() .
" from GUID:" .
$row);
106 $attr_loader->secondary_loader =
'get_user_entity_as_row';
108 $attrs = $attr_loader->getRequiredAttributes(
$guid);
113 $this->attributes =
$attrs;
114 $this->tables_loaded = 2;
128 $guid = parent::create();
136 $query =
"INSERT into {$CONFIG->dbprefix}users_entity 137 (guid, name, username, password, salt, email, language) 138 values ($guid, '$name', '$username', '$password', '$salt', '$email', '$language')";
155 if (!parent::update()) {
159 $guid = (int)$this->guid;
167 $query =
"UPDATE {$CONFIG->dbprefix}users_entity 168 SET name='$name', username='$username', password='$password', salt='$salt', 169 email='$email', language='$language' 172 return $this->
getDatabase()->updateData($query) !==
false;
180 public function delete() {
184 if (isset($USERNAME_TO_GUID_MAP_CACHE[$this->username])) {
185 unset($USERNAME_TO_GUID_MAP_CACHE[$this->username]);
205 $this->name = $displayName;
212 if (array_key_exists(
$name, $this->attributes)) {
214 case 'prev_last_action':
216 case 'prev_last_login':
220 $this->attributes[
$name] = null;
249 public function ban($reason =
"") {
250 return ban_user($this->guid, $reason);
268 return $this->banned ==
'yes';
282 return $this->attributes[
'admin'] ==
'yes';
297 $this->attributes[
'admin'] =
'yes';
314 $this->attributes[
'admin'] =
'no';
345 if (is_numeric(
$site)) {
350 return parent::addToSite(
$site);
361 if (is_numeric(
$site)) {
366 return parent::removeFromSite(
$site);
454 $options[
'relationship'] =
'friend';
461 'relationship' =>
'friend',
462 'relationship_guid' => $this->guid,
485 $options[
'relationship'] =
'friend';
487 $options[
'inverse_relationship'] =
true;
493 'relationship' =>
'friend',
494 'relationship_guid' => $this->guid,
515 elgg_deprecated_notice(
'ElggUser::listFriends() is deprecated. Use elgg_list_entities_from_relationship()', 1.9);
518 'relationship' =>
'friend',
519 'relationship_guid' => $this->guid,
521 'full_view' =>
false,
548 'relationship' =>
'member',
549 'relationship_guid' => $this->guid,
559 $options[
'relationship'] =
'member';
577 elgg_deprecated_notice(
'Elgg::listGroups is deprecated. Use elgg_list_entities_from_relationship()', 1.9);
580 'relationship' =>
'member',
581 'relationship_guid' => $this->guid,
584 'full_view' =>
false,
614 'owner_guid' => $this->
getGUID(),
636 $options[
'relationship'] =
'friend';
638 $options[
'relationship_join_on'] =
'container_guid';
647 'relationship' =>
'friend',
648 'relationship_guid' => $this->
getGUID(),
649 'relationship_join_on' =>
'container_guid',
728 return array_merge(parent::getExportableValues(), array(
load($guid)
Load the ElggUser data from the database.
listFriends($subtype="", $limit=10, array $vars=array())
Lists the user's friends.
remove_site_user($site_guid, $user_guid)
Remove a user from a site.
getDatabase()
Provides a pointer to the database object.
make_user_admin($user_guid)
Makes user $guid an admin.
makeAdmin()
Make the user an admin.
loadAdditionalSelectValues(array $data)
Stores non-attributes from the loading of the entity as volatile data.
add_entity_relationship($guid_one, $relationship, $guid_two)
Create a relationship between two entities.
addToSite($site)
Add this user to a particular site.
if($guid==elgg_get_logged_in_user_guid()) $name
remove_entity_relationship($guid_one, $relationship, $guid_two)
Delete a relationship between two entities.
clear_user_files($user)
Removes all user files.
getGUID()
Returns the guid.
$guid
Removes an admin notice.
getGroups($options="", $limit=10, $offset=0)
Gets the user's groups.
add_site_user($site_guid, $user_guid)
Add a user to a site.
getExportableValues()
Return an array of fields which can be exported.
getFriends($options=array(), $limit=10, $offset=0)
Gets this user's friends.
count_user_objects($user_guid, $subtype=ELGG_ENTITIES_ANY_VALUE, $timelower=0, $timeupper=0)
Counts the objects (optionally of a particular subtype) owned by a user.
unban_user($user_guid)
Unban a user.
__construct($row=null)
Construct a new user entity.
initializeAttributes()
Initialize the attributes array.
remove_user_from_access_collection($user_guid, $collection_id)
Removes a user from an access collection.
sanitize_string($string)
Sanitize a string for database use.
get_user_by_username($username)
Get user by username.
ban_user($user_guid, $reason="")
Ban a user.
get_user_access_collections($owner_guid, $site_guid=0)
Returns an array of database row objects of the access collections owned by $owner_guid.
ban($reason="")
Ban this user.
get_user($guid)
Get a user object from a GUID.
elgg menu widget elgg menu item delete
isFriend()
Determines whether or not this user is a friend of the currently logged in user.
initialise_attributes($pre18_api=true)
Initialise the attributes array.
addFriend($friend_guid)
Adds a user as a friend.
elgg_get_entities(array $options=array())
Returns an array of entities with optional filtering.
isFriendOf($user_guid)
Determines whether or not this user is another user's friend.
global $USERNAME_TO_GUID_MAP_CACHE
check_entity_relationship($guid_one, $relationship, $guid_two)
Check if a relationship exists between two entities.
elgg_deprecated_notice($msg, $dep_version, $backtrace_level=1)
Sends a notice about deprecated use of a function, view, etc.
getOwner()
If a user's owner is blank, return its own GUID as the owner.
elgg global
Pointer to the global context.
getObjects($options=array(), $limit=10, $offset=0)
Get an array of ElggObject owned by this user.
getOwnerGUID()
Get a user's owner GUID.
canComment($user_guid=0)
Can a user comment on this user?
getFriendsOf($options=array(), $limit=10, $offset=0)
Gets users who have made this user a friend.
elgg_list_entities_from_relationship(array $options=array())
Returns a viewable list of entities by relationship.
listGroups($subtype="", $limit=10, $offset=0)
Lists the user's groups.
removeFriend($friend_guid)
Removes a user as a friend.
getFriendsObjects($options=array(), $limit=10, $offset=0)
Get an array of ElggObjects owned by this user's friends.
isAdmin()
Is this user admin?
removeFromSite($site)
Remove this user from a particular site.
$CONFIG language
The current language for either the site or the user.
getSites($options="", $limit=10, $offset=0)
Get sites that this user is a member of.
removeAdmin()
Remove the admin flag for user.
isBanned()
Is this user banned or not?
elgg_get_entities_from_relationship($options)
Return entities matching a given query joining against a relationship.
countObjects($subtype="")
Counts the number of ElggObjects owned by this user.
$user_guid
Avatar remove action.
$language
$vars['language'] $vars['lc'] if present, client will be sent long expires headers ...
getCollections($subtype="", $limit=10, $offset=0)
Get the collections associated with a user.
_elgg_cache_entity(ElggEntity $entity)
Cache an entity.
elgg_get_logged_in_user_guid()
Return the current logged in user by guid.
get_user_sites($user_guid, $limit=10, $offset=0)
Get the sites this user is part of.
remove_user_admin($user_guid)
Removes user $guid's admin flag.
isFriendsWith($user_guid)
Determines whether this user is friends with another user.
setDisplayName($displayName)
{}
if(file_exists($welcome)) $vars