NAME
Konstrukt::Plugin::usermanagement::personal - Personal information about the user.
SYNOPSIS
Tag interface
<& usermanagement::personal / &>
Perl interface
#get some data:
my $user_personal = use_plugin 'usermanagement::personal' or die;
$user_personal->firstname();
$user_personal->homepage();
...
DESCRIPTION
This plugin offers functionality to let each user manage some personal data of itself.
If the HTTP parameter id
is set, the personal information page of the user with that id will be shown.
Otherwise a form to change the personal information of the user, which is currently logged in, will be shown.
DEPENDENCIES
This plugin create a new entry for every newly registered user and deletes it when the user deregisters.
To know when a user (de)registers, this plugin has to register itself for the registered
and deregistered
events, that the basic usermanagement plugin fires.
So this plugin must be initialized before the basic user management plugin is executed. For this to happen, you can preload this plugin like this on the page, where the basic usermanagement is executed:
<& perl &>
#preload plugins, which will react on events (register, deregister)
use_plugin 'usermanagement::personal';
<& / &>
<& usermanagement::basic show="login, changepass, register, sendpass" / &>
CONFIGURATION
You have to do some konstrukt.settings-configuration to let the plugin know where to get its data and which layout to use. Defaults:
#backend
usermanagement/basic/backend DBI
See the documentation of the backend modules (e.g. "CONFIGURATION" in Konstrukt::Plugin::usermanagement::basic::DBI) for their configuration.
#layout
usermanagement/personal/template_path /templates/usermanagement/personal/
METHODS
init
Initializes this object. Sets $self->{backend} and $self->{template_path}
init()
will be called the first time this plugin is needed each request.
install
Installs the templates.
Parameters:
none
execute_again
Yes, this plugin may return dynamic nodes (i.e. template nodes).
prepare
Prepare method
Parameters:
$tag - Reference to the tag (and its children) that shall be handled.
execute
Execute method
Parameters:
$tag - Reference to the tag (and its children) that shall be handled.
data
Returns all relevant user data as an anonymous hash, if uid exists:
{ nick => .., firstname => .., lastname => .., sex => ..,
birth_year => .., birth_month => .., birth_day => ..,
email => .., jabber => .., icq => .., aim => .., msn => .., yahoo => .., homepage => ...}
Returns an empty hash if the uid doesn't exist.
Parameters (optional):
$uid - The user id (optional)
get
Returns a specified personal information field for a specified user, if the uid exists, undef otherwise.
Parameters:
$uid - The user ID
$field - The requested personal information field, e.g. "firstname", "nick", ...
get wrappers
For an easier access to the data fields of an user you may also use these wapper methods:
firstname($uid)
lastname($uid)
nick($uid)
sex($uid)
birth_year($uid)
birth_month($uid)
birth_day($uid)
jabber($uid)
icq($uid)
aim($uid)
msn($uid)
yahoo($uid)
homepage($uid)
set
Sets the data specified in the passed hash in the database
Parameters:
$uid - The user ID
$data - Hashreference with the data that should be set: { firstname => .., nick => .., ... }
new_user
Creates a new entry for the given user id.
Parameters:
$uid - The user ID
del_user
Deletes an entry with the given user id.
Parameters:
$uid - The user ID
show
Shows the personal information of the user, whose id has been specified via HTTP, or of the current user, if no user id is specified. Only the user itself may change the user data.
Displays the form with the personal user information.
change
Changes the personal information specified in an HTTP POST request.
Returns a confirmation of the successful userdata change or error messages otherwise.
AUTHOR
Copyright 2006 Thomas Wittek (mail at gedankenkonstrukt dot de). All rights reserved.
This document is free software. It is distributed under the same terms as Perl itself.
SEE ALSO
Konstrukt::Plugins::usermanagement::personal::DBI, Konstrukt::Plugin, Konstrukt