去除CKFinder版权信息以及启用文件移动功能

最近在做毕业设计,使用到了CkEditor和CkFinder来做富文本编辑框以及文件管理。
因为CkFinder只能下载使用Demo版本,会有一些版权信息。
我不是用做商业目的,仅仅为了学习,所以想把版权信息去掉。
看了几篇博客,都是教你把alert框加上display:none,我考虑到这样并不好,因为如果有其他正常的信息也不能显示了,所以花了些时间改了下ckfinder.js,既去掉了版权信息,又不会影响其他信息的提示。

下文提供了两种方法,建议使用第二种。

如果你是用于商业目的,请到官网购买使用的License使用。

CKFinder版本: Version: 2.6.2.1 • Released 11 Oct 2016

不想自己操作这么麻烦的,去CSDN下载我上传好的,2积分 哈哈哈
链接:http://download.csdn.net/detail/qq1255685485/9845062

第一种

第一种麻烦而且需要逻辑改动较大。

左下角信息

在ckfinder.js中搜索:

t="\x54\150\151\163\040\x69\163\x20\164\x68\145\040\x44\105\x4d\x4f\040\166\x65\x72\x73\x69\157\156\x20\157\146\040\103\113\x46\151\x6e\144\145\x72\056\040\120\154\x65\141\163\145\040\166\x69\x73\x69\x74\x20\164\150\145\040\x3c\x61\x20\150\162\x65\x66\x3d\x27\150\164\x74\x70\x3a\x2f\x2f\x63\x6b\163\157\x75\x72\x63\x65\056\143\x6f\x6d\057\143\153\146\151\x6e\144\x65\162\x27\x20\164\141\162\x67\x65\x74\x3d\047\x5f\x62\154\141\x6e\x6b\x27\x3e\x43\x4b\106\151\156\144\x65\x72\040\x77\145\x62\040\163\151\x74\x65\x3c\x2f\x61\x3e\x20\164\157\040\x6f\x62\x74\141\x69\x6e\x20\141\040\166\x61\154\151\144\040\x6c\151\x63\x65\156\163\x65\x2e"

位置在文件比较靠后的位置,替换为:

t=""

这一句的解码后为:

This is the DEMO version of CKFinder.Please visit the <a href='http://cksource.com/ckfinder' target='_blank'>CKFinder web site</a> to obtain a valid license.

可以在 http://ddecode.com/hexdecoder 解码

顶端信息

在ckfinder.js中搜索:

P="\x50\x6c\x65\141\x73\x65\040\166\151\x73\x69\x74\x20\164\x68\x65\040\074\141\040\x68\162\x65\146\075\x27\x68\164\x74\160\072\057\057\x63\x6b\x73\x6f\x75\x72\x63\x65\056\x63\157\155\057\143\x6b\x66\151\x6e\x64\x65\x72\x27\x20\x74\141\162\147\145\x74\x3d\x27\x5f\x62\154\141\x6e\153\x27\x3e\x43\x4b\106\x69\x6e\x64\x65\162\x20\x77\x65\142\x20\x73\x69\x74\145\x3c\x2f\x61\x3e\040\x74\x6f\x20\157\142\x74\x61\151\156\x20\141\040\166\141\154\151\x64\040\154\151\143\145\x6e\163\145\x2e",Q="\x54\150\x69\163\x20\151\x73\040\x74\x68\x65\040\x44\x45\x4d\117\040\x76\x65\x72\163\x69\157\156\x20\157\x66\040\x43\x4b\106\x69\156\144\145\x72\x2e\x20"+P,R="\x50\162\157\144\x75\x63\164\040\154\151\143\x65\156\163\145\x20\150\141\x73\x20\x65\x78\160\x69\162\145\144\x2e\040"+P;

这里定义了三个变量P, Q, R, 分别代表的意思如下:

P="Please visit the <a href='http://cksource.com/ckfinder' target='_blank'>CKFinder web site</a> to obtain a valid license.";
Q="This is the DEMO version of CKFinder." + P;
R="Product license has expired." + P;

将搜索到的内容替换为

P=""; Q=""; R="";

替换完成后发现文件库为空白,更具体可以说,当将Q设置为空白字符串之后才会显示空白,而替换PR都不会出现这种情况,因为代码后面对Q的值做了判断.

