Evento de complemento solo cuando la activación por correo electrónico

8

Solo estoy refiriendo los eventos del complemento de usuario de Joomla en la URL https://docs.joomla.org/Plugin/Events/User/en

onUserLogin
onUserAuthenticate
onUserBeforeSave

¿Me pregunto cuál me ayudará a hacer algo solo cuando validan su dirección de correo electrónico desde el enlace de activación de Correo electrónico?

Nota: Durante el tiempo de activación del correo electrónico, tengo que conectarme a un servidor SOAP y validar algunas cosas y luego solo permitirle activar la cuenta.

Malaiselvan
fuente

Respuestas:

3

puedes hacerlo de esta manera: creas un complemento de usuario (NO un complemento de autenticación, este está separado), llamé al mío testwise "checkmail". En ese complemento, coloque la devolución de llamada onUserBeforeSave, en la que puede verificar si la cuenta se está activando de esta manera:

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
            }
        }
    }
}

Espero que esto ayude =)

[editar]: Ah, casi lo olvido: ¡Este complemento se encuentra dentro del directorio plugins / user!

pixx
fuente
Gracias. Intentaré. ¿Debo devolver falso para no activar el miembro en caso de no aprobación?
Malaiselvan
Eliminé mi comentario anterior de que esto no funciona: tuve un error estúpido. Funciona y funciona muy bien. Gracias por el consejo. :)
Simba