emlog 支持插件机制,这样使得开发者可以方便地向emlog 中添加自己需要的功能。
一、插件实现原理:
在emlog 整个运行过程中我们设定了一些动作事件,遇到这些事件时emlog 会自动的调用插件绑定到该事件的上的所有插件函数,从而实现插件的功能。
二、插件命名原则:
插件名只能以半角的字母、数字、下划线(_)、横杠(-) 组合而成,且只能以字母作为开头。
1、插件文件名称
插件主文件名称必须与插件所在文件夹名称相同,设定插件参数的配置程序文件名称必须为 “插件名称_setting.php”;(注:该文件为可选,如果你的插件需要用户配置参数才需要该文件来完成配置功能)
文件夹名:slemlog
主文件名:slemlog.php(必须有此文件,相当于模板的module.php,舍力是这样理解的,函数变量的命名请尽快用于插件名一样<如:slemlog_xxx()>, 采用这样的命名方式可以避免于其他插件的函数或者变量出现冲突。)
参数设置文件:slemlog_setting.php(此文件看需求,可有可无)
写入数据库文件:slemlog_callback.php(数据需要写入数据库必须要有才文件)
前台显示文件:slemlog_show.php(此文件中的内容将会在前台显示,格式为:域名/?plugin=slemlog)
2、安全性
在插件文件开头增加限制语句
插件函数文件需要增加:!defined('EMLOG_ROOT') && exit('access deined!');
如果不增加该语句,那么直接访问插件的程序文件php会爆出博客的物理路径,对博客的安全造成威胁。
如果你的插件需要接收一些参数,请务必严格过滤每一个变量的数据.
例如:获取外部获取一个int型的参数,$id = $_GET['id']; 这样写是不安全的,要改为:$id = intval($_GET['id']);
如果是一个字符型的参数,$action = $_GET['action']; 这样写也是不安全的,要改为:$action = addslashes($_GET['action']);
三、插件各文件的写法说明
以下代码是在后台 “扩展功能” 中显示测试插件这几个字,可参考挂载点说明,放入不同的位置
<?php function slemlog_menu(){?><div class="sidebarsubmenu"><a href="./plugin.php?plugin=slemlog">测试插件</a></div>
<?php }
addAction('adm_sidebar_ext', 'slemlog_menu');?>
当前插件挂载点及说明请转到【
Emlog当前插件挂载点及说明】查看
日期:2017年09月03日 10:40:54 星期日 分类:
好文分享 浏览(44706)
本文地址:https://www.blogs.hk/post-2532.html [
百度已收录]
声明:本页信息由网友自行发布或来源于网络,真实性、合法性由发布人负责,请仔细甄别!本站只为传递信息,我们不做任何双方证明,也不承担任何法律责任。文章内容若侵犯你的权益,请联系本站删除!
留言咨询