web-dev-qa-db-fra.com

Empêcher la suppression de l'utilisateur avec le plugin?

Est-il possible d'empêcher Joomla de supprimer des utilisateurs avec un plugin utilisateur? Le profil de l'utilisateur doit être désactivé, mais jamais supprimé.

J'ai bricolé avec onUserBeforeDelete, mais les documents font référence à la v1.5, je ne suis donc pas sûr que je l'aborde même de la bonne façon "d'annuler l'événement".

5
GDP

Dans le plug-in, forcez une redirection vers la page où le bouton de suppression est activé.

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();
}

Cet exemple peut être ajusté, mais cela devrait fonctionner simplement pour arrêter l'utilisateur. Vous pouvez aussi lancer quelques requêtes mysql pour "désactiver" l'utilisateur, pour donner l'impression qu'il a été désactivé plutôt que de simplement définir une erreur.

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

Le lien a été modifié la dernière fois il y a moins d'un an. Je doute donc fort que onUserBeforeDelete ait subi des modifications majeures.

1
Jordan Ramstad