用户onUserAuthorisation插件“Hello World!”

时间:2017-11-15 14:20:49

标签: php events plugins joomla

我正在尝试创建一个插件,以便从event onUserAuthorisation进行一些数据库查询。现在我只是想设置一个“Hello World”风格的插件,因为我还不确定我的插件功能是否正常启动。现在,当新用户获得授权时,插件应该只发送一封电子邮件。

我可以确认joomla电子邮件是否适用于用户注册和管理。

文件:autoextranet.phpautoextranet.xmlindex.html(空)

autoextranet.php

<?php

// no direct access
defined('_JEXEC') or die;

class plgUserAutoextranet extends JPlugin
{
    public function onUserAuthorisation($user, $options)
        {
        $mailer = JFactory::getMailer();
        $config = JFactory::getConfig();

        $sender = array( 
            $config->get( 'mailfrom' ),
            $config->get( 'fromname' )
            );
        $mailer->setSender($sender);

        $recipient = array( 'email1@gmail.com', 'email2@some.com' );
        $mailer->addRecipient($recipient);

        $body = "New User: ".$user->username;
        $mailer->setBody($body);

        $mailer->setSubject('You got a new user.');

        $mailer->Send();
        }
}

?>

autoextranet.xml

<?xml version="1.0" encoding="utf-8"?>
<extension version="3.8.2" type="plugin" group="user">
        <name>PLG_USER_AUTOEXTRANET</name>
        <author>Tim DeLise</author>
        <creationDate>Nov 14, 2017</creationDate>
        <copyright>Tim D</copyright>
        <license>GNU General Public License</license>
        <authorEmail>your email</authorEmail>
        <authorUrl>your website</authorUrl>
        <version>1.0</version>
        <description>.</description>
        <files>
                <filename plugin="autoextranet">autoextranet.php</filename>
                <filename>index.html</filename>
        </files>
</extension>

现在的问题是我已经安装并激活了插件。当我创建并激活一个新用户时,我什么也得不到。

不幸的是,我对服务器的访问权限有限,并且无法查看PHP错误日志。我正在寻找一些方法来确认事件是否触发了我的代码。任何建议都是受欢迎的。这也是我制作的第一个插件,所以我的文件可能有问题。

非常感谢任何帮助。

Joomla版本3.8.2

1 个答案:

答案 0 :(得分:1)

一旦用户进入登录过程,就会触发函数onUserAuthorisation。确保你真的登录Joomla:)

我确定你已经意识到了这一点。但即使登录失败,也会触发此功能。