For more information... RTFM!
NAVIGATION
PAGES THAT LINK HERE
ACCOUNT LOGIN

You are not logged in

Powered by Interchange version 5.7.0

UserDB

Sets parameters to adjust the behaviour of Interchange's user database handling facilities.

Synopsis

UserDB  label  parameter  value

You can set multiple values at once, all attached to the same label, by using the Perl-style "here document" syntax, as follows:

UserDB  label  <<EOU
    parameter1  value1
    parameter2  value2
EOU

You will usually want to set the "label" to "default".

Scope

This directive is only available for use in the local (catalog.cfg) configuration file.  It will not affect any other website in any way.  This directive will not work in the global (interchange.cfg) configuration file. 

Description

This directive allows you to override the parameters used to control the behaviour of Interchange's user account handling facilities.

Multiple parameters can be specified with a single call to the [userdb] tag.  For example:

[userdb userminlen=6 new_account=1]

The following parameters can be specified in the local (catalog.cfg) configuration file:

Parameter Description Default Versions
acl Set the column for simple access control storage. acl All
addr_field Set the column name for the user's alternate shipping address storage space. address_book All
assign_username Tell interchange to automatically assign username if one is not provided. 0 All
billing The list of columns that should be loaded and saved using the [userdb get_billing] and [userdb set_billing] functions, and also loaded and saved as usual (with [userdb save] etc.). User accounts book All
bill_field Set the column name for the user's alternate billing address storage space. accounts All
captcha Only allow a new account to be created if a valid Captcha code is provided 0 5.5.0+
cart_field Set the column name for cart storage. carts All
clear_cookie Comma-separated list of cookies to clear upon explicit logout. None All
clear_session Clear user session completely upon explicit logout. 0 All
constant This is similar to the "scratch" feature, below, except that it allows you to define values as immutable. None 5.5.0+
counter Counter file for the "assign_username" facility. etc/username.counter All
crypt Encrypt passwords if true. 1 All
database Sets the name of the user table in the database. userdb All
db_acl Set the column name for the database access control values. db_acl All
expire_field Set the column name for the account's expiration date. expiration All
extra_fields Space-separated list of names of values that, by default, will be stored as a stringified hash, in the "userdb" table's "preferences" column.  See the "pref_field" parameter, below. None 5.3.0+
file_acl Set the column name for the file access control values. db_acl All
force_lower Force possibly upper-case database column names to lower case. 0 All
ignore_case Switch off username and password case sensitivity. 0 All
indirect_login Set the column name to use for logins if different from the real username (perhaps "email"). 

Note

Note

If you use this parameter then you probably need to use assign_username as well.

None All
iso_time If true then the last login date and time will be written to the time_field will in ISO format, rather than as an integer representing the number of seconds since the epoch. 0 All
logfile File to which successful and unsuccessful authentication messages should be sent. error.log 5.1.0+
md5 Use MD5 for encryption instead of crypt. 0 All
no_get Don't get values from the "database" on login. 0 All
no_login When an account is created with [userdb new_account], the user is logged into that account.  This parameter prevents users from being automatically logged into newly created accounts. 0 All
outboard_key_col Set the column name that provides the key for outboard tables. None All
outboard Specify the columns that reside in another table. None All
pass_field Set the column name to use for user passwords. password All
passminlen Minimum length for passwords. 2 All
postlogin_action Specify a block of ITL or a comma or whitespace separated list of subroutines that should be run when a user registers or logs in. None All
preferences The list of columns that should be loaded and saved using the [userdb get_preferences] and [userdb set_preferences] functions, and also loaded and saved as usual (with [userdb save] etc.). User preferences All
pref_field Set the column name for the user's alternate preferences values. preferences All
pricing_field Specify a column that will hold the name of the Profile that applies to this user. price_level All
scratch Columns to set in the scratchpad instead of values space. None All
session_hash This is similar to the "scratch" parameter, above, except that the named userdb columns are expected to contain a text representation of a Perl hash, such as: 

{ 'foo' => 'bar' }

None 5.5.0+
shipping The list of columns that should be loaded and saved using the [userdb get_shipping] and [userdb set_shipping] functions, and also loaded and saved as usual (with [userdb save] etc.). User address book All
sql_counter SQL counter spec (sequence or AUTO_INCREMENT) for the "assign_username" facility. None All
super_field Set the column name that determines the user's superuser status if in an admin profile. super All
time_field Set the column name that will be used to store the "last login" time.  Also see the iso_time parameter. time All
unix_time Use UNIX times (seconds since 1970) in the log file. 0 All
userminlen Minimum length for usernames. 2 All
username_email If true then the username must look like an email address.  If you use this parameter then it is suggested that you also set the "ignore_case" parameter true. 0 5.5.0+
username_mask A regular expression that usernames must not match. None All
user_field Set the column name that holds login user names. username All
validchars Define a (case-sensitive) list of characters that are valid in usernames. 

The list may contain a hyphen (-) which denotes a range of characters, "a-z" means "a" through "z", for example.  A hyphen at the start or at the end of the list is just a plain hyphen, and not a range. 

If the list starts with a "^" character then list is taken to mean "characters that are not valid in usernames".
-A-Za-z0-9_@. 5.5.0+

Availability

Availability

"All versions" refers to Interchange 5.0.0 and above, as 5.0.0 is the baseline for the documentation on this website.  Most of the parameters marked "All" were available long before version 5.0.0 was released.

See also

Category:  Local config directives
Last modified by: Peter Ajamian
Modification date: Tuesday 20 October 2009 at 9:17 AM (EDT)
Home  |  Legal nonsense  |  Privacy policy  |  Contact us