插件
插件是可以在某个类的某个方法下插入代码执行的控件。可以让编码人员在系统插件所指定的地点,通常是某个类的某个方法执行的某个阶段后插入一段自己的代码。用于处理一些事务。
创建步骤
1、在应用的目录下新建“plugin/plugin_应用系统名.class.php”。
2、在里面新建一个类“plugin_应用系统名”;。
3、在这个类里面新建方法,方法名称为“插件系统名称”。
实例代码:
4、在表met_app_plugin写入调用信息后,系统会自动在插件处调用应用的插件方法。
met_app_plugin表结构:
字段名 | 类型 | 是否为空 | 默认 | 属性 | 注释 |
---|---|---|---|---|---|
id | int(11) | 否 | 无 | 主键 | |
no_order | int(11) | 否 | 无 | 排序,决定不同应用的代码执行的先后顺序。 | |
no | int(11) | 否 | 无 | 应用编号 | |
m_name | varchar(50) | 否 | 无 | 应用系统名称 | |
m_action | varchar(50) | 否 | 无 | 所调用的插件系统名称,也就是执行的方法名称。 | |
effect | tinyint(1) | 否 | 无 | 此应用的插件是否生效,1生效,0不生效。 |
现有插件介绍
当前系统有两个插件。doweb插件和doadmin插件
doweb插件:
插件系统名称为doweb,可以在系统二级基类web.class.php前台基类初始化的最后插入代码。doweb插件,提供3个特殊变量,通过修改这三个变量内容,可以改变前台页面的效果。
1、 $_M[‘html_plugin’][‘head_script’],可以在页面前插入html代码,一般用来添加JS代码。写成:
2、$_M[‘html_plugin’][‘foot_script’]名可以在页面底部插入html代码(前,但是会被包在底部代码的DIV里面)。一般也是用来添加JS代码。写成:
3、$_M[‘html_plugin’][‘top_script’],此变量是一个数组,可以在页面顶部的语言切换页面插入HTML代码。一般用来插入一个a标签的链接。写成:
doadmin插件
插件系统名称为doadmin,可以在系统二级基类admin.class.php后台基类初始化的最后插入代码。
注意事项:在当前系统插件中只能使用DB类与$_M数组两个系统调用,其他的类,方法等系统调用无法使用。
会员插件介绍
doregister插件:
作用: 账号同步注册。
传入值: 注册的账号、密码、绑定的邮箱所组成的一维数组。
返回值: NULL(表示插件不存在),false(注册失败),ture(注册成功)。
实例代码:
doregistert插件:
作用: 注册成功后,将用户信息存储到插件表内。
传入值: 用户id、用户名、密码、绑定的邮箱组成的一维数组。
返回值: 无。
实例代码:
doregisterf插件:
作用: 当插件内注册失败时,将注册的用户信息数据从系统内删除。
传入值:用户名、密码、绑定的邮箱组成的一维数组。
返回值: NULL(表示插件不存在),false(修改失败),ture(修改成功)。
实例代码:
douseremail插件:
作用: 修改用户绑定的邮箱。
传入值:用户id、新邮箱所组成的一维数组.
返回值: NULL(表示插件不存在),false(修改失败),ture(修改成功)。
实例代码:
douserpass插件:
作用: 修改密码。
传入值:修改类型、用户id、旧密码、新密码所组成的一维数组。(说明:修改类型的值为1时表明可以忽略旧密码进行修改)
返回值: NULL(表示插件不存在),false(修改失败),ture(修改成功)。
实例代码:
dousedel插件:
作用: 删除用户。
传入值:所有要删除用户的id组成的一维数组。
返回值:NULL(表示插件不存在),false(删除失败),ture(删除成功)。
实例代码:
douserok插件:
作用: 检测注册账号的有效性。
传入值:注册的账号。
返回值:NULL(表示插件不存在),false(账号在插件用户表内重复,不可用),ture(表示账号可用)。
实例代码:
doemail插件:
作用: 检测邮箱的有效性。
传入值:注册的邮箱。
返回值: NULL(表示插件不存在),false(邮箱在插件用户表内重复,不可用),ture(表示邮箱可用)。
实例代码:
douserlogin插件:
作用: 同步登陆。
传入值:登录类型、账号、密码所组成的一维数组。(说明:登录类型值为md5时代表登录方式是通过存入的cooike进行登录验证)
返回值:无。
实例代码:
dologout插件:
作用: 同步登陆退出。
传入值:无。
返回值:无。
实例代码: