Joomla 1.5 com_user 并导入 Joomla 1.6 及更高版本等用户插件

2023-12-23

当在前端访问 Joomla 1.6 和 1.7 中的 com_users 组件时,应用程序会自动导入“user”组中的所有插件。显然,如果不想创建一个组件来简单地将一些变量传递给插件,那么它非常有用。

好的。让我们把它变得更简单:

  1. 用户获得激活链接:并点击它。
  2. 当然该组件会省略电子邮件激活和其他参数只是显示“编辑个人资料表格”(或客人的登录表格)。
  3. 然后 JApplication 从 ' 导入所有插件user' 组,触发 __constructors

基本上,用插件__构造函数人们可以设置像下面这样的简单操作:

class plgUserAccountactivation extends JPlugin
{
    public function __construct(& $subject, $config)
    {
        parent::__construct($subject, $config);

        if(isset($_GET['emailactivation'])) {
            // check token
            // activate account, email or whatever
            // redirect with message
        }
    }
}

哇!它有效,没有必要创建一个完整的控制器来处理一项简单的任务。

但等一下...

  • 在链接中将index.php?option=com_users更改为index.php?option=com_user
  • 让我们尝试一下 Joomla 1.5...

嘿,嘿,什么也没发生 com_user 根本没有导入任何东西,并且 __constructor 也没有被调用。

我在 Joomla 1.5 中对此感到非常困扰,并且我不想编写整个组件。

如果有人有什么好主意,请告诉我。

Edit:我通过以下形式发送链接解决了我的问题:

http://example.com/index.php?option=com_user&任务=注销&emailactivation=1&u=63&d077b8106=1

这样就包含了用户插件并执行了 __constructors。但这是如此轻率任务=注销并不真正鼓励点击链接。


1.5 的问题是,事件更加有限。您可以参加以下活动:Joomla 1.5 插件事件 - 用户 http://docs.joomla.org/Plugin_events/User。我想因此你的插件没有启动。

如何将其设为系统插件并检查 URL/请求属性中的激活情况?就像是:

class plgSystemUseractiavation extends JPlugin {

  function onAfterInitialise(){

    $u = &JURI::getInstance(); 
    $option = trim(strtolower($u->getVar('option')));
    $emailactivation = trim(strtolower($u->getVar('emailactivation')));

    if( strlen($option  < 1) ){ // for SEF...
        $option = trim(strtolower(JRequest::getString('option')));
    }

    $app =& JFactory::getApplication(); 
    $appName = trim(strtolower($app->getName()));
    if( $appName === 'site' ){
        if( ( $option === 'com_users' ) || ( $option === 'com_user' ) ){
            if( $emailactivation === '1' ){
                // check token
                // activate account, email or whatever
                // redirect with message                        
            }
        }       
    }       
 }      
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Joomla 1.5 com_user 并导入 Joomla 1.6 及更高版本等用户插件 的相关文章

随机推荐

  • 停止设备的当前密码要求

    我的网站的编辑用户部分遇到问题 由于某种原因 我在尝试编辑用户时不断收到错误 当前密码不能为空 我们使用 devise 来管理用户 但我似乎无法在任何地方找到会生成此错误的代码 这是表单的代码 semantic form for resou
  • 计算并绘制任意 rasterLayer 的矢量场

    问题陈述 With ggquiver geom quiver 只要我们知道 我们就可以绘制向量场x y xend and yend 我如何计算任意的这些参数RasterLayer海拔 如何确保这些箭头的大小指示该特定向量的斜率 以便箭头显示
  • 如何使用Java在Elasticsearch中进行多个过滤器查询?

    我在 elasticsearch 之上构建了一个网络应用程序 我想使用Java 做一个多重过滤器 弹性搜索查询 query bool must match T TEXT match new content TEXT filter term
  • 如何将带有时区偏移的时间戳字符串转换为本地时间?

    我正在尝试将字符串时间戳转换为正确的日期时间对象 我遇到的问题是存在时区偏移 我所做的一切似乎都不起作用 最终我想将字符串时间戳转换为我的机器时区中的日期时间对象 string timestamp date Fri 16 Jul 2010
  • itertools.tee 相当于 Boost::Range 吗?

    蟒蛇的itertools has tee对于 n 次迭代 def tee iterable n 2 it iter iterable deques collections deque for i in range n def gen myd
  • iPhone 中的获取地址信息

