Vend::UserDB(3pm)
NAME
UserDB.pm -- Interchange User Database Functions
SYNOPSIS
userdb $function, %options
DESCRIPTION
The Interchange user database saves information for users, including
shipping, billing, and preference information. It allows the user to
return to a previous session without the requirement for a "cookie" or
other persistent session information.
It is object-oriented and called via the [userdb] usertag, which calls
the userdb subroutine.
It restores and manipulates the form values normally stored in the user
session values -- the ones set in forms and read through the "[value
variable]" tags. A special function allows saving of shopping cart
contents.
The preference, billing, and shipping information is keyed so that
different sets of information may be saved, providing and
"address_book" function that can save more than one shipping and/or
billing address. The set to restore is selected by the form values
"s_nickname", "b_nickname", and "p_nickname".
METHODS
- User login:
- $obj->login(); # Form values are
# mv_username, mv_password
- Create account:
$obj->new_account(); # Form values are# mv_username, mv_password, mv_verify- Change password:
$obj->change_pass(); # Form values are# mv_username, mv_password_old, mv_password, mv_verify(new)- Get, set user information:
$obj->get_values();
$obj->set_values();
$obj->clear_values();- Save, restore filed user information:
$obj->get_shipping();
$obj->set_shipping();- $obj->get_billing();
$obj->set_billing(); - $obj->get_preferences();
$obj->set_preferences(); - $obj->get_cart();
$obj->set_cart(); - Shipping Address Book
- The shipping address book saves information relevant to shipping the
order. In its simplest form, this can be the only address book needed. By default these form values are included:
s_nickname
name
address
city
state
zip
country
phone_day
mv_shipmode - The values are saved with the $obj->set_shipping() method and restored
with $obj->get_shipping. A list of the keys available is kept in the
form value "address_book", suitable for iteration in an HTML select box or in a set of links. - Accounts Book
- The accounts book saves information relevant to billing the order. By
default these form values are included:
b_nickname
b_name
b_address
b_city
b_state
b_zip
b_country
b_phone
mv_credit_card_type
mv_credit_card_exp_month
mv_credit_card_exp_year
mv_credit_card_reference - The values are saved with the $obj->set_billing() method and restored
with $obj->get_billing. A list of the keys available is kept in the
form value "accounts", suitable for iteration in an HTML select box or in a set of links. - Preferences
- Preferences are miscellaneous session information. They include by
default the fields "email", "fax", "phone_night", and "fax_order". The field "p_nickname" acts as a key to select the preference set. - Locations
- There are several database locations that have special purposes. These fields are not saved as user values.
- USERNAME default: username
The username or key field of the database table.
- BILLING default: accounts
Billing address hash field.
- SHIPPING default: address_book
Shipping address hash field.
- PREFERENCES default: preferences
Miscellaneous information hash field.
- FEEDBACK default: feedback
Customer feedback hash field.
- PRICING default: price_level
Customer pricing level marker.
- CARTS default: carts
Saved carts hash field.
- PASSWORD default: password
Customer password info. If "crypt" is set, may be encrypted.
- LAST default: mod_time
Last login time
- EXPIRATION default: expiration
Expiration of account.
- OUTBOARD_KEY default: (none)
Key information for linking to another table of address or other
info. - GROUPS default: groups
Groups they should be logged into.
- SUPER default: super
Whether they are a superuser (admin).
- ACL default: acl
FILE_ACL default: file_acl
DB_ACL default: db_aclLocation of access control information. - CREATED_DATE_ISO default: (none)
CREATED_DATE_UNIX default: (none)
UPDATED_DATE_ISO default: (none)
UPDATED_DATE_UNIX default: (none)Date fields. - MERGED_USER default: (none)
The user id of another account this was merged into. If present,
and data (should be a valid user id) is present in the field, the
user will be logged as that username.