Написание Joomla bridge — пользовательского плагина

#database #plugins #joomla

#База данных #Плагины #joomla

Вопрос:

Я хочу написать плагин Joomla для подключения к пользовательским таблицам в базе данных (одним способом).

Таким образом, при регистрации нового пользователя пользователь будет продублирован и сохранен также во второй таблице (другой скрипт). Это основная цель. Такие вещи, как обновление при смене / удалении пароля и т.д., Можно оставить на потом.

Есть идеи, где я могу найти информацию, помогающую мне написать подобный плагин для Joomla 1.6? Где я могу получить регистрационные данные пользователя и т.д.?

Ответ №1:

Я написал плагин для Joomla 1.6, который принимает идентификатор нового зарегистрированного пользователя и помещает его в другую таблицу. Он также удаляет информацию о пользователе из дополнительной таблицы, если учетная запись пользователя удалена. Это должно вас подтолкнуть, взгляните на мой код ниже:

Это для плагина под названием: 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 amp;amp; $success) {
      $db = amp;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 = amp;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>