FCK的设置和修改(for PHP)

作者:袖梨 2022-07-02

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<6;$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

相关文章

精彩推荐