web-dev-qa-db-fra.com

Supprimer l'utilisateur si le courrier électronique n'est jamais activé

Existe-t-il un moyen, ou un composant/plugin, d'automatiser le processus de suppression des utilisateurs qui s'inscrivent sur mon site, mais n'activent jamais leur courrier électronique?

Ainsi, après 30 jours, leur compte est automatiquement supprimé.

Je cherche cela depuis un moment.

Merci, Melvins138

2
Melvins138

Je ne peux pas garantir la qualité des extensions tierces, mais il semble y en avoir une ici:

https://extensions.joomla.org/extensions/extension/clients-a-communities/user-management/juserprune/

Si vous avez les connaissances nécessaires pour écrire votre propre plugin, les informations dont vous avez besoin sont dans le __users table de votre base de données.

La date à laquelle un utilisateur enregistré sera dans le champ registerDate et s’ils n’ont jamais activé leur compte, le champ activation sera renseigné et le lastvisitdate sera 0000-00-00 00:00:00. À partir de cela, vous pouvez écrire une requête dans la base de données pour générer une liste d'utilisateurs à supprimer.

Dans l’idéal, vous devez les supprimer à l’aide de la fonction delete de JUser, de manière à ce qu’elle capture toutes les données associées. Toutefois, si vous affichez cette fonction dans le répertoire libraries\joomla\table\user.php, vous indiquerez ce qui doit être fait pour nettoyer la base de données.

Je placerais probablement le script dans un plugin qui est déclenché onUserBeforeSave, de sorte qu'il se range chaque fois que quelqu'un crée ou met à jour un compte (cet événement semble le plus approprié), bien que vous puissiez utiliser Cron s'il en a besoin. être plus régulier que ça.

(Je suppose que vous savez, mais si vous voulez le faire manuellement, il est possible d'utiliser les filtres situés en haut du gestionnaire d'utilisateurs pour rechercher ces utilisateurs.)

2
Richard B

Merci à la fois les réponses. J'ai examiné les deux et trouvé un composant payant qui fera plusieurs fonctionnalités dont j'ai besoin.

Merci pour l'aide.

Le composant s'appelle RegReminder .

2
Melvins138

Admin Tools Professional inclut le plug-in "Système - Outils d'administration" qui permet de supprimer les utilisateurs inactifs après un nombre de jours spécifié. Le plugin comprend également des options pour le nettoyage de session, de cache et de fichiers temporaires.

Cette extension n'est pas gratuite, mais comprend une multitude d'autres outils que vous pouvez lire dans le lien. Si tout ce que vous avez à faire est de nettoyer les utilisateurs inactifs, l’extension gratuite proposée par Richard peut être la meilleure option.

1
Neil Robertson