您的位置:首页 > Web前端 > HTML

pligg9.7beta搭起后HTML编辑器插件的安装(fckeditor的配置与修改变相支持中文文件名)

2007-08-30 20:38 816 查看
 pligg9.7beta搭起后HTML编辑器插件的安装(fckeditor的配置与修改变相支持中文文件名:默认上传后不能正常调用)就像csdn的这个编辑器

不是我重发文章,而是csdn的blog不让我发布成功!!,不知道哪里出问题啦。
这次我是保存啦的(点编辑器上一排左边第三个的),结果终于又碰到上次丢文章的现象,试着恢复上次提交,!!总是显示等待 writeblog.csdn.net...就是不显示内容,全部空白!跟在新写文章似的。。麻烦csdn负责人能看下到底什么原因导致我文章再次丢失, 我想这不是偶然现象!!

类似文章:pligg9.7beta的后HTML编辑器插件的安装(tinymce_2_1_1_1)(以及使用中遇到的点滴问题解决办法)
地址:http://blog.csdn.net/clin003/archive/2007/08/18/1749260.aspx
by clin003 from http://clin003.com或http://blog.csdn.net/clin003/ 由于tinymce的双引号(其实后来发现不是tinymce的问题)和 pligg9.7beta的“添加到”的标题截取有点冲突:在页面源代码出现双引号导致,收藏到digg连接显示混乱现象。目前还没去看怎么解决。

效果图:



-------------by clin003 at 20070830---------------------------------------

首先去下载fckeditor这个不用说啦。
解压——>上传fckeditor文件夹到——>/pligg所在目录/plugins/这里。(可以假定谣传到这里,建议如果想自定义fckeditor的话等配置完成后再上传)。
接着打开/pligg所在目录/templates/yget/下边的submit_step_2.tpl模板,在
{config_load file="/libs/lang.conf"}


{config_load file="/libs/lang.conf"}

后(大概在第一行)添加:

{literal}<script type="text/javascript" src="/beta/plugins/fckeditor/fckeditor.js"></script>
    <script type="text/javascript">

window.onload = function()
{
    // Automatically calculates the editor base path based on the _samples directory.
    // This is usefull only for these samples. A real application should use something like this:
    //oFCKeditor.BasePath = '/beta/plugins/fckeditor/' ;    // '/fckeditor/' is the default value.
    

    var oFCKeditor = new FCKeditor( 'bodytext' ) ;
    oFCKeditor.BasePath    = '/beta/plugins/fckeditor/' ;
    oFCKeditor.Value = 'This hello.' ;
    oFCKeditor.Width = '100%' ;
    oFCKeditor.Height = '500' ;
    oFCKeditor.ReplaceTextarea() ;
}

    </script>  {/literal}  

这里的basepath就是你的fckeditor目录,width定义编辑器宽度,height为高度,replacetextarea替换原编辑框(这里牵涉到fckeditor是用的不同方法我不举例啦,这个方法虽然不推荐,但是很适合pligg)。
更多的参数:
参考fckeditor.js然后google中文意思。
这一步完成几乎就可以正常使用啦。
如果以前装过tinymce,你可能修改过pligg.pl建议修改回原文件(或直接用原文件覆盖)。

---------------------
以下修改的部分,如果觉得麻烦,可以直接下载我打包的fckeditor:http://clin003.com/bbeta/fckeditor2.4.3.rar
下载后直接参考上边的步骤就可以支持(pligg9.7beta)php中可视化编辑器,包括可上传带中文名字的图片,视频,以及其他自定义类型的文件到服务器

下面说说fckeditor的修改(可解决上边安装完成后使用中遇到的部分问题):
我使用php的,所以要修改一些地方
1.fckconfig.js中找到


var _FileBrowserLanguage    = 'php' ;    // asp | aspx | cfm | lasso | perl | php | py


var _QuickUploadLanguage    = 'php' ;    // asp | aspx | cfm | lasso | php

参看我的修改为php。
by clin003 from http://clin003.com或http://blog.csdn.net/clin003/ 2.添加字体


FCKConfig.FontNames        = '宋体;黑体;隶书;楷体_GB2312;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;

修改这里。

3.修改默认编辑器功能按钮


