mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 06:08:52 +00:00
- fixed a referencing problem with objects (PHP4/5 conflict)
- user_group_auth can take data from both target and source database git-svn-id: file:///svn/phpbb/trunk@7002 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
parent
0af3306ee4
commit
b0d453098b
3 changed files with 24 additions and 10 deletions
|
@ -1066,7 +1066,7 @@ function add_user_group($group_id, $user_id, $group_leader=false)
|
||||||
* @param string $group The name of the special group to add to
|
* @param string $group The name of the special group to add to
|
||||||
* @param string $select_query An SQL query to retrieve the user(s) to add to the group
|
* @param string $select_query An SQL query to retrieve the user(s) to add to the group
|
||||||
*/
|
*/
|
||||||
function user_group_auth($group, $select_query)
|
function user_group_auth($group, $select_query, $use_src_db)
|
||||||
{
|
{
|
||||||
global $convert, $phpbb_root_path, $config, $user, $db, $src_db, $same_db;
|
global $convert, $phpbb_root_path, $config, $user, $db, $src_db, $same_db;
|
||||||
|
|
||||||
|
@ -1089,7 +1089,7 @@ function user_group_auth($group, $select_query)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($same_db)
|
if ($same_db || !$use_src_db)
|
||||||
{
|
{
|
||||||
$sql = 'INSERT INTO ' . USER_GROUP_TABLE . ' (user_id, group_id, user_pending)
|
$sql = 'INSERT INTO ' . USER_GROUP_TABLE . ' (user_id, group_id, user_pending)
|
||||||
' . str_replace('{' . strtoupper($group) . '}', $group_id . ', 0', $select_query);
|
' . str_replace('{' . strtoupper($group) . '}', $group_id . ', 0', $select_query);
|
||||||
|
|
|
@ -698,22 +698,22 @@ function phpbb_convert_authentication($mode)
|
||||||
|
|
||||||
if ($mode == 'start')
|
if ($mode == 'start')
|
||||||
{
|
{
|
||||||
user_group_auth('guests', 'SELECT user_id, {GUESTS} FROM ' . USERS_TABLE . ' WHERE user_id = ' . ANONYMOUS);
|
user_group_auth('guests', 'SELECT user_id, {GUESTS} FROM ' . USERS_TABLE . ' WHERE user_id = ' . ANONYMOUS, false);
|
||||||
user_group_auth('registered', 'SELECT user_id, {REGISTERED} FROM ' . USERS_TABLE . ' WHERE user_id <> ' . ANONYMOUS);
|
user_group_auth('registered', 'SELECT user_id, {REGISTERED} FROM ' . USERS_TABLE . ' WHERE user_id <> ' . ANONYMOUS, false);
|
||||||
|
|
||||||
// Selecting from old table
|
// Selecting from old table
|
||||||
$auth_sql = 'SELECT ';
|
$auth_sql = 'SELECT ';
|
||||||
$auth_sql .= (!empty($config['increment_user_id'])) ? 'user_id + 1 as user_id' : 'user_id';
|
$auth_sql .= (!empty($config['increment_user_id'])) ? 'user_id + 1 as user_id' : 'user_id';
|
||||||
$auth_sql .= ', {ADMINISTRATORS} FROM ' . $convert->src_table_prefix . 'users WHERE user_level = 1';
|
$auth_sql .= ', {ADMINISTRATORS} FROM ' . $convert->src_table_prefix . 'users WHERE user_level = 1';
|
||||||
|
|
||||||
user_group_auth('administrators', $auth_sql);
|
user_group_auth('administrators', $auth_sql, true);
|
||||||
|
|
||||||
// Put administrators into global moderators group too...
|
// Put administrators into global moderators group too...
|
||||||
$auth_sql = 'SELECT ';
|
$auth_sql = 'SELECT ';
|
||||||
$auth_sql .= (!empty($config['increment_user_id'])) ? 'user_id + 1 as user_id' : 'user_id';
|
$auth_sql .= (!empty($config['increment_user_id'])) ? 'user_id + 1 as user_id' : 'user_id';
|
||||||
$auth_sql .= ', {GLOBAL_MODERATORS} FROM ' . $convert->src_table_prefix . 'users WHERE user_level = 1';
|
$auth_sql .= ', {GLOBAL_MODERATORS} FROM ' . $convert->src_table_prefix . 'users WHERE user_level = 1';
|
||||||
|
|
||||||
user_group_auth('global_moderators', $auth_sql);
|
user_group_auth('global_moderators', $auth_sql, true);
|
||||||
}
|
}
|
||||||
else if ($mode == 'first')
|
else if ($mode == 'first')
|
||||||
{
|
{
|
||||||
|
|
|
@ -407,7 +407,7 @@ class install_convert extends module
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$src_dbpasswd = htmlspecialchars_decode($src_dbpasswd);
|
$src_dbpasswd = htmlspecialchars_decode($src_dbpasswd);
|
||||||
$connect_test = connect_check_db(true, $error, $available_dbms[$src_dbms], false, $src_dbhost, $src_dbuser, $src_dbpasswd, $src_dbname, $src_dbport, ($src_dbms == $dbms) ? false : true);
|
$connect_test = connect_check_db(true, $error, $available_dbms[$src_dbms], $src_table_prefix, $src_dbhost, $src_dbuser, $src_dbpasswd, $src_dbname, $src_dbport, true, ($src_dbms == $dbms) ? false : true);
|
||||||
}
|
}
|
||||||
|
|
||||||
// The forum prefix of the old and the new forum can only be the same if two different databases are used.
|
// The forum prefix of the old and the new forum can only be the same if two different databases are used.
|
||||||
|
@ -421,7 +421,7 @@ class install_convert extends module
|
||||||
{
|
{
|
||||||
// initiate database connection to old db if old and new db differ
|
// initiate database connection to old db if old and new db differ
|
||||||
global $src_db, $same_db;
|
global $src_db, $same_db;
|
||||||
$src_db = $same_db = null;
|
$src_db = $same_db = false;
|
||||||
|
|
||||||
if ($src_dbms != $dbms || $src_dbhost != $dbhost || $src_dbport != $dbport || $src_dbname != $dbname || $src_dbuser != $dbuser)
|
if ($src_dbms != $dbms || $src_dbhost != $dbhost || $src_dbport != $dbport || $src_dbname != $dbname || $src_dbuser != $dbuser)
|
||||||
{
|
{
|
||||||
|
@ -432,7 +432,14 @@ class install_convert extends module
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$src_db = &$db;
|
if (version_compare(PHP_VERSION, '5.0.0-dev', '<'))
|
||||||
|
{
|
||||||
|
$src_db = &$db;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$src_db = $db;
|
||||||
|
}
|
||||||
$same_db = true;
|
$same_db = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -660,7 +667,14 @@ class install_convert extends module
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$src_db = &$db;
|
if (version_compare(PHP_VERSION, '5.0.0-dev', '<'))
|
||||||
|
{
|
||||||
|
$src_db = &$db;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$src_db = $db;
|
||||||
|
}
|
||||||
$same_db = true;
|
$same_db = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue