注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

网事

备忘录

 
 
 

日志

 
 

fckeditor文件上传路径的问题,修改Fckeditor 2.6 增加插入Mp3等多媒体文件功能   

2010-04-26 16:18:40|  分类: PHP |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

由于Fckeditor 2.6的代码有很多变动,原来的Fckeditor 2.5下的插入多媒体的代码需要调整,步骤如下:

一、分别打开:editor/js/fckeditorcode_ie.js和/editor/js/fckeditorcode_gecko.js

找到程序代码

以下是代码片段:

||/\.swf($|#|\?)/i.test(A.src)

这段代码的主要用来判断后缀名,如果后缀名不是swf则返回,把它替换为:

 

以下是代码片段:

||/\.swf($|#|\?)/i.test(A.src)||/\.mpg($|#|\?)/i.test(A.src)||/\.asf($|#|\?)/i.test(A.src)||/\.wma($|#|\?)/i.test(A.src)

||/\.wmv($|#|\?)/i.test(A.src)||/\.avi($|#|\?)/i.test(A.src)||/\.mov($|#|\?)/i.test(A.src)||/\.mp3($|#|\?)/i.test(A.src)

||/\.rmvb($|#|\?)/i.test(A.src)||/\.mid($|#|\?)/i.test(A.src)

 

文件格式可以根据情况来修改,但是注意要和其他的几个地方吻合

二、打开/editor/dialog/fck_flash/fck_flash.js

1、增加程序代码,这段代码用来判断后缀名

 

以下是代码片段:

function WinPlayer(url){

var r, re;

re = /.(avi|wmv|asf|wma|mid|mp3|mpg)$/i;

r = url.match(re);

return r;

}

function RealPlayer(url){

var r, re;

re = /.(.rm|.ra|.rmvb|ram)$/i;

r = url.match(re);

return r;

}

function QuickTime(url){

var r, re;

re = /.(mov|qt)$/i;

r = url.match(re);

return r;

}

function FlashPlayer(url){

var r, re;

re = /.swf$/i;

r = url.match(re);

return r;

}

2、替换程序代码,这段代码是在UpdatePreview中用来添加type属性

 

以下是代码片段:

SetAttribute( e, 'type', 'application/x-shockwave-flash' ) ;

以下是代码片段:

if(WinPlayer(GetE('txtUrl').value)!=null){

SetAttribute( e, 'type', 'application/x-mplayer2' ) ;

}

if(RealPlayer(GetE('txtUrl').value)!=null){

SetAttribute( e, 'type', 'audio/x-pn-realaudio-plugin' ) ;

}

if(QuickTime(GetE('txtUrl').value)!=null){

SetAttribute( e, 'type', 'application/video/quicktime' ) ;

}

if(FlashPlayer(GetE('txtUrl').value)!=null){

SetAttribute( e, 'type', 'application/x-shockwave-flash' ) ;

SetAttribute( e, 'pluginspage', 'http://www.macromedia.com/go/getflashplayer' ) ;

}

3、替换程序代码,这段代码是在UpdateEmbed中用来添加type属性

 

以下是代码片段:

SetAttribute( e, 'type' , 'application/x-shockwave-flash' ) ;

SetAttribute( e, 'pluginspage' , 'http://www.macromedia.com/go/getflashplayer' ) ;

以下是代码片段:

if(WinPlayer(GetE('txtUrl').value)!=null){

SetAttribute( e, 'type' , 'application/x-mplayer2' ) ;

SetAttribute( e, 'autostart', GetE('chkAutoPlay').checked ? 'true' : 'false' ) ;

}

if(RealPlayer(GetE('txtUrl').value)!=null){

SetAttribute( e, 'type' , 'audio/x-pn-realaudio-plugin' ) ;

SetAttribute( e, 'autostart', GetE('chkAutoPlay').checked ? 'true' : 'false' ) ;

}

if(QuickTime(GetE('txtUrl').value)!=null){

SetAttribute( e, 'type' , 'video/quicktime' ) ;

SetAttribute( e, 'autostart', GetE('chkAutoPlay').checked ? 'true' : 'false' ) ;

}

if(FlashPlayer(GetE('txtUrl').value)!=null){

SetAttribute( e, 'type' , 'application/x-shockwave-flash' ) ;

SetAttribute( e, 'pluginspage' , 'http://www.macromedia.com/go/getflashplayer' ) ;

}

三、打开/fckconfig.js,该文件为配置文件

替换程序代码,这个是在上传文件的时候检查后缀名

以下是代码片段:

FCKConfig.FlashUploadAllowedExtensions = ".(swf)$" ; // empty for all

以下是代码片段:

FCKConfig.FlashUploadAllowedExtensions = ".(swf|fla|mpg|asf|wma|wmv|avi|mov|mp3|rmvb|mid)$" ; // empty for all

三、修改editor/filemanager/connectors/php/config.php文件

查找:

$Config['AllowedExtensions']['Flash']=array('swf');

替换为:

$Config['AllowedExtensions']['Flash'] = explode('|','swf|flv|fla|mpg|asf|wma|wmv|avi|mov|mp3|rmvb|rm|mid') ;

四、打开/editor/lang/zh-cn.js 文件,该部分为语言文件,将相关"插入/编辑 Flash"替换为“插入/编辑 多媒体" 就可以了

好了,现在可以直接通过原来的插入flash的功能来插入各种类型的多媒体文件了!

  评论这张
 
阅读(368)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018