Package TWiki::User
A User object is an internal representation of a user in the real world.
The object knows about users having login names, wiki names, personal
topics, and email addresses.
Groups are also handled here. A group is really a subclass of a user,
in that it is a user with a set of users within it.
The User package also provides methods for managing the passwords of the
user.
ClassMethod new ($session,$loginname,$wikiname)
Construct a new user object for the given login name, wiki name.
The wiki name can either be a wiki word or it can be a web-
qualified wiki word. If the wiki name is not web qualified, the
user is assumed to have their home topic in the
$TWiki::cfg{UsersWebName} web.
ObjectMethod wikiName () -> $wikiName
Return the wikiname of the user (without the web!)
ObjectMethod webDotWikiName () -> $webDotWiki
Return the fully qualified wikiname of the user
Return the login name of the user
Return the registration web of the user
Test is this is the same user as another user object
Generate a string representation of this object, suitable for debugging
ObjectMethod passwordExists () -> $boolean
Checks to see if there is an entry in the password system
Return '1' if true, '' if not
ObjectMethod checkPassword ($password) -> $boolean
used to check the user's password
$password
unencrypted password
$success
'1' if success
TODO: need to improve the error mechanism so
TWikiAdmins? know what failed
ObjectMethod removePassword () -> $boolean
Used to remove the user and password from the password system.
Returns true if success
ObjectMethod changePassword ($user,$oldUserPassword,$newUserPassword) -> $boolean
used to change the user's password
$oldUserPassword
unencrypted password
$newUserPassword
unencrypted password
undef if success, error message otherwise
ObjectMethod addPassword ($newPassword) -> $boolean
creates a password entry
$newUserPassword
unencrypted password
'1' if success
TODO: need to improve the error mechanism so
TWikiAdmins? know what failed
ObjectMethod resetPassword () -> $newPassword
Reset the users password, returning the new generated password.
ObjectMethod emails () -> @emailAddress
If this is a user, return their email addresses. If it is a group,
return the addresses of everyone in the group.
ObjectMethod setEmails ($user,@emails)
Fetch the email address(es) for the given username
True if the user is an admin (is a member of the $TWiki::cfg{SuperAdminGroup})
Get a list of user objects for the groups a user is in
ObjectMethod isInList ($list) -> $boolean
Return true we are in the list of user objects passed.
$list is a string representation of a user list.
Test if this is a group user or not
ObjectMethod groupMembers () -> @members
Return a list of user objects that are members of this group. Should only be
called on groups.