Pour récupérer un compte membre et/ou un compte admin:Il faut créer un nouveau compte, ensuite il faut exécuter plusieurs requêtes dans l'outil permettant de gérer la base de données (phpmyadmin, eskuel ou autre)
1/ Réattribuer les anciens messages
Il faut exécuter la requête suivante :
UPDATE smf_messages SET ID_MEMBER="xxx", posterEmail="yyy" WHERE ID_MEMBER="0" AND posterName="zzz"
En remplaçant :
xxx par le numéro d'inscrit actuel de l'utilisateur
yyy par le courriel actuel de l'utilisateur
zzz par l'ancien pseudo de l'utilisateur (que ce soit ou non le même que l'actuel)
2/ Modifier la date d'inscription
Pour que les stats soient correctes il faut redonner une date d'inscription antérieure ou égale au premier message de l'utilisateur. Pour la trouver il faut effectuer la requête suivante :
SELECT posterTime FROM smf_messages where ID_MEMBER="xxx" ORDER BY ID_MSG ASC LIMIT 0,1
xxx est à remplacer par le numéro actuel de l'utilisateur. Avec cette requête on obtient une valeur à noter.
On exécute ensuite la requête suivante pour remplacer la date d'inscription :
UPDATE smf_members SET dateRegistered="ttt" WHERE ID_MEMBER="xxx"
En remplaçant :
xxx par le numéro d'inscrit actuel de l'utilisateur
ttt par le numéro précédemment noté
3/ Compter le nombre de messages postés au total (ou utiliser le mod posts recount)
L'outil d'administration ne répare pas ce qui devient une erreur (les anciens messages n'étant plus comptés). Donc il faut les compter soit même :
SELECT COUNT(*) FROM smf_messages WHERE ID_MEMBER="xxx"
Pour xxx, pareil que précédemment. Le nombre qui apparait est donc le nombre de message postés. Pour le rétablir :
UPDATE smf_members SET posts="ppp" WHERE ID_MEMBER="xxx"
Où ppp est le nombre de posts, noté plus haut.
3/ Réattribuer un compte admin
Pour réattribuer le statut d'admin à un compte:
il faut exécuter cette requête:
UPDATE smf_members SET ID_GROUP = '1' WHERE memberName = 'yourusername';
yourusername étant le pseudo de l'utilisateur à mettre en admin.
Toutes ces infos ne sont valables que pour la version 1.x d'smf, la version 2 à venir intégrant tout cela. (sauf la réattribution du compte admin pour la version 2 où il faut appliquer cette requête
UPDATE smf_members SET id_group = '1' WHERE member_name = 'yourusername';
)