it-swarm.com.de

Benutzerlöschung mit Plugin verhindern?

Kann ich verhindern, dass Joomla Benutzer mit einem Benutzer-Plugin löscht? Das Benutzerprofil muss deaktiviert, aber niemals gelöscht werden.

Ich habe an onUserBeforeDelete herumgebastelt, aber die Dokumentation bezieht sich auf Version 1.5, sodass ich nicht sicher bin, ob ich überhaupt richtig vorgehe, um das Ereignis abzubrechen.

5
GDP

Erzwingen Sie im Plugin eine Umleitung zurück zu der Seite, auf der die Schaltfläche Löschen aktiviert ist.

public function onUserBeforeDelete($user)
{
    $app = JFactory::getApplication();
    //possibly set an error message
    JError::raiseWarning( 100, 'Warning: Cannot delete user profile' );
    $app->redirect(JRoute::_('index.php?option=com_users&view=profile&layout=edit'));
    jExit();
}

Dieses Beispiel kann angepasst werden, aber es sollte funktionieren, um den Benutzer einfach zu stoppen. Sie könnten stattdessen in einige MySQL-Abfragen gehen, um den Benutzer zu "deaktivieren", damit es so aussieht, als wäre es deaktiviert, anstatt nur einen Fehler zu setzen.

https://github.com/joomla/joomla-cms-examples/blob/master/plugins/user/example/example.php

Der Link dort wurde zuletzt vor weniger als einem Jahr bearbeitet, daher bezweifle ich sehr, dass onUserBeforeDelete größere Änderungen hatte.

1
Jordan Ramstad