Z-Blog PHP插件开发笔记
因为研究了公众号采集阅读量的接口,所以想把这个集成到我的博客里。本来想直接改ZBlog的代码,但是改来改去发现要改的东西实在太多,而且对原来的系统不友好。所以看了下Zblog的插件开发资料,发现与iOS逆向插件开发有很多相同之处,都是HOOK某些方法,然后修改返回值之类的。
1、在后台应用中心新建插件
2、在目录 zb_users/plugin/ 下就有刚才建的插件了
3、编辑插件目录下的include.php
function ActivePlugin_wxapi() {
Add_Filter_Plugin('Filter_Plugin_Cmd_Begin','wxapi_WatchCmd');
Add_Filter_Plugin('Filter_Plugin_Zbp_MakeTemplatetags','canSearch');
}
我这里用到了 Filter_Plugin_Zbp_MakeTemplatetags和Filter_Plugin_Cmd_Begin,后面是调用你HOOK之后的方法。具体有哪些方法可以被HOOK,官方文档如下。
文章相关接口
管理页面输出
接管系统方法
分类相关接口
管理页面输出
接口名称 | 接口参数 | 接口描述 |
---|
Filter_Plugin_Admin_CategoryMng_SubMenu |
| 分类管理页面子菜单 |
Filter_Plugin_Category_Edit_Response |
| 分类编辑页输出接口 |
接管系统方法
接口名称 | 接口参数 | 接口描述 |
---|
Filter_Plugin_PostCategory_Core | cate | 分类编辑的核心接口 |
Filter_Plugin_PostCategory_Succeed | cate | 分类编辑成功的接口 |
Filter_Plugin_DelCategory_Succeed | cate | 分类删除成功的接口 |
Filter_Plugin_Category_Call | category,method,args | Category类的魔术方法接口 |
评论接口
接口名称 | 接口参数 | 接口描述 |
---|
Filter_Plugin_Admin_CommentMng_SubMenu |
| 评论管理 |
Filter_Plugin_PostComment_Core | cmt | 评论发表的核心接口 |
Filter_Plugin_PostComment_Succeed | cmt | 评论发表成功的接口 |
Filter_Plugin_DelComment_Succeed | cmt | 评论删除成功的接口 |
Filter_Plugin_Comment_Call | comment,method,args | Comment类的魔术方法接口 |
用户接口
接口名称 | 接口参数 | 接口描述 |
---|
Filter_Plugin_Admin_MemberMng_SubMenu |
| 用户管理 |
Filter_Plugin_Member_Edit_Response |
| 会员编辑页输出接口 |
Filter_Plugin_PostMember_Core | mem | 会员编辑的核心接口 |
Filter_Plugin_PostMember_Succeed | mem | 会员编辑成功的接口 |
Filter_Plugin_DelMember_Succeed | mem | 会员删除成功的接口 |
Filter_Plugin_Member_Call | member,method,args | Member类的魔术方法接口 |
Filter_Plugin_Mebmer_Avatar | member | Mebmer类的Avatar接口 |
附件接口
接口名称 | 接口参数 | 接口描述 |
---|
Filter_Plugin_Admin_UploadMng_SubMenu |
|
|
Filter_Plugin_Upload_SaveFile | tmp | Upload类的SaveFile方法接口 |
Filter_Plugin_Upload_SaveBase64File | str64 | Upload类的SaveBase64File方法接口 |
Filter_Plugin_Upload_Url | upload | Upload类的Url方法接口 |
标签接口
接口名称 | 接口参数 | 接口描述 |
---|
Filter_Plugin_Admin_TagMng_SubMenu |
| 标签管理 |
Filter_Plugin_Tag_Edit_Response |
| 标签编辑页输出接口 |
Filter_Plugin_PostTag_Core | tag | 标签编辑的核心接口 |
Filter_Plugin_PostTag_Succeed | tag | 标签编辑成功的接口 |
Filter_Plugin_DelTag_Succeed | tag | 标签删除成功的接口 |
Filter_Plugin_Tag_Call | tag,method,args | Tag类的魔术方法接口 |
主题接口
接口名称 | 接口参数 | 接口描述 |
---|
Filter_Plugin_Admin_ThemeMng_SubMenu |
| 主题管理 |
插件接口
接口名称 | 接口参数 | 接口描述 |
---|
Filter_Plugin_Admin_PluginMng_SubMenu |
| 插件管理 |
模块接口
接口名称 | 接口参数 | 接口描述 |
---|
Filter_Plugin_Admin_ModuleMng_SubMenu |
| 模块管理 |
Filter_Plugin_PostModule_Core | mod | 模块编辑的核心接口 |
Filter_Plugin_PostModule_Succeed | mod | 模块编辑成功的接口 |
Filter_Plugin_DelModule_Succeed | mod | 模块删除成功的接口 |
浏览接口
接口名称 | 接口参数 | 接口描述 |
---|
Filter_Plugin_Index_Begin |
| 定义index.php接口 起动 |
Filter_Plugin_Index_End |
| 定义index.php接口 结束 |
Filter_Plugin_Html_Js_Add |
| c_html_js_add.php脚本调用,JS页接口需要强制开启 |
Filter_Plugin_Search_Begin |
| 搜索页接口,可以接管搜索页。 |
Filter_Plugin_Feed_Begin |
| Feed页接口,可以接管Feed页。 |
Filter_Plugin_ViewAuto_Begin | url | 定义列表输出接口 |
Filter_Plugin_ViewList_Begin | page,cate,auth,date,tags | 定义列表输出接口 |
Filter_Plugin_ViewPost_Begin | id,alias | 定义列表输出接口 |
Filter_Plugin_ViewList_Template | template | 处理列表页模板接口 |
Filter_Plugin_ViewPost_Template | template | 处理文章页模板接口 |
Filter_Plugin_ViewComments_Template | template | 处理评论模板接口 |
系统接口
接口名称 | 接口参数 | 接口描述 |
---|
Filter_Plugin_Autoload | classname | 定义autoload魔术方法 |
Filter_Plugin_Zbp_Call | method, args | Zbp类的魔术方法接口 |
Filter_Plugin_Zbp_CheckRights | action | Zbp类的检查权限接口(检查当前用户) |
Filter_Plugin_Zbp_CheckRightsByLevel | level,action | Zbp类的检查权限接口(检查指定level) |
Filter_Plugin_Zbp_ShowError | idortext | Zbp类的显示错误接口 |
Filter_Plugin_Zbp_BuildTemplate | template | Zbp类的重新编译模板接口 |
Filter_Plugin_Zbp_MakeTemplatetags | template | Zbp类的生成模板标签接口 |
Filter_Plugin_Zbp_BuildModule |
| Zbp类的生成模块内容的接口 |
Filter_Plugin_Zbp_Load |
| Zbp类的初始加载接口 |
Filter_Plugin_Zbp_Terminate |
| Zbp类的终结接口 |
Filter_Plugin_Cmd_Begin |
| cmd.php的启动接口,可以在这里拦截各种action |
其他
接口名称 | 接口参数 | 接口描述 |
---|
Filter_Plugin_Admin_Begin |
| 后台管理页的启动接口,可以拦截后台管理请求实现自己的管理 |
Filter_Plugin_Admin_Header |
| 定义后台首页header接口 |
Filter_Plugin_Admin_Footer |
| 定义后台首页footer接口 |
Filter_Plugin_Admin_LeftMenu | leftmenus | 定义后台左侧栏接口 |
Filter_Plugin_Admin_TopMenu | topmenus | 定义后台顶部导航栏接口 |
Filter_Plugin_Admin_SiteInfo_SubMenu |
| 后台首页SubMenu |
Filter_Plugin_Admin_SettingMng_SubMenu |
| 设置管理 |
Filter_Plugin_Admin_Js_Add |
| c_admin_js_add.php脚本页的接口 |