所以我们继续向下看,继续搜索:

if(!Q)

可以看到这个判断if(!Q) return;,删除这一个判断体.

还没有结束,继续搜索:

Q.charAt

可以看到另外一个判断if(pw||Q.charAt(2<<2)!='t')return;,为了保证正常使用,将这个判断体替换为:

if(pw) return;

另外多说一句,Q变量删除到Q="\x54\150\x69\163\x20\151\x73\040\x74"的时候还能正常使用,也就是Q="This is t",可以做些尝试。

当以上工作全部完成之后,刷新页面即可以看到版权信息全部去掉了,而且并没有影响到其他信息的提醒。

哈哈哈😂。看到这的都是真爱。
那么给你们说一个更简单的方法,只需三步,更完美的解决问题。

第二种

简单,只需三步

左下角信息

搜索: this.dV().getChild(0).appendHtml,很显然是为左下角添加信息,看这一句上面有个if判断:

if (this.app.gd == 'bootstrap') {
    var H = "\x3c\x64\151\x76\x20\143\x6c\x61\x73\x73\x3d\x27\166\x69\145\167\x20\164\157\157\154\137\160\141\x6e\145\x6c\047\040\x73\x74\x79\154\145\075\047\x64\151\x73\x70\154\141\x79\x3a\x62\x6c\157\143\153\x20\x21\x69\x6d\160\157\x72\164\x61\x6e\164\x3b\160\x6f\163\x69\x74\151\x6f\x6e\072\x73\x74\x61\164\151\143\040\x21\x69\x6d\160\157\x72\164\x61\x6e\x74\x3b\x63\x6f\x6c\157\x72\x3a\043\x33\x31\x37\x30\x38\x66\x20\041\151\155\x70\157\x72\x74\x61\156\x74\073\x62\x61\x63\x6b\147\162\157\165\x6e\144\055\143\157\x6c\x6f\x72\x3a\x23\144\x39\145\144\146\x37\x20\x21\x69\x6d\x70\157\x72\x74\141\156\x74\073\146\x6f\156\164\x2d\x73\151\172\x65\x3a\x20\061\063\x70\170\073\040\x70\141\x64\144\x69\156\147\072\040\x35\x70\170\073\x20\155\141\162\147\x69\x6e\072\065\160\170\x3b\x62\157\162\144\x65\162\055\x72\141\144\x69\x75\x73\x3a\x34\160\x78\x3b\047\x3e";
    v = H + t + s;
    w = H + u + s;
}

进行解码和字符串组合,可以看到变量v就是版权信息, w是已经购买的信息。在搜索到的this.dV().getChild(0).appendHtml括号里面,改为:

this.dV().getChild(0).appendHtml(C||D||A!=4?"":"");

简言之就是不管买没买,都不显示这个提示,设置为空字符串就好了。

顶端信息

顶端的去处版权信息的方法和左下角类似。

搜索: aT.mj=Q 替换为 aT.mj=Q.toLowerCase().indexOf("demo") ? "" : Q;
搜索: aT.mj=R 替换为 aT.mj=R.toLowerCase().indexOf("demo") ? "" : R;

大功告成, 更完美的解决了问题~ 😎

2017-5-17 更新:启用剪切功能

今天发现虽然版权信息没有了,但是“临时文件夹”功能“从临时文件夹剪切至此”在Demo版本中不能使用,提示:

This function is disabled in the demo version of CKFinder.
Please visit the CKFinder web site to obtain a valid license.

启用方法:

  1. 搜索z.app.msgDialog, 可以看到包含它的是一个判断。

    if('balabalabalabalabala...') //这个判断很长
        显示这是Demo版本,不能用这个功能; 
    else 
        执行指令; 
    

    那我们要做的就是只留下需要执行的指令就可以了。
    这一步完成,就可以从临时文件中移动文件了。

  2. 和第1步类似,搜索y.msgDialog,同样包含它的是一个判断,不同的是这个判断体的else部分执行了多条指令。删除判断只留下指令就可以了。

    这一步完成,就可以在各个文件夹中移动文件了。

这样文件的移动功能就可以正常使用了。我好像太坏了。

坚持原创技术分享,您的支持将鼓励我继续创作!