trigger_error('SERVICE_UNAVAILABLE'); } $content = request_var('content', ''); $forum_ids = request_var('f', array(0)); $topic_id = request_var('t', 0); $include_subforums = request_var('sub', false); $cat = request_var('cat', false); $syndication_method = request_var('format', ''); $number_items = request_var('items', (int) $config['syndication_items']); $global = $content != 'topic_posts' ? request_var('global', false) : false; $folder = request_var('folder', ''); $http_auth = isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW']) ? true : false; // do we have a guest and HTTP AUTH present? if (($http_auth || $content == 'pm') && $user->data['user_id'] == ANONYMOUS) { if ($http_auth) { phpbb_login(); } else { http_auth(); } } // do not exceed the limit $number_items > $config['syndication_items'] || $number_items < 0 ? $number_items = (int) $config['syndication_items'] : ''; $syndication_method = parse_format($syndication_method); switch ($content) { case 'pm': if (!$config['allow_privmsg'] || !$auth->acl_get('u_readpm')) { $user->add_lang('ucp'); trigger_error('PM_DISABLED'); } switch ($folder) { case PRIVMSGS_INBOX:
function phpbb_register(&$registration_details) { global $settings, $db, $phpbb_db; $settings = get_settings(); if (!($phpbb_db = phpbb_connect())) { return; } $additional_groups = get_additional_groups($settings['group_id']); // Find unique username in phpBB $username = $registration_details['username']; $i = ''; while ($phpbb_db->get_var($sql = "SELECT user_id FROM {$settings['db']}users WHERE username = '******'")) { $i++; } $username = $db->escape($username . $i); $password = md5($registration_details['password']); $user_id = $db->get_var($sql = "SELECT user_phpbb FROM " . table_users . " WHERE user_id = '{$registration_details['id']}'"); $user_type = 0; $group_colour = $db->escape($phpbb_db->get_var($sql = "SELECT group_colour FROM {$settings['db']}groups WHERE group_id = '{$settings['group_id']}'")); $bb_config = get_phpbb_settings(); if (!$user_id) { $user_id = $phpbb_db->get_var($sql = "SELECT MAX(user_id) FROM {$settings['db']}users"); $user_id++; $phpbb_db->query($sql = "INSERT INTO {$settings['db']}users\n\t\t\t\t\t\t\t(user_id,\n\t\t\t\t\t\t\tuser_type,\n\t\t\t\t\t\t\tgroup_id,\n\t\t\t\t\t\t\tuser_ip,\n\t\t\t\t\t\t\tuser_regdate,\n\t\t\t\t\t\t\tusername,\n\t\t\t\t\t\t\tusername_clean,\n\t\t\t\t\t\t\tuser_password,\n\t\t\t\t\t\t\tuser_email,\n\t\t\t\t\t\t\tuser_email_hash,\n\t\t\t\t\t\t\tuser_timezone,\n\t\t\t\t\t\t\tuser_style,\n\t\t\t\t\t\t\tuser_lang,\n\t\t\t\t\t\t\tuser_dateformat,\n\t\t\t\t\t\t\tuser_colour\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\tVALUES\n\t\t\t\t\t\t\t('{$user_id}',\n\t\t\t\t\t\t\t'{$user_type}',\n\t\t\t\t\t\t\t'{$settings['group_id']}',\n\t\t\t\t\t\t\t'{$_SERVER[REMOTE_ADDR]}',\n\t\t\t\t\t\t\tUNIX_TIMESTAMP(NOW()),\n\t\t\t\t\t\t\t'{$username}',\n\t\t\t\t\t\t\t'" . strtolower($username) . "',\n\t\t\t\t\t\t\t'{$password}',\n\t\t\t\t\t\t\t'{$registration_details['email']}',\n\t\t\t\t\t\t\t'" . crc32(strtolower($registration_details['email'])) . strlen($registration_details['email']) . "',\n\t\t\t\t\t\t\t'{$bb_config['board_timezone']}',\n\t\t\t\t\t\t\t'{$bb_config['default_style']}',\n\t\t\t\t\t\t\t'{$bb_config['default_lang']}',\n\t\t\t\t\t\t\t'{$bb_config['default_dateformat']}',\n\t\t\t\t\t\t\t'{$group_colour}')\n\t\t\t\t\t"); $phpbb_db->query("UPDATE {$settings['db']}config SET config_value = '{$username}' WHERE config_name = 'newest_username'"); $phpbb_db->query("UPDATE {$settings['db']}config SET config_value = '{$user_id}' WHERE config_name = 'newest_user_id'"); $phpbb_db->query("UPDATE {$settings['db']}config SET config_value = config_value + 1 WHERE config_name = 'num_users'"); $phpbb_db->query("UPDATE {$settings['db']}config SET config_value = '{$group_colour}' WHERE config_name = 'newest_user_colour'"); $db->query("UPDATE " . table_users . " SET user_phpbb='{$user_id}' WHERE user_id='{$registration_details['id']}'"); } else { if ($registration_details['password']) { $setpass = "******"; } $phpbb_db->query($sql = "UPDATE {$settings['db']}users SET\n\t\t\t\t\t\tuser_type = '{$user_type}',\n\t\t\t\t\t\tgroup_id = '{$settings['group_id']}',\n\t\t\t\t\t\t{$setpass}\n\t\t\t\t\t\tuser_email = '{$registration_details['email']}',\n\t\t\t\t\t\tuser_email_hash = '" . crc32(strtolower($registration_details[email])) . strlen($registration_details[email]) . "',\n\t\t\t\t\t\tuser_colour = '{$group_colour}'\n\t\t\t\t\t\tWHERE user_id = '{$user_id}'"); } phpbb_update_groups($user_id, $additional_groups); // Login after registration global $username, $password, $persistent; $persistent = 0; phpbb_login(); }