Skip to content

USERS Module

Jurek Muszyński edited this page Apr 6, 2018 · 76 revisions

In order to use USERS module, you need to have a MySQL database and the following tables in it:

-- ----------------------------------------------------------------------------
-- User tables
-- ----------------------------------------------------------------------------

-- users

create table users (
    id integer auto_increment primary key,
    login char(30) character set utf8 not null,
    email char(120) character set utf8,
    name char(60) character set utf8,
    passwd1 char(30) not null,
    passwd2 char(30) not null,
    about char(250) character set utf8,
    status tinyint not null,    -- 0 = created, 1 = mail sent, 2 = mail confirmed, 3 = locked, 4 = pswd reset link sent
    created datetime not null,
    last_login datetime,
    visits integer not null,
    settings integer not null,
    ula_time datetime,          -- unsuccessful login attempt time
    ula_cnt integer not null,   -- and count
    deleted char(1) not null    -- 'Y' / 'N'
);

create index users_login on users (login);
create index users_email on users (email);


-- user settings

create table users_settings (
    user_id integer,
    us_key char(15),
    us_val char(60) character set utf8,
    primary key (user_id, us_key)
);


-- user logins

create table users_logins (
    ip char(15),
    uagent char(120),
    sesid char(15),
    user_id integer not null,
    created datetime not null,
    last_used datetime not null,
    primary key (ip, uagent, sesid)
);


-- password resets

create table users_p_resets (
    user_id integer,
    linkkey char(30),
    created datetime not null,
    primary key (user_id, linkkey)
);


-- messages

create table users_messages (
    user_id integer,
    msg_id integer,
    email char(120) character set utf8,
    message text character set utf8 not null default '',    -- 64 kB limit
    created datetime not null,
    primary key (user_id, msg_id)
);

Then of course, both DBMYSQL and USERS compilation switches must be present.

Clone this wiki locally