• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.

XF 1.5 Modified User Upgrade not expiring properly

Beanjam

Active member
#1
I have a User Upgrade that originally promoted the user to only one secondary group.

Recently I added another secondary group (2 groups in total) to the upgrade, and manually added all currently upgraded users to that new group as well.

I noticed when upgrades are expiring they are being removed from the original group, but are not removed from that additional group I added them to, even though it's in the upgrade settings.

Is there anything I can do to make this happen automatically?
 

Mike

XenForo developer
Staff member
#2
Since you manually added the group, it's not recorded as being a change made by the upgrade so it won't be removed automatically. Unfortunately, the only real way to sort that involves a downgrade and a re-upgrade.
 

Beanjam

Active member
#3
Is there a way to properly batch downgrade/upgrade?

Or is there a database edit I can do to record the change?

If not, perhaps I'll attempt to make a cron job to clean this up nightly. It's such a simple process to manually batch update them, but I can't see a easy way to schedule something like that.
 

Beanjam

Active member
#4
Since you manually added the group, it's not recorded as being a change made by the upgrade so it won't be removed automatically. Unfortunately, the only real way to sort that involves a downgrade and a re-upgrade.
It looks like the upgrade group data is stored in the xf_user_group_change table, is that correct? In that case, will changing the group_ids on the appropriate user_ids & change_keys (userUpgrade-#) fix the downgrading problem?

I can see users in there since the changes came in that have the additional group listed, so assume all I need to do is make the other previous upgrades the same.
 

Mike

XenForo developer
Staff member
#5
That's correct and if you manually put them in the group and change that, it will likely solve the issue. (Though that's not going to be an approach I would officially recommend.)