Well there is some interesting code in admincp/adminpermissions.php...
PHP Code:
$user = $db->query_first("
SELECT administrator.*, IF(administrator.userid IS NULL, 0, 1) AS isadministrator,
user.userid, user.username
FROM " . TABLE_PREFIX . "user AS user
LEFT JOIN " . TABLE_PREFIX . "administrator AS administrator ON(administrator.userid = user.userid)
WHERE user.userid = " . $vbulletin->GPC['userid']
);
if (!$user)
{
print_stop_message('no_matches_found');
}
else if (!$user['isadministrator'])
{
// should this user have an administrator record??
$userinfo = fetch_userinfo($user['userid']);
cache_permissions($userinfo);
if ($userinfo['permissions']['adminpermissions'] & $vbulletin->bf_ugp_adminpermissions['cancontrolpanel'])
{
$admindm =& datamanager_init('Admin', $vbulletin, ERRTYPE_SILENT);
$admindm->set('userid', $userinfo['userid']);
$admindm->save();
unset($admindm);
}
else
{
print_stop_message('invalid_user_specified');
}
}
Not sure what it all means, but it's sure something to look at.