Seite 1 von 1

[3.3] Kann man einem gelöschten Benutzer nach Neuregistrierung alte Beiträge zuordnen?

Verfasst: 13.09.2021 19:11
von HaioPaio
Hallo zusammen

Ein Benutzer der über viele Jahre sehr viele wertvolle Beiträge geschrieben hatte wurde nach einiger Zeit der Inaktivität gelöscht, aber ohne seine Beiträge zu löschen.
Nun möchte er gerne wieder mitmachen und hat sich unter seinem alten Benutzernamen angemeldet. Er hat natürlich keinerlei Beiträge und taucht als Neuling auf.
Ich habe noch ein Datenbank Backup und ein Backup der Files in dem er noch vorhanden ist.
Gibt es eine Möglichkeit unter 3.3.4 den neuen Benutzer mit seinen alten Beiträgen zu verheiraten?
Kann man Daten wie "Mitglied seit" usw. auf ihn übertragen, so dass er erscheint wie vorher?
Auch teilweise Lösungen wären willkommen.

Re: [3.3] Kann man einem gelöschten Benutzer nach Neuregistrierung alte Beiträge zuordnen?

Verfasst: 13.09.2021 19:27
von Passat
Das geht schon.
Mir fällt da z.B. ein, die Daten in der Datenbank selbst zu ändern.

aber da ist wohl Handarbeit angesagt, denn die Beiträge gelöschter Benutzer werden dem Gastaccount zugeordnet.
Und da sammeln sich natürlich die Beiträge aller gelöschten Benutzer.

Re: [3.3] Kann man einem gelöschten Benutzer nach Neuregistrierung alte Beiträge zuordnen?

Verfasst: 13.09.2021 20:13
von LukeWCS
Hallo

Eine weitere Möglichkeit bietet dir die Oberfläche von phpBB selbst. Wenn du bei einem Beitrag auf das i-Symbol (Information) klickst, kannst du unter "MODERATIONS-OPTIONEN" den Beitrag einem anderen Benutzer (Besitzer) zuweisen.

Allerdings, das wäre für ein paar dutzend Beiträge ja noch okay, aber wenn es sich um hunderte oder gar tausende Beiträge handeln sollte, wäre das wenig praktikabel.

Re: [3.3] Kann man einem gelöschten Benutzer nach Neuregistrierung alte Beiträge zuordnen?

Verfasst: 13.09.2021 20:19
von schnagga
...oder du versuchst es mal mit dem STK: http://phpbb3-support.square7.ch/viewto ... f=35&t=812

"Benutzer wiederherstellen"
und
"Benutzer zusammenfügen"

Re: [3.3] Kann man einem gelöschten Benutzer nach Neuregistrierung alte Beiträge zuordnen?

Verfasst: 13.09.2021 20:34
von Cowboy of Bottrop
Was ist denn, wenn man in der DB einfach die User-ID ändert und auf die frühere setzt? Danach neu synchronisieren, dann müsste doch gut sein. Sehe ich zumindest als Laie so... ;-)

Re: [3.3] Kann man einem gelöschten Benutzer nach Neuregistrierung alte Beiträge zuordnen?

Verfasst: 13.09.2021 21:04
von HaioPaio
Danke an alle die schon geantwortet haben.

Ich habe auf .com gestöbert und dort in zwei Beiträgen Anleitungen gefunden das direkt in der Datenbank zu lösen.
Hier schreibe ich mal alles zusammen was ich gemacht habe. Es hat prima geklappt.
Der gelöschte Benutzer muss sich mit dem identischen Benutzernamen neu registrieren und sein Profil neu ausfüllen.
Ein Admin muss ihn ggf aus der Gruppe der kürzlich registrierten herausholen, er soll erstmal nur in der Gruppe registrierte Benutzer sein.
Zusätzliche Gruppen und Berechtigungen müssen später zugeordnet werden.

Zuordnen verbliebener alter Beiträge eines gelöschten Benutzers wenn er sich nach der Löschung unter den identischen Benutzernamen neu registriert hat.


In phpmyadmin folgende SQL Kommandos ausführen (589 ist die neue User-ID, hansdampf ist der alte und neue Benutzername.
Quelle: https://www.phpbb.com/community/viewtop ... #p15559951

Code: Alles auswählen

UPDATE phpbb_posts SET poster_id = 589 WHERE post_username = 'hansdampf';
UPDATE phpbb_topics SET topic_poster = 589 WHERE topic_first_poster_name = 'hansdampf';
UPDATE phpbb_topics SET topic_last_poster_id = 589 WHERE topic_last_poster_name = 'hansdampf';
UPDATE phpbb_posts SET  post_username = '' WHERE poster_id = 589 ;

Dann direkt in der Datenbank in der Tabelle users:
folgende Datenfelder ändern
user_regdate mit dem damaligen Registrierungsdatum überschreiben (im Unix Timestamp Format)
user_post mit der damaligen Anzahl der Beiträge überschreiben.


Falls man die Anzahl der alten Beiträge nicht kennt kann man sie mit folgendem Skript ermitteln:
Quelle: https://www.phpbb.com/community/viewtop ... #p14450491
Bei $user_id = 589 wird die neue User-ID als Zahl eingetragen.
Speichern als beliebiger_name.php im Forenroot und mit dem Browser aufrufen/ausführen.

Code: Alles auswählen

<?php
/**
*
* @package phpBB - total posts by user ID
* @copyright (c) 2016 3Di (Marco T.)
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);

$user_id = 589;
$sql = 'SELECT u.user_id, p.poster_id, COUNT(p.post_id) AS total_posts
    FROM ' . USERS_TABLE . ' u, ' . POSTS_TABLE . ' p
    WHERE u.user_id = ' . $user_id . '
        AND u.user_id = p.poster_id';
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);

$total_post = (int) $row['total_posts'];

echo $total_post;


Auf dem Bildschirm wird die Zahl der alten Beiträge der neuen User_ID 589 ausgegeben