Auto-disable user

Hello,

I would like to automatically disable a user's account if they do not login for 6 months. I am using the Website Membership plugin and was wondering if there was a system field for lastLoginDate or similar that I could use. I would then create a function that is triggered daily by cron.

Any suggestions?

Thanks as always,

Greg

By daniel - September 3, 2019

Hi Greg,

For this, I would probably use the expiresDate field, as it already handles the functionality of disabling a user after a certain date. You could then add some code to your header that checks for a valid user, and if one exists, then update expiresDate to be 6 months in the future. 

Let me know if you think that could work for you, or if you have any questions!

Thanks,

Daniel
Technical Lead
interactivetools.com

By daniel - September 3, 2019

A quick note that it looks like the expiry functionality may be disabled by default for WebsiteMembership logins. To enable, look in websiteMembership.php for a line containing this code (Line 121 in the latest version):

if (@$CURRENT_USER['isExpired'])   { alert(t("Your account has expired.")); }

And uncomment it if it isn't already.

Daniel
Technical Lead
interactivetools.com

By daniel - September 5, 2019

Hi Greg,

Yes, I think something like that would also work. It'd be particularly useful if you want an easy way to check for disabled users, rather than having to compare the expiry date. Otherwise, both solutions are going to be roughly equivalent, other than one requiring cron setup.

Good luck getting this working - let me know if you need any more help!

Thanks,

Daniel
Technical Lead
interactivetools.com