mantis作为bug管理工具,上传附件实在是别扭,一次传多个都是问题。于是考虑使用ueditor来扩展下上传附件和截图的问题。思路是在提bug页面把bug的描述信息改成富文本的形式。
1.下载富文本编辑器
ueditor富文本编辑器下载,http://ueditor.baidu.com/website/index.html,下载最新版本(1.4.3.3),下载后解压并拷贝到mantis的主目录下。
2.提交bug页面加载富文本编辑器
首先找到bug_report_page.php文件,在页面加载
<!-- 配置文件 -->
<script type="text/javascript" src="ueditor.config.js"></script>
<!-- 编辑器源码文件 -->
<script type="text/javascript" src="ueditor.all.js"></script>
找到描述信息字段,把之前的textare替换成 <script id="container" name="content" type="text/plain">这里写你的初始化内容 </script>
在页面底部增加初始化富文本编辑器的代码
<!-- 实例化编辑器 -->
<script type="text/javascript">
var ue = UE.getEditor('container');
</script>
3.JS安全配置
打开页面,查看提交bug页面是否能够正常运行。打开页面后js报错:Uncaught EvalError: Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src 'self'".
度娘一下发现是php设置了http头部限制js执行eval等代码来攻击网站,找到http_api.php文件配置 'unsafe-inline'和'unsafe-eval',选项。
4.配置编辑器config.json配置文件
打开提交bug页面继续提交个bug试试,文字没有问题,再来个截图发现“创建路径错误”,怀疑是上传文件路径权限的问题。查看富文本编辑器的配置文件ueditor/php/config.json,给图片的上传路径设置权限。继续操作提bug页面,截图,ok了。
5.配置bug展示页面
打开刚开提交的bug,显示的是截图的地址而不是图片信息,找到bug_view_inc.php页面,找到bug描述信息,默认是转换html代码的,去掉转换函数,再次查看,页面正常显示图片了。
参考地址: