Beim Zusammenfügen von Benutzern sollten dem Zielbenutzer alle Tickets der wegfallenden Benutzer zugewiesen werden, da der Benutzer sonst jegliche Zugehörigkeit zu diesen Tickets verliert. Auch für den Administrator ist danach nur noch anhand eines Blicks in die Datenbank und dem alten Benutzernamen halbwegs ersichtlich, von wem das Ticket stammt.
Der EventListener könnte ungefähr so aussehen:
PHP
<?php
namespace wcf\system\event\listener;
use wcf\system\event\listener\AbstractUserMergeListener;
class TicketsystemUserMergeListener extends AbstractUserMergeListener
{
/**
* @inheritDoc
*/
protected $databaseTables = [
[
'name' => 'ticketsystem{WCF_N}_ticket',
'userID' => 'userID',
'username' => 'username',
],
[
'name' => 'ticketsystem{WCF_N}_ticket',
'userID' => 'lastPosterID',
'username' => 'lastPoster',
],
[
'name' => 'ticketsystem{WCF_N}_answer',
'userID' => 'userID',
'username' => 'username',
],
];
}
Alles anzeigen
Daniel
Umgesetzt ab 5.5.5