2017-06-21 75 views
1

在joomla 3.x中,我有一个插件为了管理认证和组员权限映射,它是JMapMyLDAP。 该插件具有一组存储在配置中的参数,这些参数用于调节插件如何连接到LDAP服务器,LDAP查询如何生成,如何映射属性等等...joomla:使用模块插件(jmapmyldap)

现在我正在开发一个自定义模块,旨在从LDAP获取关于当前用户的更多信息,即它旨在查询Active Directory中相应用户的某些更多扩展属性(我当前的LDAP身份验证后端)。

考虑到我已经使用绑定帐户,基本DN配置了JMapMyLDAP插件,重新使用此插件的配置和功能而非再次写入LDAP基本功能由我自己和再次存储相同的配置somwhere其他地方...

所以这个问题,一般来说是:是否有一种方法在模块中调用一个插件的初始化(即加载存储配置)按顺序直接调用它的方法?

在我的测试中,我已经成功地引进的具有jimport插件在default.php(或者也helper.php

<?php 
// No direct access 
defined('_JEXEC') or die; 
jimport('joomla.plugin.plugin'); 
jimport('shmanic.jldap2'); 
jimport('shmanic.jmapmyldap'); 

但现在呢?

我需要获得plgUserJMapMyLDAP(即扩展Jplugin)的实例,以便能够查询我的LDAP后端。

回答

0

我从你的问题中了解到的是: 1.你想触发一个写在你的插件中的自定义函数。你可以使用下面的脚本来完成它。

JPluginHelper::importPlugin(<plugin type>, <plugin name>); 
    $Dispatcher = JEventDispatcher::getInstance(); 
    $result = $Dispatcher->trigger('<Event name>', <array of parameter>); 

如果有结果变量会返回预期的输出。

  1. 您想要使用在插件下配置的现有参数。所以你可以使用下面的脚本在任何地方访问任何插件参数。

    $plugin = JPluginHelper::getPlugin(<plugin type>, <plugin name>); 
    $params = new JRegistry($plugin->params); 
    echo $params->get('param_name','default_value');