I added two such lines am still getting another error. Since its run as a hook I am not sure what line in the code exactly is giving me the issue, but the changed code is now:
PHP Code:
if ($vbulletin->GPC['userid'])
{
$usernote_message = '';
function fetch_usergroup_title($usergroupid)
{
global $vbulletin;
return $vbulletin->usergroupcache["$usergroupid"]['title'];
}
//////////// Check for Primary Group Change ////////////
if ($vbulletin->GPC['user']['usergroupid'] != $userinfo['usergroupid'])
{
$usernote_message .= construct_phrase($vbphrase['primary_group_changed_x_to_y'],substr(fetch_usergroup_title($userinfo['usergroupid']), 16),substr(fetch_usergroup_title($vbulletin->GPC['user']['usergroupid']), 16));
}
/////////// Check for Member (Secondary) Group Change ////////////
// Find NEW member group IDs (Added Member Groups)
$addedmembergroupids = array();
foreach ($vbulletin->GPC['user']['membergroupids'] AS $newmembergroupid)
{
if (!in_array( $newmembergroupid, explode(',', $userinfo['membergroupids']) ) )
{
$addedmembergroupids[] = $newmembergroupid;
}
}
// Find OLD member group IDs (Removed Member Groups)
$removedmembergroupids = array();
foreach (explode(',', $userinfo['membergroupids']) AS $oldmembergroupid)
{
if (intval($oldmembergroupid) AND !in_array( $oldmembergroupid, $vbulletin->GPC['user']['membergroupids'] ))
{
$removedmembergroupids[] = $oldmembergroupid;
}
}
foreach ($addedmembergroupids AS $membergroupid)
{
$usernote_message .= construct_phrase($vbphrase['added_to_secondary_group_x'],substr(fetch_usergroup_title($membergroupid), 16));
}
foreach ($removedmembergroupids AS $membergroupid)
{
$usernote_message .= construct_phrase($vbphrase['removed_from_secondary_group_x'],substr(fetch_usergroup_title($membergroupid), 16));
}
// If we have a message then something was changed, create the log entry
if ($usernote_message != '')
{
//Insert a new usernote
$db->query_write("
INSERT INTO " . TABLE_PREFIX . "usernote
(message, dateline, userid, posterid, title, allowsmilies)
VALUES ('" . $db->escape_string($usernote_message) . "', " . TIMENOW . ", ".$userinfo['userid'].", " . $vbulletin->userinfo['userid'] . ", '".$db->escape_string($vbphrase['usergroup_changed'])."', 1)
");
}
}
Also, thanks for the help kh99!
EDIT: I think I narrow it down. It gives me:
Warning: Invalid argument supplied for foreach() in [path]/admincp/user.php(1076) : eval()'d code on line 21
Which I think is this line:
PHP Code:
foreach ($vbulletin->GPC['user']['membergroupids'] AS $newmembergroupid)