This is a code i found into the socialengine's plugin.
// THIS METHOD CREATES A FORUM USER WITH THE SAME USERNAME AS THE CURRENT USER
// INPUT:
// OUTPUT:
function forum_user_create() {
global $db, $board_config;
// GET NEXT USER ID
$row = $db->sql_fetchrow($db->sql_query("SELECT MAX(user_id) AS max_user_id FROM " . USERS_TABLE));
$forum_user_id = $row['max_user_id'] + 1;
// ENCRYPT PASSWORD
$password_md5 = md5(randomcode());
// SET DEFAULT VALUES FOR SOME VARIABLES
$viewemail = FALSE;
$allowviewonline = TRUE;
$notifyreply = FALSE;
$notifypm = TRUE;
$popup_pm = TRUE;
$attachsig = $board_config['allow_sig'];
$allowhtml = $board_config['allow_html'];
$allowbbcode = $board_config['allow_bbcode'];
$allowsmilies = $board_config['allow_smilies'];
$user_style = $board_config['default_style'];
$user_dateformat = $board_config['default_dateformat'];
$user_timezone = $board_config['board_timezone'];
$user_lang = $board_config['default_lang'];
// BEGIN PHPBB2 INSERT
$db->sql_query("INSERT INTO " . USERS_TABLE . "(user_id,
username,
user_regdate,
user_password,
user_email,
user_viewemail,
user_attachsig,
user_allowsmile,
user_allowhtml,
user_allowbbcode,
user_allow_viewonline,
user_notify,
user_notify_pm,
user_popup_pm,
user_timezone,
user_dateformat,
user_lang,
user_style,
user_level,
user_allow_pm,
user_active,
user_actkey
) VALUES (
'$forum_user_id',
'".$this->user_info[user_username]."',
'".time()."',
'$password_md5',
'".$this->user_info[user_email]."',
'$viewemail',
'$attachsig',
'$allowsmilies',
'$allowhtml',
'$allowbbcode',
'$allowviewonline',
'$notifyreply',
'$notifypm',
'$popup_pm',
'$user_timezone',
'".str_replace("\'", "''", $user_dateformat)."',
'".str_replace("\'", "''", $user_lang)."',
'$user_style',
0,
1,
1,
'')");