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

 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_image ck_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相同.

 

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


 
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值