FCKeditor目前最新的版本是2.5.1,我花了点时间将里面一些文件进行了修改,更适合实际的应用.具体的修改过程请看说明,也可以直接下载修改后的程序,见附件.
1.删除editor/_source 目录
这是FCKeditor的源码,可以删除
2.删除editor/lang 目录中除en/zh/zh-cn的语言文件
3.删除editor/filemanage/connectors 除php的目录
4.修改fckconfig.js
修改默认语言.注:这一步应该可以忽略,FCKeditor好像会自动匹配浏览器的语言
找到
FCKConfig.DefaultLanguage = 'en' ;
修改为:
FCKConfig.DefaultLanguage = 'zh-cn' ;
扩展字体,增加常用中文字体
找到
FCKConfig.FontNames = 'Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;
修改为:
FCKConfig.FontNames = '宋体;黑体;隶书;楷体_GB2312;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;
修改字号,FCKeditor中的字号是用"smaller;larger;xx-small;"等名称表示,不够直观,我们将其改成数字+px的形式
找到
FCKConfig.FontSizes = 'smaller;larger;xx-small;x-small;small;medium;large;x-large;xx-large' ;
修改为
FCKConfig.FontSizes = '9px;10px;11px;12px;13px;14px;16px;18px;24px;36px' ;
5.修改editor/filemanage/connectors/php/config.php
FCKeditor默认是关闭文件上传的,如果要打开,必须修改这个文件
找到
$Config['Enabled'] = false ;
修改为
$Config['Enabled'] = true ;
6.修改editor/filemanage/connectors/php/io.php
FCKeditor在上传文件是不对文件名进行重命名,这会影响到用中文名命名的文件
找到
PHP代码:
// Do a cleanup of the file name to avoid possible problems
function SanitizeFileName( $sNewFileName )
{
global $Config ;
$sNewFileName = stripslashes( $sNewFileName ) ;
// Replace dots in the name with underscores (only one dot can be there... security issue).
if ( $Config['ForceSingleExtension'] )
$sNewFileName = preg_replace( '/\.(?![^.]*$)/', '_', $sNewFileName ) ;
// Remove / | : ? * "
$sNewFileName = preg_replace( '/\\|\/|\||\:|\?|\*|"|/', '_', $sNewFileName );
return $sNewFileName ;
}
修改为
PHP代码:
// Do a cleanup of the file name to avoid possible problems
function SanitizeFileName( $sNewFileName )
{
global $Config ;
$sNewFileName = stripslashes( $sNewFileName ) ;
// Replace dots in the name with underscores (only one dot can be there... security issue).
if ( $Config['ForceSingleExtension'] )
$sNewFileName = preg_replace( '/\.(?![^.]*$)/', '_', $sNewFileName ) ;
$sExtension = substr( $sNewFileName, ( strrpos($sNewFileName, '.') + 1 ) ) ;
$sNewFileName = my_setfilename().'.'.$sExtension;
return $sNewFileName ;
}
function my_setfilename(){
$gettime = explode(' ',microtime());
$string = 'abcdefghijklmnopgrstuvwxyz0123456789';
$rand = '';
for ($x=0;$x
$rand .= substr($string,mt_rand(0,strlen($string)-1),1);
return date("ymdHis").substr($gettime[0],2,6).$rand;
}
7.FCKeditor在上传文件时出现的一些提示框为英文,为了方便使用,可以选择将这些提示汉化,如果不需要,可以忽略这一步
具体是修改以下文件:
editor/filemanage/connectors/php/commands.php
editor/filemanage/connectors/php/connector.php
editor/filemanage/connectors/php/upload.php
editor/dialog/fck_flash/fck_flash.js
editor/dialog/fck_image/fck_image.js
editor/dialog/fck_link/fck_link.js