Just working out on the phpBB3.0 on the user registration integration with the main web site. Because of I plan to write the main web site using the coldfusion + MS SQL, so the only way as I may thinking of to do the integration is write a web service a like page for my coldfusion application to call.
After read through some forum, blog, web site and finally find out the way for the integration and here to share my simple PHPBB 3.0 user registration integration code.
< ?PHP define('IN_PHPBB', true); /* set scope for variables required later */ global $phpbb_root_path; global $phpEx; global $db; global $config; global $user; global $auth; global $cache; global $template; # your php extension $phpEx = substr(strrchr(__FILE__, '.'), 1); $phpbb_root_path = "../"; /* includes all the libraries etc. required */ require($phpbb_root_path ."common.php"); require($phpbb_root_path ."includes/functions_user.php"); $use-->session_begin(); $auth->acl($user->data); // username of the user being added $username = 'david'; // the user’s password, which is hashed before inserting into the data base $password = 'password'; // an email address for the user $email_address = 'firstname.lastname@example.org'; // since group IDs may change, you may want to use a query to make sure you are grabbing the // right default group... $group_name = ($coppa) ? 'REGISTERED_COPPA' : 'REGISTERED'; $sql = 'SELECT group_id FROM ' . GROUPS_TABLE . " WHERE group_name = '" . $db->sql_escape($group_name) . "' AND group_type = " . GROUP_SPECIAL; $result = $db->sql_query($sql); $row = $db->sql_fetchrow($result); $group_id = $row['group_id']; // timezone of the user... Based on GMT in the format of '-6', '-4', 3, 9 etc... $timezone = '8'; $language = 'zh_cmn_hans'; // here if the user is inactive and needs to activate thier account through an activation link // sent in an email we need to set the activation key for the user... (the goal is to get it about // 10 chars of randomization) you can use any randomization method you want, for this example, // I’ll use the following... $user_actkey = md5(rand(0, 100) . time()); $user_actkey = substr($user_actkey, 0, rand(8, 12)); // IP address of the user stored in the Data base. $user_ip = $user->ip; // registration time of the user, timestamp format. $registration_time = time(); // time since the user is inactive. timestamp. $user_inactive_time = time(); $user_row = array( 'username' => $username, 'user_password' => phpbb_hash($password), 'user_email' => $email_address, 'group_id' => (int) $group_id, 'user_timezone' => (float) $timezone, 'user_dst' => $is_dst, 'user_lang' => $language, 'user_type' => '0', 'user_actkey' => $user_actkey, 'user_ip' => $user_ip, 'user_regdate' => $registration_time, 'user_dateformat' => 'D M d, Y g:i a' ); $user_id = user_add($user_row); echo 'userid' . $user_id; ?>
Click here for PHP Cross Reference of Architecture PHPBB3
- Click to share on Twitter (Opens in new window)
- Click to share on Facebook (Opens in new window)
- Click to share on Tumblr (Opens in new window)
- Click to share on Google+ (Opens in new window)
- Click to share on Pinterest (Opens in new window)
- Click to share on Pocket (Opens in new window)
- Click to share on WhatsApp (Opens in new window)