编写Joomla桥 - 用户插件

时间:2011-05-11 07:54:03

标签: database plugins joomla

我想编写一个Joomla插件来连接数据库中的用户表(单向)。

因此,在新用户注册时,用户将被复制并存储在第二个表(其他脚本)中。这是主要目标。更新密码更改/删除等内容可以保留到以后。

我可以找到哪些想法帮助我为Joomla 1.6编写这样的插件? 我可以在哪里获得用户注册数据等?

1 个答案:

答案 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>