wiki-archive/twiki/data/TWiki/TWikiUserDotPm.txt

159 lines
3.4 KiB
Plaintext

---+ 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.
%TOC%
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* <tt>($session,$loginname,$wikiname)</tt>
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* <tt>() -> $wikiName</tt>
Return the wikiname of the user (without the web!)
---++ ObjectMethod *webDotWikiName* <tt>() -> $webDotWiki</tt>
Return the fully qualified wikiname of the user
---++ ObjectMethod *login* <tt>() -> $loginName</tt>
Return the login name of the user
---++ ObjectMethod *web* <tt>() -> $webName</tt>
Return the registration web of the user
---++ ObjectMethod *equals* <tt>() -> $boolean</tt>
Test is this is the same user as another user object
---++ ObjectMethod *stringify* <tt>() -> $string</tt>
Generate a string representation of this object, suitable for debugging
---++ ObjectMethod *passwordExists* <tt>() -> $boolean</tt>
Checks to see if there is an entry in the password system
Return '1' if true, '' if not
---++ ObjectMethod *checkPassword* <tt>($password) -> $boolean</tt>
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* <tt>() -> $boolean</tt>
Used to remove the user and password from the password system.
Returns true if success
---++ ObjectMethod *changePassword* <tt>($user,$oldUserPassword,$newUserPassword) -> $boolean</tt>
used to change the user's password
=$oldUserPassword= unencrypted password
=$newUserPassword= unencrypted password
undef if success, error message otherwise
---++ ObjectMethod *addPassword* <tt>($newPassword) -> $boolean</tt>
creates a password entry
=$newUserPassword= unencrypted password
'1' if success
TODO: need to improve the error mechanism so TWikiAdmins know what failed
---++ ObjectMethod *resetPassword* <tt>() -> $newPassword</tt>
Reset the users password, returning the new generated password.
---++ ObjectMethod *emails* <tt>() -> @emailAddress</tt>
If this is a user, return their email addresses. If it is a group,
return the addresses of everyone in the group.
---++ ObjectMethod *setEmails* <tt>($user,@emails)</tt>
Fetch the email address(es) for the given username
---++ ObjectMethod *isAdmin* <tt>() -> $boolean</tt>
True if the user is an admin (is a member of the $TWiki::cfg{SuperAdminGroup})
---++ ObjectMethod *getGroups* <tt>() -> @groups</tt>
Get a list of user objects for the groups a user is in
---++ ObjectMethod *isInList* <tt>($list) -> $boolean</tt>
Return true we are in the list of user objects passed.
$list is a string representation of a user list.
---++ ObjectMethod *isGroup* <tt>() -> $boolean</tt>
Test if this is a group user or not
---++ ObjectMethod *groupMembers* <tt>() -> @members</tt>
Return a list of user objects that are members of this group. Should only be
called on groups.