XF 1.5 Changing User Upgrade from Permanent to Annual


Well-known member
I'm considering changing a User Upgrade that is currently Permanent to Annual (for length: 365 days) and affecting all current members of the usergroup.

Reading some relevant forum topics (eg. https://xenforo.com/community/threads/tricky-question-about-user-upgrades.102328/ and https://xenforo.com/community/threa...-it-still-demote-users-when-it-expires.46054/ ) I see that if I change the existing user upgrade it will not impact existing users - they'll remain as permanent.

So I'm thinking the current solution;
  • Create a new user upgrade for my annual length (it will also be recurring payments)
  • Disable the current permanent upgrade (untick 'Can be purchased')
  • Run an SQL query that will set an expiry date for the existing permanent upgrade on all existing
Therefore, the current permanent upgrades will be changed to having a future expiry date and they will then be expired by cron. The user will then select to upgrade to the new annual user upgrade.

Would the above solution work?
Thoughts on an appropriate SQL?
Is there any functionality to have a notice ( /admin.php?notices/ ) based on an upgrade expiring soon?
I have not had a chance to use the Upgrade System yet, but looking at your post I do think it will work. Although, it would be recommended to make a backup of the user upgrade tables before you change them with queries. You can also do a dry run on your test forum, if you have one set up. You can move there the database of your live forum and experiment with the queries till you are satisfied that it will work like you want to.

With regards to the Notices, I have not seen any criteria based on an upgrade expiring soon.
Top Bottom