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