FCKConfig.ToolbarSets["Default"] = [


    ['Source','DocProps','-','Save','NewPage','Preview','-','Templates'],


    ['Cut','Copy','Paste','PasteText','PasteWord','-','SpellCheck'],


    ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],


    '/',


    ['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],


    ['OrderedList','UnorderedList','-','Outdent','Indent'],


    ['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],


    ['Link','Unlink','Anchor'],


    ['Image','Flash','Table','Rule','Smiley','SpecialChar','PageBreak'],


    ['TextColor','BGColor'],


    '/',


    ['Style','FontFormat','FontName','FontSize']


] ;



这里做相应修改。我的已经做过部分修改,请根据自己情况自行修改。

4.找到config.php文件在目录--fckeditor-editor-filemanager-browser-default-connectors-php下


$Config['Enabled'] = true ;//edit by clin003 for use php lang




$date_time_arrayss = getdate (time());


$dddfiles= $date_time_arrayss[ "mon"].$date_time_arrayss[ "year"];




// Path to user files relative to the document root.


$Config['UserFilesPath'] = '/beta/userfiles/'.$dddfiles.'/' ;//edit by clin003 use time for subdir

参照我的修改,//号后为我做的说明。请参照
主要目的是使用时间来命名上传文件(避免中文名字浏览器认不出来)

5.找到config.php文件在目录--fckeditor-editor-filemanager-upload-php-下




$Config['Enabled'] = true ;




// Set if the file type must be considere in the target path.


// Ex: /userfiles/image/ or /userfiles/file/


$Config['UseFileType'] = true ;


//add by clin003 for submunu for files


$date_time_arrayss = getdate (time());


$dddfiles= $date_time_arrayss[ "mon"].$date_time_arrayss[ "year"];


//add by clin003 for submunu for files useing time number.




// Path to uploaded files relative to the document root.


$Config['UserFilesPath'] = '/beta/userfiles/'.$dddfiles.'/' ;//edit by clin003 for submunu for files useing time number.

修改办法雷同上步。
by clin003 from http://clin003.com或http://blog.csdn.net/clin003/ 6.找到commands.php文件在目录--fckeditor-editor-filemanager-browser-default-connectors-php-下
 
by clin003 from http://clin003.com或http://blog.csdn.net/clin003/

    if ( isset( $_FILES['NewFile'] ) && !is_null( $_FILES['NewFile']['tmp_name'] ) )


    {


        global $Config ;




        $oFile = $_FILES['NewFile'] ;




        // Map the virtual path to the local server path.


        $sServerDir = ServerMapFolder( $resourceType, $currentFolder ) ;




        // Get the uploaded file name.


        $sFileName = $oFile['name'] ;




        // Replace dots in the name with underscores (only one dot can be there... security issue).


        if ( $Config['ForceSingleExtension'] )


            $sFileName = preg_replace( '//.(?![^.]*$)/', '_', $sFileName ) ;


        //add by clin003 at 20070830 for chinese file name can be get.!


        $date_time_array_files = getdate (time());


        $ddd_chinese_file_names= $date_time_array_files[ "seconds"].$date_time_array_files[ "minutes"].$date_time_array_files[ "hours"].$date_time_array_files[ "mday"].$date_time_array_files[ "mon"].$date_time_arrayss[ "year"]; 


        //$sOriginalFileName = $sFileName ;


        $sOriginalFileName =$ddd_chinese_file_names;//edit by clin003  at 20070830 for chinese names


        //$sOriginalFileName = $sFileName ;




        // Get the extension.


        $sExtension = substr( $sFileName, ( strrpos($sFileName, '.') + 1 ) ) ;


        $sExtension = strtolower( $sExtension ) ;




        $arAllowed    = $Config['AllowedExtensions'][$resourceType] ;


        $arDenied    = $Config['DeniedExtensions'][$resourceType] ;




        if ( ( count($arAllowed) == 0 || in_array( $sExtension, $arAllowed ) ) && ( count($arDenied) == 0 || !in_array( $sExtension, $arDenied ) ) )


        {


            $iCounter = 0 ;


            $sFileName= $sOriginalFileName . '_' .'0'. '.' . $sExtension ;//add by clin003  at 20070830 for chinese names




            while ( true )


            {


                $sFilePath = $sServerDir . $sFileName ;




                if ( is_file( $sFilePath ) )


                {


                    $iCounter++ ;


                    $sFileName = $sOriginalFileName . '_' . $iCounter . '.' . $sExtension ;//edit by clin003  at 20070830 for chinese names


                    //    $sFileName = RemoveExtension( $sOriginalFileName ) . '(' . $iCounter . ').' . $sExtension ;


                    $sErrorNumber = '201' ;


                }


                else


                {


                    move_uploaded_file( $oFile['tmp_name'], $sFilePath ) ;




                    if ( is_file( $sFilePath ) )


                    {


                        $oldumask = umask(0) ;


                        chmod( $sFilePath, 0744 ) ;


                        umask( $oldumask ) ;


                    }




                    break ;


                }


            }


        }


        else


            $sErrorNumber = '202' ;


    }

修改请参考我给出的多余代码定位位置

7.找到upload.php文件在目录--fckeditor-editor-filemanager-upload-php-下
找到

by clin003 from http://clin003.com或http://blog.csdn.net/clin003/

// Check if this uploader has been enabled.


if ( !$Config['Enabled'] )


    SendResults( '1', '', '', 'This file uploader is disabled. Please check the "editor/filemanager/upload/php/config.php" file' ) ;




// Check if the file has been correctly uploaded.


if ( !isset( $_FILES['NewFile'] ) || is_null( $_FILES['NewFile']['tmp_name'] ) || $_FILES['NewFile']['name'] == '' )


    SendResults( '202' ) ;




// Get the posted file.


$oFile = $_FILES['NewFile'] ;




// Get the uploaded file name extension.


$sFileName = $oFile['name'] ;




// Replace dots in the name with underscores (only one dot can be there... security issue).


if ( $Config['ForceSingleExtension'] )


    $sFileName = preg_replace( '//.(?![^.]*$)/', '_', $sFileName ) ;




//add by clin003 at 20070830 for chinese file name can be get.!


$date_time_array_files = getdate (time());


$ddd_chinese_file_names= $date_time_array_files[ "seconds"].$date_time_array_files[ "minutes"].$date_time_array_files[ "hours"].$date_time_array_files[ "mday"].$date_time_array_files[ "mon"].$date_time_arrayss[ "year"]; 


//$sOriginalFileName = $sFileName ;


$sOriginalFileName =$ddd_chinese_file_names;//edit by clin003  at 20070830 for chinese names






// Get the extension.


$sExtension = substr( $sFileName, ( strrpos($sFileName, '.') + 1 ) ) ;


$sExtension = strtolower( $sExtension ) ;




// The the file type (from the QueryString, by default 'File').


$sType = isset( $_GET['Type'] ) ? $_GET['Type'] : 'File' ;




// Check if it is an allowed type.


if ( !in_array( $sType, array('File','Image','Flash','Media') ) )


    SendResults( 1, '', '', 'Invalid type specified' ) ;




// Get the allowed and denied extensions arrays.


$arAllowed    = $Config['AllowedExtensions'][$sType] ;


$arDenied    = $Config['DeniedExtensions'][$sType] ;




// Check if it is an allowed extension.


if ( ( count($arAllowed) > 0 && !in_array( $sExtension, $arAllowed ) ) || ( count($arDenied) > 0 && in_array( $sExtension, $arDenied ) ) )


    SendResults( '202' ) ;




$sErrorNumber    = '0' ;


$sFileUrl        = '' ;




// Initializes the counter used to rename the file, if another one with the same name already exists.


$iCounter = 0 ;




// Get the target directory.


if ( isset( $Config['UserFilesAbsolutePath'] ) && strlen( $Config['UserFilesAbsolutePath'] ) > 0 )


    $sServerDir = $Config['UserFilesAbsolutePath'] ;


else


    $sServerDir = GetRootPath() . $Config["UserFilesPath"] ;




if ( $Config['UseFileType'] )


    $sServerDir .= strtolower($sType) . '/' ;




//check for the directory before uploading the file


if(!is_dir($sServerDir))


{


    mkdir($sServerDir, 0711);







    $sFileName= $sOriginalFileName . '_' .'0'. '.' . $sExtension ;//add by clin003  at 20070830 for chinese names


while ( true )


{




    // Compose the file path.


    $sFilePath = $sServerDir . $sFileName ;




    // If a file with that name already exists.


    if ( is_file( $sFilePath ) )


    {


        $iCounter++ ;


        $sFileName = $sOriginalFileName . '_' . $iCounter . '.' . $sExtension ;//edit by clin003  at 20070830 for chinese names


        $sErrorNumber = '201' ;


    }


    else


    {    


        move_uploaded_file( $oFile['tmp_name'], $sFilePath ) ;


    


        if ( is_file( $sFilePath ) )


        {


            $oldumask = umask(0) ;


            chmod( $sFilePath, 0744 ) ;


            umask( $oldumask ) ;


        }




        if ( $Config['UseFileType'] )


            $sFileUrl = $Config["UserFilesPath"] . strtolower($sType) . '/' . $sFileName ;


        else


            $sFileUrl = $Config["UserFilesPath"] . $sFileName ;




        break ;


    }


}

修改,第6步是参照这里改的。
by clin003 from http://clin003.com或http://blog.csdn.net/clin003/ -------------------
-------------by clin003 at 20070830---------------------------------------

-------下边的修改没有打包,如果需要请自行修改----参考自:http: //blog.csdn.net/tearzhao/archive/2007/08/21/1752414.aspx----------------------------------

在editor文件夹中修改dialog目录下的fck_image/fck_image.js文件内容
把tab,link和upload,advanced三个标签注释掉,弹出窗口的时候不再显示链接,上传和高级标签


在editor文件夹中修改dialog目录下的fck_imageck_image.js文件内容


把tab,link和upload,advanced三个标签注释掉,弹出窗口的时候不再显示链接,上传和高级标签


if ( !bImageButton && !FCKConfig.ImageDlgHideLink )


 //window.parent.AddTab( 'Link', FCKLang.DlgImgLinkTab ) ;




if ( FCKConfig.ImageUpload )


 //window.parent.AddTab( 'Upload', FCKLang.DlgLnkUpload ) ;




if ( !FCKConfig.ImageDlgHideAdvanced )


 //window.parent.AddTab( 'Advanced', FCKLang.DlgAdvancedTag ) ;


function OnDialogTabChange( tabCode )


{


 ShowE('divInfo'  , ( tabCode == 'Info' ) ) ;


 //ShowE('divLink'  , ( tabCode == 'Link' ) ) ;


 //ShowE('divUpload' , ( tabCode == 'Upload' ) ) ;


 //ShowE('divAdvanced' , ( tabCode == 'Advanced' ) ) ;


}




同样,flash修改方式和image相同.

 

------------------------------------------

 
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