Ticket #190 (closed: fixed)

Opened 9 years ago

Last modified 7 years ago

Bases mysql non suprimées à la desctruction des comptes

Reported by: jonathan Owned by: benjamin
Priority: high Milestone: alternc-0.9.3
Component: PHP Version: 1.0
Severity: major Keywords:
Cc:

Description

Les bases mysql des utilisateurs suprimés par l'administrateur ne sont pas suprimées.

La supression de ces bases est en effet effectuée après l'effacement de l'enregistrement de l'utilisteur dans la table alternc.membres, hors la classe de gestion des bases se sert de cet enregistrement pour effectuer la correspondance entre l'uid et le login et reconstituer le nom des bases à effecer ($login_toto etc.).

La solution se trouve dans /var/alternc/bureau/class/m_admin.php, où il suffit de placer la boucle for (ligne 282) qui parcourt les classes à la recherche de la méthode alternc_del_member($uid) juste avant la condition (ligne 278) à l'intérieur de laquelle il est placé.

STEPS TO REPRODUCE: Effacer un membre, constater que ses bases de données et les enregistrements correspondants dans mysql.db, mysql.user et alternc.db ne sont pas supprimés.

ADDITIONAL INFORMATION: Le bug #0000186 est peut-être issu du même problème.

Change History

comment:1 Changed 9 years ago by denis

Complément du bug.

La question est plus épineuse.

Les db ne sont pas supprimées mais l'enregistrement dans la table DB nom plus.

Et comme apparement alternc peut installer un nouveau membre avec un uid d'un membre ayant été effacé, c'est le bordel :-)

Un nouveau membre (user2) récupérant un uid déjà utilisé auparavant (par user1) se retrouvera avec la base de données de User1. Et ne pourra strictement rien faire, pas de suppression possible.

Heureusement pas d'accès à la base de l'ancien membre.

Par contre si le nouveau membre avait le même nom que l'ancien, peut-être aurait -il dans ce cas là accès à la base de données ????

A mon avis, faudrais:

Supprimmer la DB, supprimmer l'enregistrement dans la table DB, dans la table quota et enventuellement interdire un uid ayant déjà été utilisé avant...

comment:2 Changed 9 years ago by benjamin

  • Owner changed from anonymous to benjamin
  • Status changed from new to assigned

Ce bug est vraisemblablement résolu par le changement du système d'appel "del_mem" vers "alternc_del_member", et la gestion différente des uid (variable $CUID)

A tester donc.

comment:3 Changed 9 years ago by benjamin

  • Status changed from assigned to closed
  • Resolution set to fixed

Ca marche. Visiblement résolu par la mise à jour globale des appels de functions inter-classes.

comment:4 Changed 9 years ago by anarcat

  • Milestone set to 0.9.3
Note: See TracTickets for help on using tickets.