我想编写一个Joomla插件来连接数据库中的用户表(单向)。
因此,在新用户注册时,用户将被复制并存储在第二个表(其他脚本)中。这是主要目标。更新密码更改/删除等内容可以保留到以后。
我可以找到哪些想法帮助我为Joomla 1.6编写这样的插件? 我可以在哪里获得用户注册数据等?
答案 0 :(得分:3)
我为Joomla 1.6编写了一个插件,它接受新注册用户的id并将其放入另一个表中。如果删除了用户帐户,它还会从辅助表中删除用户信息。这应该让你去,看看下面的代码:
这是一个名为:plg_foo_user
的插件<强> foouser.php 强>
<?php
defined('_JEXEC') or die();
jimport('joomla.plugin.plugin');
class plgUserFooUser extends JPlugin
{
function onUserAfterSave( $user, $isnew, $success, $msg ) {
//JError::raiseWarning(100, 'here1');
if ($isnew && $success) {
$db = &JFactory::getDBO();
$db->setQuery( 'INSERT INTO #__foo_users (user_id) VALUES ('.$user['id'].')' );
$db->query();
}
}
function onUserAfterDelete( $user, $success, $msg ) {
//JError::raiseWarning(100, 'here2');
$db = &JFactory::getDBO();
if ($success) {
$db->setQuery( 'DELETE FROM #__foo_users WHERE user_id ='.$user['id'] );
$db->query();
return true;
}
}
}
?>
<强> foouser.xml 强>
<?xml version="1.0" encoding="utf-8"?>
<extension
version="1.6"
type="plugin"
group="user">
<name>Foo User</name>
<author>Martin Rose</author>
<creationDate>January 2011</creationDate>
<copyright>(C) 2011 Open Source Matters. All rights reserved.</copyright>
<license>GNU/GPL</license>
<authorEmail></authorEmail>
<authorUrl></authorUrl>
<version>1.0</version>
<description>Making foo happen</description>
<files>
<filename plugin="foouser">foouser.php</filename>
<filename>index.html</filename>
</files>
</extension>