我只是在URL https://docs.joomla.org/Plugin/Events/User/en中引用Joomla用户插件事件
onUserLogin
onUserAuthenticate
onUserBeforeSave
只是想知道只有当他们从“电子邮件激活”链接验证其电子邮件地址时,哪个人才能帮助我做些什么?
注意:在激活电子邮件期间,我必须连接到SOAP服务器并验证一些内容,然后才允许他激活帐户。
我只是在URL https://docs.joomla.org/Plugin/Events/User/en中引用Joomla用户插件事件
onUserLogin
onUserAuthenticate
onUserBeforeSave
只是想知道只有当他们从“电子邮件激活”链接验证其电子邮件地址时,哪个人才能帮助我做些什么?
注意:在激活电子邮件期间,我必须连接到SOAP服务器并验证一些内容,然后才允许他激活帐户。
Answers:
您可以这样操作:创建一个用户插件(不是身份验证插件,这个是单独的),我称我的testwise为“ checkmail”。在该插件中放置onUserBeforeSave回调,在其中您可以检查帐户是否被激活,如下所示:
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
}
}
}
}
希望这可以帮助=)
[edit]:啊,我差点忘了:这个插件位于plugins / user目录内!