phpcms v9编辑器上传图片是否添加水印
第一步:给图片上传对话框里面添加是否添加水印的多选框,找到:
satics/js/ckeditor/ckeditor.js 第17554行 (需要格式化,我用的NetBeans)修改为
function D(){
w.$.open();
if(b.isCustomDomain())w.$.domain=document.domain;
var E='';
if(x.size)E=x.size-(c?7:0);
var F=u.frameId+'_input';
w.$.write(['<html dir="'+B+'" lang="'+C+'"><head><title></title></head><body style="margin: 0; overflow: hidden; background: transparent;">','<form enctype="multipart/form-data" method="POST" dir="'+B+'" lang="'+C+'" action="',e.htmlEncode(x.action),'">','<label id="',u.labelId,'" for="',F,'" style="display:none">',e.htmlEncode(x.label),'</label>','<input id="',F,'" aria-labelledby="',u.labelId,'" type="file" name="',e.htmlEncode(x.id||'cke_upload'),'" size="',e.htmlEncode(E>0?E:''),'" />','<input type="checkbox" name="', e.htmlEncode('watermarks_enable'), '" size="', e.htmlEncode(E > 0 ? E: ''), '" />是否添加水印','</form>','</body></html>','<script>window.parent.CKEDITOR.tools.callFunction('+z+');','window.onbeforeunload = function() {window.parent.CKEDITOR.tools.callFunction('+A+')}</script>'].join(''));
w.$.close();
for(var G=0;G<y.length;G++)y[G].enable();
};
添加了红色部分
第二步:修改 phpcms/libs/classes/image.class.php 第16行
function __construct($thumb_enable = 0 ,$water_enable = 0, $siteid)
修改 phpcms/libs/classes/image.class.php 第18行和20行
$this->water_enable = $water_enable; (第18行)
$this->watermark_enable = $this->water_enable;(第20行)
第三步:修改 phpcms/libs/classes/attachment.class.php 第35行 修改为:
将upload方法最后一个参数改为 $watermark_enable = 0
同时在39行下面空白的地方增加:
$watermark_enable = isset($_POST['watermarks_enable'])? 1 : $watermark_enable;
继续修改:第123行 实例化image类的时候的参数 改为:
$image = new image($thumb_enable,$watermark_enable,$this->siteid);
(来自转载)