ZMAX第三方登陆系统是一个完善的第三方接入平台,为了方便开发者定制自己的功能,修改平台的支持流程,我们在平台中支持如下的事件:
程序响应的事件
事件详解onZmaxLoginBeforeReturn
- onZmaxLoginBeforeReturn
- 当用户第三方登陆成功登陆的时候,该事件被触发
- 参数1 用户的openid
- 参数2 用户的类型
- 参数3 正在被跳转的URL.该参数引用传递
程序代码如下:
$dispatcher->trigger('onZmaxLoginBeforeReturn' ,array($_SESSION['openid'],$options['type'],&$url));
目的和功能:
当用户使用第三方登陆成功登入系统,在准备跳转之前这个事件被触发。程序员可以依据传递进来的openid获得用户的所有信息 ,并且通过修改$url来让用户跳转到你希望跳转的地方。
事件详解onZmaxLoginSucces
- onZmaxLoginSuccess
- 当用户第三方登陆成功第一成功登陆的时候,该事件被触发
- 参数1 用户的openid
- 参数2 正在被跳转的URL.该参数引用传递
- 当用户第三方登陆成功第一成功登陆的时候,该事件被触发
程序代码如下:
$dispatcher->trigger('onZmaxLoginSuccess' ,array($uid,&$returnURL));
目的和功能:
当用户第一次成功登陆的时候,该事件被触发,你可以依据传递进行的参数对数据进行处理。可以修改用户下一步将会跳转的URL.还可以设置用户的群组。
事件详解onZmaxLoginAfterSave
- onZmaxLoginAfterSave
- 当用户第三方登陆数据被保存的时候,该事件被触发
- 参数1 用户的openid
- 参数2 用户的类型
- 参数3 用户的参数
- 当用户第三方登陆数据被保存的时候,该事件被触发
程序代码如下:
$dispatcher->trigger('onZmaxLoginAfterSave' ,array($this->_3part_id,$this->_type,$this->_3part_params));
目的和功能:
当用户信息成功储存到数据中的时候触发该消息。你可以在此将用户的信息储存到别的地方,或者依据用户的信息做一些判断。来完成你的逻辑。
下面是一份实例插件,开发者可以依据自己的逻辑进行修改
<?php /** * description:ZMAX第三方登陆 sina微博登陆模型 * author:min.zhang * Email:zhang19min88@163.com * Url:http://www.zmax99.com * copyright:南宁市程序人软件科技有限责任公司保留所有权利 * date:2014-12-05 */ defined ( '_JEXEC' ) or die (); class plgZmaxLoginZmaxAddon extends JPlugin { function onZmaxLoginBeforeReturn($uid ,$type ,&$returnURL) { jimport('joomla.log.log'); JLog::addLogger(array('text_file'=>'zmaxlogin.log.php') ,JLOG::ALL ,array('zmax')); JLog::add("I am form ZMAXLogin Add Plugin" ,JLOG::INFO ,"zmax"); JLog::add("uid=".$uid ,JLOG::INFO ,"zmax"); JLog::add("returnURL=".$returnURL ,JLOG::INFO ,"zmax"); return true; } }
下面是该插件的XML文件
<?xml version="1.0" encoding="utf-8"?> <extension version="2.5" type="plugin" group="zmaxlogin"> <name>PLG_ZMAXLOGIN_ZMAXADDON</name> <author>min.zhang</author> <creationDate>2014-12-11</creationDate> <copyright>Copyright (C) ZMAX程序人. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>zhang19min88@163.com</authorEmail> <authorUrl>www.zmax99.com</authorUrl> <version>0.0.1</version> <description>PLG_ZMAXLOGIN_ZMAXADDON_DESC</description> <files> <filename plugin="zmaxaddon">zmaxaddon.php</filename> <folder>language</folder> <filename>index.html</filename> </files> <config> </config> <updateservers> <server type="extension" priority="1" name="ZMAX第三方登录认证附件插件" >http://www.zmax99.com/autoupdate/auto-update-plg-zmaxaddon.xml</server> </updateservers> </extension>