Plugin-Ereignis nur bei E-Mail-Aktivierung


8

Ich beziehe mich nur auf die Joomla User Plugin-Ereignisse in der URL https://docs.joomla.org/Plugin/Events/User/en

onUserLogin
onUserAuthenticate
onUserBeforeSave

Sie fragen sich nur, welches mir hilft, etwas zu tun, wenn sie ihre E-Mail-Adresse über den Link zur E-Mail-Aktivierung bestätigen?

Hinweis: Während der E-Mail-Aktivierung muss ich eine Verbindung zu einem SOAP-Server herstellen, einige Dinge validieren und ihm dann nur erlauben, das Konto zu aktivieren.

Antworten:


3

Sie können es so machen: Sie erstellen ein Benutzer-Plugin (NICHT Authentifizierungs-Plugin, dieses ist separat), ich habe mein testwise "checkmail" genannt. Geben Sie in dieses Plugin den Rückruf onUserBeforeSave ein, in dem Sie überprüfen können, ob das Konto folgendermaßen aktiviert wird:

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

Hoffe das hilft =)

[edit]: Ah, ich hätte fast vergessen: Dieses Plugin geht in das Plugins / Benutzerverzeichnis!


Vielen Dank. Ich werde es versuchen. Sollte ich false zurückgeben, um das Mitglied im Falle einer Nichtgenehmigung nicht zu aktivieren?
Malaiselvan

Löschte meinen vorherigen Kommentar, dass dies nicht funktioniert - ich hatte einen dummen Fehler. Es funktioniert und es funktioniert großartig. Danke für den Tipp. :)
Simba
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.