Nä, du verkar ha en modd, mina ser ut så här:
Kod: Markera allt
if (sizeof($group_user))
{
$sql = "UPDATE " . USERS_TABLE . "
SET user_level = " . USER . "
WHERE user_id IN (" . implode(', ', $group_user) . ") AND user_level = " . MOD;
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not update user level', '', __LINE__, __FILE__, $sql);
}
}
message_die(GENERAL_MESSAGE, $message);
}
}
else if ( ( $mode == 'user' && ( isset($HTTP_POST_VARS['username']) || $user_id ) ) || ( $mode == 'group' && $group_id ) )
{
if ( isset($HTTP_POST_VARS['username']) )
{
$this_userdata = get_userdata($HTTP_POST_VARS['username'], true);
if ( !is_array($this_userdata) )
{
message_die(GENERAL_MESSAGE, $lang['No_such_user']);
}
$user_id = $this_userdata['user_id'];
}
Ok, jag tror att det kan bero på att inte alla dina användare har tillordnats en grupp (det måste de vara).
Prova detta skript
http://www.phpbb.com/phpBB/viewtopic.ph ... highlight=
Kod: Markera allt
<?php
//***** check users and user groups ****//
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'includes/functions_search.'.$phpEx);
// Start session management
$userdata = session_pagestart($user_ip, PAGE_SEARCH);
init_userprefs($userdata);
// End session management
$sql = "SELECT user_id, username
FROM " . USERS_TABLE ."
WHERE user_id > 0";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain user list', '', __LINE__, __FILE__, $sql);
}
$liste ='';
while ( $row = $db->sql_fetchrow($result) )
{
$username = $row['username'];
$user_id = $row['user_id'];
$usergroup = '';
$sql1 = "SELECT ug.group_id
FROM " . USER_GROUP_TABLE ." ug, ". GROUPS_TABLE. " g
WHERE ug.user_id = $user_id
AND ug.group_id = g.group_id
AND g.group_single_user = 1
";
if ( ($result1 = $db->sql_query($sql1)) )
{
$row1 = $db->sql_fetchrow($result1);
$usergroup =( ( $row1['group_id'] != '' ) ? $row1['group_id'] : 'User has no user group'.$row1 );
}
if (!($row1['group_id'] != ''))
{
$sql2 = "SELECT MAX(group_id) AS total
FROM " . GROUPS_TABLE;
if ( !($result2 = $db->sql_query($sql2)) )
{
message_die(GENERAL_ERROR, 'Could not obtain next group_id information', '', __LINE__, __FILE__, $sq2l);
}
if ( !($row2 = $db->sql_fetchrow($result2)) )
{
message_die(GENERAL_ERROR, 'Could not obtain next group_id information', '', __LINE__, __FILE__, $sql2);
}
$group_id = $row2['total'] + 1;
$sql3 = "INSERT INTO " . GROUPS_TABLE . " (group_id, group_name, group_description, group_single_user, group_moderator)
VALUES ($group_id, '', 'Personal User', 1, 0)";
if ( !($result3 = $db->sql_query($sql3, BEGIN_TRANSACTION)) )
{
message_die(GENERAL_ERROR, 'Could not insert data into groups table', '', __LINE__, __FILE__, $sql3);
}
$sql4 = "INSERT INTO " . USER_GROUP_TABLE . " (user_id, group_id, user_pending)
VALUES ($user_id, $group_id, 0)";
if( !($result4 = $db->sql_query($sql4, END_TRANSACTION)) )
{
message_die(GENERAL_ERROR, 'Could not insert data into user_group table', '', __LINE__, __FILE__, $sql4);
}
$usergroup = $usergroup.', adding user group '.$group_id;
}
$liste .= ( ( $liste != '' ) ? '<br> ' : '' ) . $username.' <b>'.$usergroup.'</b>';
}
message_die(GENERAL_MESSAGE,'Users:<br>'.$liste);
?>
Glöm inte att göra backup av dina databas först!