Pagina 1 van 1
Naamswijziging loopt fout bij dezelfde gebruikersnaam
Geplaatst: 10 jul 2016, 19:25
door BennyBernaer
- Adres van je forum: http://www.zelfmoord-forum.nl/
Event. modificaties op je forum: /
Wanneer ontstond het probleem? Niet van toepassing
phpBB versie: 3.1.9
Heb je onlangs iets veranderd aan je forum? Neen
Wat is het probleem?
Op een forum wat ik regelmatig mee technisch ondersteun hebben ze het volgende probleem:
Een lid genaamd "Angel" heeft een tijd geleden gevraagd om haar account te verwijderen.
Verwijdering ging goed en haar berichten zijn blijven staan onder (gastaccount Angel)
Nu enkele maanden later: Een nieuw lid registreert zich onder de naam Angel. Beheerders vragen om een ander gebruikersnaam te kiezen, omdat er onder een oud account Angel nog berichten te vinden zijn op het forum.
De naam van de nieuwe gebruiker wordt gewijzigd. Maar vanaf dan gaat er toch iets fout. Als het account van (het nieuwe lid) Angel wordt gewijzigd naar een andere gebruikersnaam, hebben de berichten van het oude verwijderde account van Angel ook deze nieuwe gebruikersnaam.
Hoe kan dit?
Re: Naamswijziging loopt fout bij dezelfde gebruikersnaam
Geplaatst: 10 jul 2016, 20:47
door BennyBernaer
Ik heb dit voor mezelf eens op twee andere fora getest,
en ook hier het zelfde probleem:
Bijvoorbeeld:
bennybernaer is lid van phpbb.nl (3.1) en vraagt om zijn account te verwijderen en berichten te behouden.
bennybernaer wordt door het beheer verwijderd.
Een nieuw lid registreert zich onder bennybernaer en activeert zijn account.
het beheer wijzigt zijn gebruikersnaam van het nieuwe lid (bennybernaer) en het gastaccount van het vroeger lid (bennybernaer) wordt eveneens mee gewijzigd.
Het lijkt me onwaarschijnlijk dat dit een normale functie is van phpBB?
(aangezien het vroeger lid verwijderd is)
Een bug????
Re: Naamswijziging loopt fout bij dezelfde gebruikersnaam
Geplaatst: 10 jul 2016, 23:16
door Jim
Dat klinkt mij ook als een bug in de oren, zou je deze willen rapporteren in de
Bug Tracker?
Volgens mij is het dit stukje code in includes/functions_user.php die het probleem veroorzaakt.
Code: Selecteer alles
function user_update_name($old_name, $new_name)
{
global $config, $db, $cache, $phpbb_dispatcher;
$update_ary = array(
FORUMS_TABLE => array('forum_last_poster_name'),
MODERATOR_CACHE_TABLE => array('username'),
POSTS_TABLE => array('post_username'),
TOPICS_TABLE => array('topic_first_poster_name', 'topic_last_poster_name'),
);
foreach ($update_ary as $table => $field_ary)
{
foreach ($field_ary as $field)
{
$sql = "UPDATE $table
SET $field = '" . $db->sql_escape($new_name) . "'
WHERE $field = '" . $db->sql_escape($old_name) . "'";
$db->sql_query($sql);
}
}
Dit betekent o.a. dat in de phpbb_posts tabel bij het veranderen van de gebruikersnaam de oude gebruiker wordt geselecteerd op gebruikersnaam i.p.v. op user ID. Het zou beter zijn om eerst te checken of je het juiste user ID wel te pakken hebt, en dan pas deze queries toe te passen. Ik heb er zelf niet genoeg verstand van om dat zo voor je op te lossen, maar de ontwikkelaars op phpBB.com vast wel.
Re: Naamswijziging loopt fout bij dezelfde gebruikersnaam
Geplaatst: 11 jul 2016, 07:30
door Paul
Als een gebruiker verwijderd is, is het user_id weg, en kan er dus niet meer gecontroleerd worden of dit de oorspronkelijke gebruiker was, of de nieuwe. De username in de posts table is enkel gevuld wanneer het door een gast is gepost, wanneer een gebruiker verwijderd wordt, worden de posts op de gastgebruiker gezet.
Re: Naamswijziging loopt fout bij dezelfde gebruikersnaam
Geplaatst: 11 jul 2016, 10:59
door BennyBernaer
Paul schreef:Als een gebruiker verwijderd is, is het user_id weg, en kan er dus niet meer gecontroleerd worden of dit de oorspronkelijke gebruiker was, of de nieuwe. De username in de posts table is enkel gevuld wanneer het door een gast is gepost, wanneer een gebruiker verwijderd wordt, worden de posts op de gastgebruiker gezet.
Wat wil zeggen?
Is het nu een bug of niet?
Want dit is bijvoorbeeld een verwijderd lid:
Als er in de toekomst iemand zich registreert onder dezelfde naam, en de persoon wijzigt zijn naam, is
het toch niet normaal dat eveneens het verwijderd lid zijn berichten onder deze (nieuwe naam nieuw lid) naam komen te staan????
Re: Naamswijziging loopt fout bij dezelfde gebruikersnaam
Geplaatst: 11 jul 2016, 12:10
door Paul
phpBB kan simpelweg niet meer weten of het dezelfde of een andere gebruiker is/was. Het is dus misschien niet wenselijk, maar de data is er niet meer (Want user verwijderd) en kan dus enkel een best guess gedaan worden.
Re: Naamswijziging loopt fout bij dezelfde gebruikersnaam
Geplaatst: 11 jul 2016, 12:20
door Jim
Paul schreef:
phpBB kan simpelweg niet meer weten of het dezelfde of een andere gebruiker is/was. Het is dus misschien niet wenselijk, maar de data is er niet meer (Want user verwijderd) en kan dus enkel een best guess gedaan worden.
Dan zou er gecheckt moeten worden of het user_id van de gebruiker niet het user_id van de gastgebruiker is, en alleen dan de query uitvoeren. Dat zou het probleem ook oplossen.
Je kan toch een "AND user_id != 1" of iets dergelijks toevoegen?
Dan zou het alleen de echte gebruikersnaam aanpassen en niet diegene die nu als gast staat.
Re: Naamswijziging loopt fout bij dezelfde gebruikersnaam
Geplaatst: 23 jul 2016, 23:24
door BennyBernaer
Is hier al een eventuele toekomstige oplossing voor?
Want het is eigenlijk wel een struikelblok voor phpBB
Re: Naamswijziging loopt fout bij dezelfde gebruikersnaam
Geplaatst: 24 jul 2016, 10:32
door Paul
Heb je het al als bug gerapporteerd in de bugtracker op phpBB.com?
Re: Naamswijziging loopt fout bij dezelfde gebruikersnaam
Geplaatst: 24 jul 2016, 12:58
door Jim
Op verzoek van BennyBernaer heb ik
de bug gerapporteerd in de Bug Tracker.
Wat je ondertussen als tijdelijke oplossing voor je probleem kan doen is een paar SQL queries runnen die het probleem dat phpBB hier creëert herstelt. Verander de tekst "VERANDERDE GEBRUIKERSNAAM" naar de gebruikersnaam die je het nieuwe account uiteindelijk hebt gegeven (en hoe de oude posts er nu dus ook nog uitzien, die je wilt terugveranderen naar Angel). Verander wanneer nodig ook het prefix.
Maak zoals altijd eerst een goede back-up van je database voor het geval we elkaar toch verkeerd begrepen hebben of er om een andere reden iets misgaat!
Code: Selecteer alles
UPDATE phpbb_forums SET forum_last_poster_name = 'Angel' WHERE forum_last_poster_name = 'VERANDERDE GEBRUIKERSNAAM' AND forum_last_poster_id = '1';
UPDATE phpbb_posts SET post_username = 'Angel' WHERE post_username = 'VERANDERDE GEBRUIKERSNAAM' AND poster_id = '1';
UPDATE phpbb_topics SET topic_first_poster_name = 'Angel' WHERE topic_first_poster_name = 'VERANDERDE GEBRUIKERSNAAM' AND topic_poster = '1';
UPDATE phpbb_topics SET topic_last_poster_name = 'Angel' WHERE topic_last_poster_name = 'VERANDERDE GEBRUIKERSNAAM' AND topic_last_poster_id = '1';
Nog even ter verduidelijking, dit werkt ALLEEN als je de naamswijziging al hebt doorgevoerd en deze queries zorgen ervoor dat de gebruikersnaam van het verwijderde account terugverandert naar Angel.
Re: Naamswijziging loopt fout bij dezelfde gebruikersnaam
Geplaatst: 24 jul 2016, 21:50
door BennyBernaer
Bedankt voor het rapporteren!
Ik ga je SQL queries zo spoedig mogelijk uittesten.
Re: Naamswijziging loopt fout bij dezelfde gebruikersnaam
Geplaatst: 01 aug 2016, 09:32
door Jim
Kleine update, een phpBB developer heeft
een fix hiervoor ingediend.

Hij is nog niet gemerged en dus ook nog niet definitief, maar het laat in ieder geval voortgang zien.
Re: Naamswijziging loopt fout bij dezelfde gebruikersnaam
Geplaatst: 01 aug 2016, 15:25
door BennyBernaer
Dat is heel goed nieuws!
Ik hou het mee in de gaten.

Re: Naamswijziging loopt fout bij dezelfde gebruikersnaam
Geplaatst: 17 aug 2016, 21:44
door BennyBernaer
Re: Naamswijziging loopt fout bij dezelfde gebruikersnaam
Geplaatst: 18 aug 2016, 11:11
door Jim
Klopt, die fix zit inderdaad verbonden aan de bug report die hierboven gelinked staat en gaat dus hoogstwaarschijnlijk mee in de volgende phpBB release.