Je fais simplement référence aux événements du plugin utilisateur Joomla dans l'URL https://docs.joomla.org/Plugin/Events/User/en
onUserLogin
onUserAuthenticate
onUserBeforeSave
Je me demandais simplement lequel me permettrait de faire quelque chose uniquement quand ils valideraient leur adresse électronique à partir du lien d'activation de la messagerie électronique.
Remarque: pendant l'activation de l'e-mail, je dois me connecter à un serveur SOAP), valider quelques éléments et lui permettre uniquement d'activer le compte.
vous pouvez le faire de la manière suivante: vous créez un plugin utilisateur (PAS de plug-in d'authentification, celui-ci est séparé), j'ai appelé le mien testwise "checkmail". Dans ce plugin, mettez le rappel onUserBeforeSave, dans lequel vous pouvez vérifier si le compte est activé de la manière suivante:
class PlgUserCheckmail extends JPlugin
{
/**
* Application object
*
* @var JApplicationCms
* @since 3.2
*/
protected $app;
/**
* Database object
*
* @var JDatabaseDriver
* @since 3.2
*/
protected $db;
public function onUserBeforeSave($oldUser, $isNew, $newUser)
{
if(!$isNew)
{
if(isset($oldUser['activation']) &&
!empty($oldUser['activation']) &&
isset($newUser['activation']) &&
empty($newUser['activation']))
{
// These commands in here are only triggered if the user is activating his account
}
}
}
}
J'espère que cela aide =)
[edit]: Ah, j'ai failli oublier: Ce plugin va dans le répertoire plugins/user!