    我准备了一个小申请 当我重新启动 iPhone 3G 具有 3G 互联网连接 并安装此应用程序时 getaddrinfo 总是返回EAI NONAME 8 我关闭应用程序并运行 Safari 然后运行我的应用程序 一切正常 有什么问题 vo
  • Google Data Studio 中的直方图和分布

    我有大量记录显示来自各个地区和交换的通话时长 该表有 3 个关键字段 如下所示 Calling number 区域 call duration s 我需要使用 Data Studio 绘制 1 秒或 5 秒内基于呼叫分配的持续时间 虽然 D
  • 通过 ng new 创建 Angular 项目时,Angular 15 CLI 不会创建环境文件夹

    与 Angular 14 生成的项目类似 我希望拥有单独的开发和生产环境 但是在使用创建项目时ng new ng new my app 这不会创建环境文件夹或对其进行设置 See Angular 配置环境特定的默认值 https angul
  • Julia:将数组向量转换为任意维度的数组

    使用时序测试 我发现增长的性能要高得多Vector Array Float64 对象使用push 比简单地使用Array Float64 对象和任一hcat or vcat 但是 计算完成后 我需要将结果对象更改为Array Float64
  • Java:列表数组

    我有一个规范要求我传递一系列列表 该数组的长度始终为 2 我使用以下方法来完成此操作 List
  • 将 CouchDB javascript 视图转换为 erlang

    我需要一些帮助来将以下 CouchDB 视图从 javascript 转换为 erlang 我在 erlang 中需要它们 因为在 javascript 中 视图使用所有可用的堆栈内存并使 couchjs 崩溃 请参阅此错误报告https
  • 我如何告诉 jenkins 我确实想要 Maven 作业的完整错误跟踪?

    在 jenkins 中运行 Maven 作业失败并显示控制台输出 Finished FAILURE INFO INFO BUILD FAILURE INFO INFO Total time 2 52 431s INFO Finished a
  • 从给定深度图像生成点云-matlab Computer Vision System Toolbox

    我是matlab初学者 我购买了Computer Vision System Toolbox 我收到了 400 张深度图像 PNG 图像 我想为每个图像创建一个点云 我查看了Computer Vision System Toolbox的文档
  • jQuery 最接近函数的等效原型

    Prototype 中是否有 jQuery 最接近函数的等效项 http api jquery com closest http api jquery com closest thanks 您可以使用up http www prototyp
  • 为什么即使请求所有 3 个报价组,ItemLookup 也不返回任何价格信息?

    我正在使用产品广告 API 对有效的 ASIN 进行 ItemLookup 请求所有三种风格的报价组 但我没有得到任何价格信息 然而 当我在亚马逊上查看相同的产品时 它有库存并且价格有效 我相信描述问题所需的一切都将在响应我的 ItemLo
  • jQuery:包含(正则表达式)? [复制]

    这个问题在这里已经有答案了 是否可以有一个 jQuery 选择器 其中 contains 是正则表达式 我需要选择一个元素 其中innerHTML 包含可通过正则表达式找到的内容 我知道这是一个简短的问题 我很抱歉 var t id a c
  • 在哪里可以下载旧版本的 Android SDK?

    我需要下载修订版 16 因为它们似乎破坏了处理兼容性 我在 SDK 网站上找不到它 我唯一能想到的就是在谷歌上搜索文件名 installer r16 windows exe 但它似乎没有合法托管在任何地方 我宁愿避免这种情况 有任何想法吗
  • ASP.NET 中的 <% %>(嵌入代码块)

    我理解这些在 aspx 页面的标记中意味着什么 但我不知道它们可以使用的全部功能 甚至不知道表示这些特殊指令的名称 Example 我可以添加 if 或 switch 等条件语句吗 例如 我已经看到并使用它们来绑定数据集中的数据 任何意见都
  • 如何排除gradle依赖

    我目前有一个项目 我对其执行了水色扫描 它识别出我当前正在使用的 jackson databind 2 9 8 jar 作为严重漏洞 并建议我替换为 2 10 版本 为了更新这一点 同时确保所有其他依赖项 代码正常工作 我在 build g
  • Joomla 1.5 com_user 并导入 Joomla 1.6 及更高版本等用户插件

    当在前端访问 Joomla 1 6 和 1 7 中的 com users 组件时 应用程序会自动导入 user 组中的所有插件 显然 如果不想创建一个组件来简单地将一些变量传递给插件 那么它非常有用 好的 让我们把它变得更简单 用户获得激活