Changeset 361

Show
Ignore:
Timestamp:
2007-06-03 23:57:27 (2 years ago)
Author:
fredck
Message:

Merged trunk r220:359 (except [302], [306], [308] and [358]) into branches/versions/2.4.x. Final commit for the pre-release of version 2.4.3 for public testing.

Location:
FCKeditor/branches/versions/2.4.x
Files:
72 modified
5 copied

Legend:

Unmodified
Added
Removed
  • FCKeditor/branches/versions/2.4.x/_dev/build_release.bat

    r239 r361  
    2626 
    2727:: Update this variable for each new release. 
    28 SET RELEASER_VERSION=2.4.2 
     28SET RELEASER_VERSION=2.4.3 Beta 
    2929 
    3030CLS 
     
    3939IF (%RELEASER_PATH%)==() SET RELEASER_PATH=../../fckeditor.release/ 
    4040 
    41 php releaser/fckreleaser.php ../ "%FCK_RELEASER_PATH%" "%RELEASER_VERSION%" 
     41php releaser/fckreleaser.php ../ "%RELEASER_PATH%" "%RELEASER_VERSION%" 
    4242 
    4343:End 
  • FCKeditor/branches/versions/2.4.x/_dev/releaser/fckreleaser.php

    r239 r361  
    1 #!/usr/bin/php -q 
     1#!/usr/bin/php -q 
    22<?php 
    33/* 
     
    768768 
    769769                        // Each file terminates with a CRLF, even if compressed. 
    770                         $outputData .= "\n" ; 
     770                        $outputData .= "\r\n" ; 
    771771                } 
    772772 
  • FCKeditor/branches/versions/2.4.x/editor/css/fck_internal.css

    r213 r361  
    4343.FCK__Flash 
    4444{ 
    45         border: darkgray 1px solid; 
     45        border: #a9a9a9 1px solid; 
    4646        background-position: center center; 
    4747        background-image: url(images/fck_flashlogo.gif); 
     
    6767{ 
    6868        border: 1px dotted #00F; 
    69         background-position: 1 center; 
     69        background-position: 1px center; 
    7070        background-image: url(images/fck_anchor.gif); 
    7171        background-repeat: no-repeat; 
  • FCKeditor/branches/versions/2.4.x/editor/dialog/fck_anchor.html

    r133 r361  
    111111 
    112112        // Create a new anchor preserving the current selection 
    113         oAnchor = oEditor.FCK.CreateLink( '#' ) ; 
    114         if ( !oAnchor ) 
     113        var aNewAnchors = oEditor.FCK.CreateLink( '#' ) ; 
     114 
     115        if ( aNewAnchors.length == 0 ) 
    115116        { 
    116117                // Nothing was selected, so now just create a normal A 
    117                 oAnchor = oEditor.FCK.CreateElement( 'a' ) ; 
     118                aNewAnchors.push( oEditor.FCK.CreateElement( 'a' ) ) ; 
    118119        } 
    119120        else 
    120121        { 
    121122                // Remove the fake href 
    122                 oAnchor.removeAttribute( 'href' ) ; 
    123         } 
    124         // Set the name 
    125         oAnchor.name = sNewName ; 
    126  
    127         // IE does require special processing to show the Anchor's image 
    128         // Opera doesn't allow to select empty anchors 
    129         if ( FCKBrowserInfo.IsIE || FCKBrowserInfo.IsOpera ) 
    130         { 
    131                 if ( oAnchor.innerHTML != '' ) 
     123                for ( var i = 0 ; i < aNewAnchors.length ; i++ ) 
     124                        aNewAnchors[i].removeAttribute( 'href' ) ; 
     125        } 
     126 
     127        // More than one anchors may have been created, so interact through all of them (see #220). 
     128        for ( var i = 0 ; i < aNewAnchors.length ; i++ ) 
     129        { 
     130                oAnchor = aNewAnchors[i] ; 
     131 
     132                // Set the name 
     133                oAnchor.name = sNewName ; 
     134 
     135                // IE does require special processing to show the Anchor's image 
     136                // Opera doesn't allow to select empty anchors 
     137                if ( FCKBrowserInfo.IsIE || FCKBrowserInfo.IsOpera ) 
    132138                { 
    133                         if ( FCKBrowserInfo.IsIE ) 
    134                                 oAnchor.className += ' FCK__AnchorC' ; 
     139                        if ( oAnchor.innerHTML != '' ) 
     140                        { 
     141                                if ( FCKBrowserInfo.IsIE ) 
     142                                        oAnchor.className += ' FCK__AnchorC' ; 
     143                        } 
     144                        else 
     145                        { 
     146                                // Create a fake image for both IE and Opera 
     147                                var oImg = oEditor.FCKDocumentProcessor_CreateFakeImage( 'FCK__Anchor', oAnchor.cloneNode(true) ) ; 
     148                                oImg.setAttribute( '_fckanchor', 'true', 0 ) ; 
     149 
     150                                oAnchor.parentNode.insertBefore( oImg, oAnchor ) ; 
     151                                oAnchor.parentNode.removeChild( oAnchor ) ; 
     152                        } 
     153 
    135154                } 
    136                 else 
    137                 { 
    138                         // Create a fake image for both IE and Opera 
    139                         var oImg = oEditor.FCKDocumentProcessor_CreateFakeImage( 'FCK__Anchor', oAnchor.cloneNode(true) ) ; 
    140                         oImg.setAttribute( '_fckanchor', 'true', 0 ) ; 
    141  
    142                         oAnchor.parentNode.insertBefore( oImg, oAnchor ) ; 
    143                         oAnchor.parentNode.removeChild( oAnchor ) ; 
    144                 } 
    145  
    146155        } 
    147156 
  • FCKeditor/branches/versions/2.4.x/editor/dialog/fck_flash/fck_flash.js

    r133 r361  
    8282{ 
    8383        if ( ! oEmbed ) return ; 
    84  
    85         var sUrl = GetAttribute( oEmbed, 'src', '' ) ; 
    8684 
    8785        GetE('txtUrl').value    = GetAttribute( oEmbed, 'src', '' ) ; 
     
    106104        { 
    107105                GetE('txtAttClasses').value = oEmbed.getAttribute('class',2) || '' ; 
    108                 GetE('txtAttStyle').value = oEmbed.getAttribute('style',2) ; 
     106                GetE('txtAttStyle').value = oEmbed.getAttribute('style',2) || '' ; 
    109107        } 
    110108 
     
    151149        SetAttribute( e, 'pluginspage'  , 'http://www.macromedia.com/go/getflashplayer' ) ; 
    152150 
    153         e.src = GetE('txtUrl').value ; 
     151        SetAttribute( e, 'src', GetE('txtUrl').value ) ; 
    154152        SetAttribute( e, "width" , GetE('txtWidth').value ) ; 
    155153        SetAttribute( e, "height", GetE('txtHeight').value ) ; 
     
    203201                var e           = oDoc.createElement( 'EMBED' ) ; 
    204202 
    205                 e.src           = GetE('txtUrl').value ; 
    206                 e.type          = 'application/x-shockwave-flash' ; 
    207                 e.width         = '100%' ; 
    208                 e.height        = '100%' ; 
     203                SetAttribute( e, 'src', GetE('txtUrl').value ) ; 
     204                SetAttribute( e, 'type', 'application/x-shockwave-flash' ) ; 
     205                SetAttribute( e, 'width', '100%' ) ; 
     206                SetAttribute( e, 'height', '100%' ) ; 
    209207 
    210208                ePreview.appendChild( e ) ; 
  • FCKeditor/branches/versions/2.4.x/editor/dialog/fck_image/fck_image.js

    r133 r361  
    144144                        iWidth = aMatchW[1] ; 
    145145                        oImage.style.width = '' ; 
     146                        SetAttribute( oImage, 'width' , iWidth ) ; 
    146147                } 
    147148        } 
     
    154155                        iHeight = aMatchH[1] ; 
    155156                        oImage.style.height = '' ; 
     157                        SetAttribute( oImage, 'height', iHeight ) ; 
    156158                } 
    157159        } 
     
    169171        if ( oEditor.FCKBrowserInfo.IsIE ) 
    170172        { 
    171                 GetE('txtAttClasses').value = oImage.getAttribute('className') || '' ; 
     173                GetE('txtAttClasses').value = oImage.className || '' ; 
    172174                GetE('txtAttStyle').value = oImage.style.cssText ; 
    173175        } 
     
    249251                                oEditor.FCKSelection.SelectNode( oImage ) ; 
    250252 
    251                         oLink = oEditor.FCK.CreateLink( sLnkUrl ) ; 
     253                        oLink = oEditor.FCK.CreateLink( sLnkUrl )[0] ; 
    252254 
    253255                        if ( !bHasImage ) 
     
    285287        SetAttribute( e, 'lang'         , GetE('txtAttLangCode').value ) ; 
    286288        SetAttribute( e, 'title'        , GetE('txtAttTitle').value ) ; 
    287         SetAttribute( e, 'class'        , GetE('txtAttClasses').value ) ; 
    288289        SetAttribute( e, 'longDesc'     , GetE('txtLongDesc').value ) ; 
    289290 
    290291        if ( oEditor.FCKBrowserInfo.IsIE ) 
     292        { 
     293                e.className = GetE('txtAttClasses').value ; 
    291294                e.style.cssText = GetE('txtAttStyle').value ; 
    292         else 
     295        } 
     296        else 
     297        { 
     298                SetAttribute( e, 'class'        , GetE('txtAttClasses').value ) ; 
    293299                SetAttribute( e, 'style', GetE('txtAttStyle').value ) ; 
     300        } 
    294301} 
    295302 
  • FCKeditor/branches/versions/2.4.x/editor/dialog/fck_link/fck_link.js

    r213 r361  
    152152                GetE('frmUpload').action = FCKConfig.LinkUploadURL ; 
    153153 
     154        // Set the default target (from configuration). 
     155        SetDefaultTarget() ; 
     156 
    154157        // Activate the "OK" button. 
    155158        window.parent.SetOkButton( true ) ; 
     
    500503        } 
    501504 
    502         // No link selected, so try to create one. 
    503         if ( !oLink ) 
    504                 oLink = oEditor.FCK.CreateLink( sUri ) ; 
    505  
    506         if ( oLink ) 
    507                 sInnerHtml = oLink.innerHTML ;          // Save the innerHTML (IE changes it if it is like an URL). 
    508         else 
    509         { 
    510                 // If no selection, use the uri as the link text (by dom, 2006-05-26) 
    511  
     505        // If no link is selected, create a new one (it may result in more than one link creation - #220). 
     506        var aLinks = oLink ? [ oLink ] : oEditor.FCK.CreateLink( sUri ) ; 
     507 
     508        // If no selection, no links are created, so use the uri as the link text (by dom, 2006-05-26) 
     509        var aHasSelection = ( aLinks.length > 0 ) ; 
     510        if ( !aHasSelection ) 
     511        { 
    512512                sInnerHtml = sUri; 
    513513 
     
    535535 
    536536                // Create a new (empty) anchor. 
    537                 oLink = oEditor.FCK.CreateElement( 'a' ) ; 
     537                aLinks = [ oEditor.FCK.CreateElement( 'a' ) ] ; 
    538538        } 
    539539 
    540540        oEditor.FCKUndo.SaveUndoStep() ; 
    541541 
    542         oLink.href = sUri ; 
    543         SetAttribute( oLink, '_fcksavedurl', sUri ) ; 
    544  
    545         // Accesible popups 
    546         if( GetE('cmbTarget').value == 'popup' ) 
    547         { 
    548                 SetAttribute( oLink, 'onclick_fckprotectedatt', " onclick=\"" + BuildOnClickPopup() + "\"") ; 
    549         } 
    550         else 
    551         { 
    552                 // Check if the previous onclick was for a popup: 
    553                 // In that case remove the onclick handler. 
    554                 var onclick = oLink.getAttribute( 'onclick_fckprotectedatt' ) ; 
    555                 if( oRegex.OnClickPopup.test( onclick ) ) 
    556                         SetAttribute( oLink, 'onclick_fckprotectedatt', '' ) ; 
    557         } 
    558  
    559         oLink.innerHTML = sInnerHtml ;          // Set (or restore) the innerHTML 
    560  
    561         // Target 
    562         if( GetE('cmbTarget').value != 'popup' ) 
    563                 SetAttribute( oLink, 'target', GetE('txtTargetFrame').value ) ; 
    564         else 
    565                 SetAttribute( oLink, 'target', null ) ; 
    566  
    567         // Advances Attributes 
    568         SetAttribute( oLink, 'id'               , GetE('txtAttId').value ) ; 
    569         SetAttribute( oLink, 'name'             , GetE('txtAttName').value ) ; 
    570         SetAttribute( oLink, 'dir'              , GetE('cmbAttLangDir').value ) ; 
    571         SetAttribute( oLink, 'lang'             , GetE('txtAttLangCode').value ) ; 
    572         SetAttribute( oLink, 'accesskey', GetE('txtAttAccessKey').value ) ; 
    573         SetAttribute( oLink, 'tabindex' , ( GetE('txtAttTabIndex').value > 0 ? GetE('txtAttTabIndex').value : null ) ) ; 
    574         SetAttribute( oLink, 'title'    , GetE('txtAttTitle').value ) ; 
    575         SetAttribute( oLink, 'type'             , GetE('txtAttContentType').value ) ; 
    576         SetAttribute( oLink, 'charset'  , GetE('txtAttCharSet').value ) ; 
    577  
    578         if ( oEditor.FCKBrowserInfo.IsIE ) 
    579         { 
    580                 var sClass = GetE('txtAttClasses').value ; 
    581                 // If it's also an anchor add an internal class 
    582                 if ( GetE('txtAttName').value.length != 0 ) 
    583                         sClass += ' FCK__AnchorC' ; 
    584                 SetAttribute( oLink, 'className', sClass ) ; 
    585  
    586                 oLink.style.cssText = GetE('txtAttStyle').value ; 
    587         } 
    588         else 
    589         { 
    590                 SetAttribute( oLink, 'class', GetE('txtAttClasses').value ) ; 
    591                 SetAttribute( oLink, 'style', GetE('txtAttStyle').value ) ; 
    592         } 
    593  
    594         // Select the link. 
    595         oEditor.FCKSelection.SelectNode(oLink); 
     542        for ( var i = 0 ; i < aLinks.length ; i++ ) 
     543        { 
     544                oLink = aLinks[i] ; 
     545 
     546                if ( aHasSelection ) 
     547                        sInnerHtml = oLink.innerHTML ;          // Save the innerHTML (IE changes it if it is like an URL). 
     548 
     549                oLink.href = sUri ; 
     550                SetAttribute( oLink, '_fcksavedurl', sUri ) ; 
     551 
     552                // Accesible popups 
     553                if( GetE('cmbTarget').value == 'popup' ) 
     554                { 
     555                        SetAttribute( oLink, 'onclick_fckprotectedatt', " onclick=\"" + BuildOnClickPopup() + "\"") ; 
     556                } 
     557                else 
     558                { 
     559                        // Check if the previous onclick was for a popup: 
     560                        // In that case remove the onclick handler. 
     561                        var onclick = oLink.getAttribute( 'onclick_fckprotectedatt' ) ; 
     562                        if( oRegex.OnClickPopup.test( onclick ) ) 
     563                                SetAttribute( oLink, 'onclick_fckprotectedatt', '' ) ; 
     564                } 
     565 
     566                oLink.innerHTML = sInnerHtml ;          // Set (or restore) the innerHTML 
     567 
     568                // Target 
     569                if( GetE('cmbTarget').value != 'popup' ) 
     570                        SetAttribute( oLink, 'target', GetE('txtTargetFrame').value ) ; 
     571                else 
     572                        SetAttribute( oLink, 'target', null ) ; 
     573 
     574                // Let's set the "id" only for the first link to avoid duplication. 
     575                if ( i == 0 ) 
     576                        SetAttribute( oLink, 'id', GetE('txtAttId').value ) ; 
     577 
     578                // Advances Attributes 
     579                SetAttribute( oLink, 'name'             , GetE('txtAttName').value ) ; 
     580                SetAttribute( oLink, 'dir'              , GetE('cmbAttLangDir').value ) ; 
     581                SetAttribute( oLink, 'lang'             , GetE('txtAttLangCode').value ) ; 
     582                SetAttribute( oLink, 'accesskey', GetE('txtAttAccessKey').value ) ; 
     583                SetAttribute( oLink, 'tabindex' , ( GetE('txtAttTabIndex').value > 0 ? GetE('txtAttTabIndex').value : null ) ) ; 
     584                SetAttribute( oLink, 'title'    , GetE('txtAttTitle').value ) ; 
     585                SetAttribute( oLink, 'type'             , GetE('txtAttContentType').value ) ; 
     586                SetAttribute( oLink, 'charset'  , GetE('txtAttCharSet').value ) ; 
     587 
     588                if ( oEditor.FCKBrowserInfo.IsIE ) 
     589                { 
     590                        var sClass = GetE('txtAttClasses').value ; 
     591                        // If it's also an anchor add an internal class 
     592                        if ( GetE('txtAttName').value.length != 0 ) 
     593                                sClass += ' FCK__AnchorC' ; 
     594                        SetAttribute( oLink, 'className', sClass ) ; 
     595 
     596                        oLink.style.cssText = GetE('txtAttStyle').value ; 
     597                } 
     598                else 
     599                { 
     600                        SetAttribute( oLink, 'class', GetE('txtAttClasses').value ) ; 
     601                        SetAttribute( oLink, 'style', GetE('txtAttStyle').value ) ; 
     602                } 
     603        } 
     604 
     605        // Select the (first) link. 
     606        oEditor.FCKSelection.SelectNode( aLinks[0] ); 
    596607 
    597608        return true ; 
     
    663674        return true ; 
    664675} 
     676 
     677function SetDefaultTarget() 
     678{ 
     679        var target = FCKConfig.DefaultLinkTarget + '' ; 
     680         
     681        if ( oLink || target.length == 0 ) 
     682                return ; 
     683 
     684        switch ( target ) 
     685        { 
     686                case '_blank' : 
     687                case '_self' : 
     688                case '_parent' : 
     689                case '_top' : 
     690                        GetE('cmbTarget').value = target ; 
     691                        break ; 
     692                default : 
     693                        GetE('cmbTarget').value = 'frame' ; 
     694                        break ; 
     695        } 
     696         
     697        GetE('txtTargetFrame').value = target ; 
     698} 
  • FCKeditor/branches/versions/2.4.x/editor/dialog/fck_listprop.html

    r133 r361  
    6161        { 
    6262                if ( oActiveEl.getAttribute('type') ) 
    63                         oActiveSel.value = oActiveEl.getAttribute('type').toLowerCase() ; 
     63                        oActiveSel.value = oActiveEl.getAttribute('type') ; 
    6464        } 
    6565 
  • FCKeditor/branches/versions/2.4.x/editor/dialog/fck_paste.html

    r179 r361  
    203203 
    204204                // Word likes to insert extra <font> tags, when using MSIE. (Wierd). 
    205                 html = html.replace( /<(H\d)><FONT[^>]*>(.*?)<\/FONT><\/\1>/gi, '<$1>$2</$1>' ); 
    206                 html = html.replace( /<(H\d)><EM>(.*?)<\/EM><\/\1>/gi, '<$1>$2</$1>' ); 
     205                html = html.replace( /<(H\d)><FONT[^>]*>(.*?)<\/FONT><\/\1>/gi, '<$1>$2<\/$1>' ); 
     206                html = html.replace( /<(H\d)><EM>(.*?)<\/EM><\/\1>/gi, '<$1>$2<\/$1>' ); 
    207207        } 
    208208        else 
  • FCKeditor/branches/versions/2.4.x/editor/dialog/fck_select/fck_select.js

    r133 r361  
    6262        var oTxtValue   = document.getElementById( "txtValue" ) ; 
    6363 
    64         oListText.options[ iIndex ].innerHTML   = oTxtText.value ; 
     64        oListText.options[ iIndex ].innerHTML   = HTMLEncode( oTxtText.value ) ; 
    6565        oListText.options[ iIndex ].value               = oTxtText.value ; 
    6666 
    67         oListValue.options[ iIndex ].innerHTML  = oTxtValue.value ; 
     67        oListValue.options[ iIndex ].innerHTML  = HTMLEncode( oTxtValue.value ) ; 
    6868        oListValue.options[ iIndex ].value              = oTxtValue.value ; 
    6969 
     
    116116 
    117117        var oOption = combo.options[ iActualIndex ] ; 
    118         var sText       = oOption.innerHTML ; 
     118        var sText       = HTMLDecode( oOption.innerHTML ) ; 
    119119        var sValue      = oOption.value ; 
    120120 
     
    163163                combo.options.add( oOption ) ; 
    164164 
    165         oOption.innerHTML = optionText.length > 0 ? optionText : '&nbsp;' ; 
     165        oOption.innerHTML = optionText.length > 0 ? HTMLEncode( optionText ) : '&nbsp;' ; 
    166166        oOption.value     = optionValue ; 
    167167 
    168168        return oOption ; 
    169169} 
     170 
     171function HTMLEncode( text ) 
     172{ 
     173        if ( !text ) 
     174                return '' ; 
     175 
     176        text = text.replace( /&/g, '&amp;' ) ; 
     177        text = text.replace( /</g, '&lt;' ) ; 
     178        text = text.replace( />/g, '&gt;' ) ; 
     179 
     180        return text ; 
     181} 
     182 
     183 
     184function HTMLDecode( text ) 
     185{ 
     186        if ( !text ) 
     187                return '' ; 
     188 
     189        text = text.replace( /&gt;/g, '>' ) ; 
     190        text = text.replace( /&lt;/g, '<' ) ; 
     191        text = text.replace( /&amp;/g, '&' ) ; 
     192 
     193        return text ; 
     194} 
  • FCKeditor/branches/versions/2.4.x/editor/dialog/fck_select.html

    r133 r361  
    5959                for ( var i = 0 ; i < oActiveEl.options.length ; i++ ) 
    6060                { 
    61                         var sText       = oActiveEl.options[i].innerHTML ; 
     61                        var sText       = HTMLDecode( oActiveEl.options[i].innerHTML ) ; 
    6262                        var sValue      = oActiveEl.options[i].value ; 
    6363 
  • FCKeditor/branches/versions/2.4.x/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.cfm

    r133 r361  
    1313The following variables values must reflect your installation needs. 
    1414---> 
    15 <cfset apsell_dir       = "c:\aspell\bin"> 
     15<cfset apsell_dir       = "C:\Program Files\Aspell\bin"> 
    1616 
    1717<cfset lang                     = "en_US"> 
    18 <cfset aspell_opts      = "-a --lang=#lang# --encoding=utf-8 -H"> 
     18<cfset aspell_opts      = "-a --lang=#lang# --encoding=utf-8 -H --rem-sgml-check=alt"> 
    1919 
    2020<!--- Be sure the temporary folder exists ---> 
    21 <cfset tempFolder       = "c:\aspell\temp"> 
     21<cfset tempFolder       = "C:\Windows\Temp"> 
    2222<cfset tempfile         = "spell_#randrange(1,10000)#"> 
    2323 
     
    7171 
    7272<cfsavecontent variable="food"> 
    73 <cfexecute name="C:\WINDOWS\SYSTEM32\cmd.exe" arguments="/c type #tempFolder#\#tempfile#.txt | #apsell_dir#\aspell #aspell_opts#" timeout="100"></cfexecute> 
     73<cfexecute name="C:\WINDOWS\SYSTEM32\cmd.exe" arguments='/c type #tempFolder#\#tempfile#.txt | "#apsell_dir#\aspell" #aspell_opts#' timeout="100"></cfexecute> 
    7474</cfsavecontent> 
    7575 
     
    125125 
    126126<cfif texts.words IS ""> 
    127   <cfset texts.abort = "alert('Spell check complete.\n\nNo misspellings found.');#chrlf#top.window.close();"> 
     127  <cfset texts.abort = "alert('Spell check complete.\n\nNo misspellings found.');#crlf#top.window.close();"> 
    128128</cfif> 
    129129 
  • FCKeditor/branches/versions/2.4.x/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.php

    r133 r361  
    88 
    99$lang                   = 'en_US'; 
    10 $aspell_opts    = "-a --lang=$lang --encoding=utf-8 -H";                // by FredCK 
     10$aspell_opts    = "-a --lang=$lang --encoding=utf-8 -H --rem-sgml-check=alt";           // by FredCK 
    1111 
    1212$tempfiledir    = "./"; 
  • FCKeditor/branches/versions/2.4.x/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.pl

    r133 r361  
    1313my $lang = 'en_US'; 
    1414# my $aspell_opts = "-a --lang=$lang --encoding=utf-8";                 # by FredCK 
    15 my $aspell_opts = "-a --lang=$lang --encoding=utf-8 -H";                # by FredCK 
     15my $aspell_opts = "-a --lang=$lang --encoding=utf-8 -H --rem-sgml-check=alt";           # by FredCK 
    1616my $input_separator = "A"; 
    1717 
  • FCKeditor/branches/versions/2.4.x/editor/dialog/fck_table.html

    r133 r361  
    1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > 
     1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > 
    22<!-- 
    33 * FCKeditor - The text editor for Internet - http://www.fckeditor.net 
     
    131131        } 
    132132        else if ( bExists && eCaption ) 
    133                 eCaption.parentNode.removeChild( eCaption ) ; 
     133        { 
     134                if ( oEditor.FCKBrowserInfo.IsIE ) 
     135                        eCaption.innerHTML = '' ;       // TODO: It causes an IE internal error if using removeChild or table.deleteCaption(). 
     136                else 
     137                        eCaption.parentNode.removeChild( eCaption ) ; 
     138        } 
    134139 
    135140        if (! bExists) 
  • FCKeditor/branches/versions/2.4.x/editor/filemanager/browser/default/connectors/asp/class_upload.asp

    r133 r361  
    2525'********************************************** 
    2626' File:         NetRube_Upload.asp 
    27 ' Version:      NetRube Upload Class Version 2.1 Build 20050228 
     27' Version:      NetRube Upload Class Version 2.3 Build 20070528 
    2828' Author:       NetRube 
    2929' Email:        NetRube@126.com 
    30 ' Date:         02/28/2005 
     30' Date:         05/28/2007 
    3131' Comments:     The code for the Upload. 
    3232'                       This can free usage, but please 
     
    3636'********************************************** 
    3737' 文件名:  NetRube_Upload.asp 
    38 ' 版本:           NetRube Upload Class Version 2.1 Build 20050228 
     38' 版本:           NetRube Upload Class Version 2.3 Build 20070528 
    3939' 作者:           NetRube(网络乡巴佬) 
    4040' 电子邮件: NetRube@126.com 
    41 ' 日期:           2005年02月28日 
     41' 日期:           2007年05月28日 
    4242' 声明:           文件上传类 
    4343'                       本上传类可以自由使用,但请保留此版权声明信息 
     
    5151        Private oSourceData 
    5252        Private nMaxSize, nErr, sAllowed, sDenied 
    53  
     53         
    5454        Private Sub Class_Initialize 
    5555                nErr            = 0 
    5656                nMaxSize        = 1048576 
    57  
     57                 
    5858                Set File                        = Server.CreateObject("Scripting.Dictionary") 
    5959                File.CompareMode        = 1 
    6060                Set Form                        = Server.CreateObject("Scripting.Dictionary") 
    6161                Form.CompareMode        = 1 
    62  
     62                 
    6363                Set oSourceData         = Server.CreateObject("ADODB.Stream") 
    6464                oSourceData.Type        = 1 
     
    6666                oSourceData.Open 
    6767        End Sub 
    68  
     68         
    6969        Private Sub Class_Terminate 
    7070                Form.RemoveAll 
     
    7272                File.RemoveAll 
    7373                Set File = Nothing 
    74  
     74                 
    7575                oSourceData.Close 
    7676                Set oSourceData = Nothing 
    7777        End Sub 
    78  
     78         
    7979        Public Property Get Version 
    80                 Version = "NetRube Upload Class Version 1.0 Build 20041218" 
     80                Version = "NetRube Upload Class Version 2.3 Build 20070528" 
    8181        End Property 
    8282 
     
    8484                ErrNum  = nErr 
    8585        End Property 
    86  
     86         
    8787        Public Property Let MaxSize(nSize) 
    8888                nMaxSize        = nSize 
    8989        End Property 
    90  
     90         
    9191        Public Property Let Allowed(sExt) 
    9292                sAllowed        = sExt 
    9393        End Property 
    94  
     94         
    9595        Public Property Let Denied(sExt) 
    9696                sDenied = sExt 
     
    104104                        Exit Sub 
    105105                End If 
    106  
     106                 
    107107                Dim nTotalSize 
    108108                nTotalSize      = Request.TotalBytes 
     
    115115                        Exit Sub 
    116116                End If 
    117  
    118                 oSourceData.Write Request.BinaryRead(nTotalSize) 
     117                 
     118                'Thankful long(yrl031715@163.com) 
     119                'Fix upload large file. 
     120                '********************************************** 
     121                ' 修正作者:long 
     122                ' 联系邮件: yrl031715@163.com 
     123                ' 修正时间:2007年5月6日 
     124                ' 修正说明:由于iis6的Content-Length 头信息中包含的请求长度超过了 AspMaxRequestEntityAllowed 的值(默认200K), IIS 将返回一个 403 错误信息. 
     125                '          直接导致在iis6下调试FCKeditor上传功能时,一旦文件超过200K,上传文件时文件管理器失去响应,受此影响,文件的快速上传功能也存在在缺陷。 
     126                '          在参考 宝玉 的 Asp无组件上传带进度条 演示程序后作出如下修改,以修正在iis6下的错误。 
     127 
     128                Dim nTotalBytes, nPartBytes, ReadBytes 
     129                ReadBytes = 0 
     130                nTotalBytes = Request.TotalBytes 
     131                '循环分块读取 
     132                Do While ReadBytes < nTotalBytes 
     133                        '分块读取 
     134                        nPartBytes = 64 * 1024 '分成每块64k 
     135                        If nPartBytes + ReadBytes > nTotalBytes Then  
     136                                nPartBytes = nTotalBytes - ReadBytes 
     137                        End If 
     138                        oSourceData.Write Request.BinaryRead(nPartBytes) 
     139                        ReadBytes = ReadBytes + nPartBytes 
     140                Loop 
     141                '********************************************** 
    119142                oSourceData.Position = 0 
    120  
     143                 
    121144                Dim oTotalData, oFormStream, sFormHeader, sFormName, bCrLf, nBoundLen, nFormStart, nFormEnd, nPosStart, nPosEnd, sBoundary 
    122  
     145                 
    123146                oTotalData      = oSourceData.Read 
    124147                bCrLf           = ChrB(13) & ChrB(10) 
     
    126149                nBoundLen       = LenB(sBoundary) + 2 
    127150                nFormStart      = nBoundLen 
    128  
     151                 
    129152                Set oFormStream = Server.CreateObject("ADODB.Stream") 
    130  
     153                 
    131154                Do While (nFormStart + 2) < nTotalSize 
    132155                        nFormEnd        = InStrB(nFormStart, oTotalData, bCrLf & bCrLf) + 3 
    133  
     156                         
    134157                        With oFormStream 
    135158                                .Type   = 1 
     
    144167                                .Close 
    145168                        End With 
    146  
     169                         
    147170                        nFormStart      = InStrB(nFormEnd, oTotalData, sBoundary) - 1 
    148171                        nPosStart       = InStr(22, sFormHeader, " name=", 1) + 7 
    149172                        nPosEnd         = InStr(nPosStart, sFormHeader, """") 
    150173                        sFormName       = Mid(sFormHeader, nPosStart, nPosEnd - nPosStart) 
    151  
     174                         
    152175                        If InStr(45, sFormHeader, " filename=", 1) > 0 Then 
    153176                                Set File(sFormName)                     = New NetRube_FileInfo 
     
    168191                                        .Mode   = 3 
    169192                                        .Open 
    170                                         oSourceData.Position = nPosEnd 
     193                                        oSourceData.Position = nFormEnd 
    171194                                        oSourceData.CopyTo oFormStream, nFormStart - nFormEnd - 2 
    172195                                        .Position       = 0 
     
    177200                                End With 
    178201                        End If 
    179  
     202                         
    180203                        nFormStart      = nFormStart + nBoundLen 
    181204                Loop 
    182  
     205                 
    183206                oTotalData = "" 
    184207                Set oFormStream = Nothing 
     
    190213                        Exit Sub 
    191214                End If 
    192  
     215                 
    193216                If Not IsAllowed(File(sItem).Ext) Then 
    194217                        nErr = 4 
    195218                        Exit Sub 
    196219                End If 
    197  
     220                 
    198221                Dim oFileStream 
    199222                Set oFileStream = Server.CreateObject("ADODB.Stream") 
     
    210233                Set oFileStream = Nothing 
    211234        End Sub 
    212  
     235         
    213236        Private Function IsAllowed(sExt) 
    214237                Dim oRE 
     
    216239                oRE.IgnoreCase  = True 
    217240                oRE.Global              = True 
    218  
     241                 
    219242                If sDenied = "" Then 
    220243                        oRE.Pattern     = sAllowed 
     
    224247                        IsAllowed       = Not oRE.Test(sExt) 
    225248                End If 
    226  
     249                 
    227250                Set oRE = Nothing 
    228251        End Function 
     
    232255        Dim FormName, ClientPath, Path, Name, Ext, Content, Size, MIME, Start 
    233256End Class 
    234 %> 
     257%> 
  • FCKeditor/branches/versions/2.4.x/editor/filemanager/browser/default/connectors/asp/config.asp

    r133 r361  
    3636 
    3737ConfigAllowedExtensions.Add     "File", "" 
    38 ConfigDeniedExtensions.Add      "File", "html|htm|php|php2|php3|php4|php5|phtml|pwml|inc|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|com|dll|vbs|js|reg|cgi|htaccess|asis" 
     38ConfigDeniedExtensions.Add      "File", "html|htm|php|php2|php3|php4|php5|phtml|pwml|inc|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|com|dll|vbs|js|reg|cgi|htaccess|asis|sh|shtml|shtm|phtm" 
    3939 
    4040ConfigAllowedExtensions.Add     "Image", "jpg|gif|jpeg|png|bmp" 
  • FCKeditor/branches/versions/2.4.x/editor/filemanager/browser/default/connectors/aspx/connector.aspx

    r133 r361  
    1 <%@ Page language="c#" Inherits="FredCK.FCKeditorV2.FileBrowserConnector" AutoEventWireup="false" %> 
     1<%@ Page language="c#" Trace="false" Inherits="FredCK.FCKeditorV2.FileBrowserConnector" AutoEventWireup="false" %> 
    22<%-- 
    33 * FCKeditor - The text editor for Internet - http://www.fckeditor.net 
  • FCKeditor/branches/versions/2.4.x/editor/filemanager/browser/default/connectors/cfm/config.cfm

    r133 r361  
    3535        // config.allowedExtensions["File"] = "doc,rtf,pdf,ppt,pps,xls,csv,vnd,zip"; 
    3636        config.allowedExtensions["File"] = ""; 
    37         config.deniedExtensions["File"] = "html,htm,php,php2,php3,php4,php5,phtml,pwml,inc,asp,aspx,ascx,jsp,cfm,cfc,pl,bat,exe,com,dll,vbs,js,reg,cgi,htaccess,asis"; 
     37        config.deniedExtensions["File"] = "html,htm,php,php2,php3,php4,php5,phtml,pwml,inc,asp,aspx,ascx,jsp,cfm,cfc,pl,bat,exe,com,dll,vbs,js,reg,cgi,htaccess,asis,sh,shtml,shtm,phtm"; 
    3838 
    3939        config.allowedExtensions["Image"] = "png,gif,jpg,jpeg,bmp"; 
  • FCKeditor/branches/versions/2.4.x/editor/filemanager/browser/default/connectors/cfm/connector.cfm

    r179 r361  
    4848        lDeniedExtensions = config.deniedExtensions[url.type]; 
    4949 
     50        if ( userFilesPath eq "" ) { 
     51                userFilesPath = "/userfiles/"; 
     52        } 
     53 
    5054        // make sure the user files path is correctly formatted 
    5155        userFilesPath = replace(userFilesPath, "\", "/", "ALL"); 
     
    7579        if ( len(config.serverPath) ) { 
    7680                serverPath = config.serverPath; 
     81         
     82                if ( right(serverPath,1) neq fs ) { 
     83                        serverPath = serverPath & fs; 
     84                } 
    7785        } else { 
    78                 serverPath = replaceNoCase(getBaseTemplatePath(),replace(cgi.script_name,"/",fs,"all"),""); 
     86                serverPath = replaceNoCase(getBaseTemplatePath(),replace(cgi.script_name,"/",fs,"all"),"") & replace(userFilesPath,"/",fs,"all"); 
    7987        } 
    8088 
     
    361369<cfheader name="Cache-Control" value="no-cache, no-store, must-revalidate"> 
    362370<cfcontent reset="true" type="text/xml; charset=UTF-8"> 
    363 <cfoutput>#xmlHeader##xmlContent##xmlFooter#</cfoutput>  
     371<cfoutput>#xmlHeader##xmlContent##xmlFooter#</cfoutput> 
  • FCKeditor/branches/versions/2.4.x/editor/filemanager/browser/default/connectors/lasso/config.lasso

    r133 r361  
    4242    */ 
    4343        var('config') = map( 
    44             'Enabled' = true, 
     44            'Enabled' = false, 
    4545                'UserFilesPath' = '/userfiles/', 
    4646                'Subdirectories' = map( 
     
    5757                ), 
    5858                'DeniedExtensions' = map( 
    59                         'File' = array('html','htm','php','php2','php3','php4','php5','phtml','pwml','inc','asp','aspx','ascx','jsp','cfm','cfc','pl','bat','exe','com','dll','vbs','js','reg','cgi','lasso','lassoapp','htaccess','asis'), 
     59                        'File' = array('html','htm','php','php2','php3','php4','php5','phtml','pwml','inc','asp','aspx','ascx','jsp','cfm','cfc','pl','bat','exe','com','dll','vbs','js','reg','cgi','lasso','lassoapp','htaccess','asis','sh','shtml','shtm','phtm'), 
    6060                        'Image' = array(), 
    6161                        'Flash' = array(), 
  • FCKeditor/branches/versions/2.4.x/editor/filemanager/browser/default/connectors/php/basexml.php

    r133 r361  
    4040 
    4141        // Set the response format. 
    42         header( 'Content-Type:text/xml; charset=utf-8' ) ; 
     42        header( 'Content-Type: text/xml; charset=utf-8' ) ; 
    4343} 
    4444 
     
    5555        // Add the current folder node. 
    5656        echo '<CurrentFolder path="' . ConvertToXmlAttribute( $currentFolder ) . '" url="' . ConvertToXmlAttribute( GetUrlFromPath( $resourceType, $currentFolder ) ) . '" />' ; 
     57 
     58        $GLOBALS['HeaderSent'] = true ; 
    5759} 
    5860 
     
    6971        echo '<?xml version="1.0" encoding="utf-8" ?>' ; 
    7072 
    71         echo '<Connector><Error number="' . $number . '" text="' . htmlspecialchars( $text ) . '" /></Connector>' ; 
     73        echo '<Connector>' ; 
     74         
     75        SendErrorNode(  $number, $text ) ; 
     76         
     77        echo '</Connector>' ; 
    7278 
    7379        exit ; 
    7480} 
     81 
     82function SendErrorNode(  $number, $text ) 
     83{ 
     84        echo '<Error number="' . $number . '" text="' . htmlspecialchars( $text ) . '" />' ; 
     85} 
    7586?> 
  • FCKeditor/branches/versions/2.4.x/editor/filemanager/browser/default/connectors/php/config.php

    r192 r361  
    4747 
    4848$Config['AllowedExtensions']['File']    = array() ; 
    49 $Config['DeniedExtensions']['File']             = array('html','htm','php','php2','php3','php4','php5','phtml','pwml','inc','asp','aspx','ascx','jsp','cfm','cfc','pl','bat','exe','com','dll','vbs','js','reg','cgi','htaccess','asis') ; 
     49$Config['DeniedExtensions']['File']             = array('html','htm','php','php2','php3','php4','php5','phtml','pwml','inc','asp','aspx','ascx','jsp','cfm','cfc','pl','bat','exe','com','dll','vbs','js','reg','cgi','htaccess','asis','sh','shtml','shtm','phtm') ; 
    5050 
    5151$Config['AllowedExtensions']['Image']   = array('jpg','gif','jpeg','png') ; 
  • FCKeditor/branches/versions/2.4.x/editor/filemanager/browser/default/connectors/php/io.php

    r133 r361  
    4242 
    4343        // Ensure that the directory exists. 
    44         CreateServerFolder( $sResourceTypePath ) ; 
     44        $sErrorMsg = CreateServerFolder( $sResourceTypePath ) ; 
     45        if ( $sErrorMsg != '' ) 
     46        { 
     47                if ( isset( $GLOBALS['HeaderSent'] ) && $GLOBALS['HeaderSent'] ) 
     48                {  
     49                        SendErrorNode( 1, "Error creating folder \"{$sResourceTypePath}\" ({$sErrorMsg})" ) ; 
     50                        CreateXmlFooter() ; 
     51                        exit ; 
     52                } 
     53                else 
     54                { 
     55                        SendError( 1, "Error creating folder \"{$sResourceTypePath}\" ({$sErrorMsg})" ) ; 
     56                } 
     57        } 
    4558 
    4659        // Return the resource type directory combined with the required path. 
     
    97110        $sSelfPath = substr( $sSelfPath, 0, strrpos( $sSelfPath, '/' ) ) ; 
    98111 
    99         return substr( $sRealPath, 0, strlen( $sRealPath ) - strlen( $sSelfPath ) ) ; 
     112        // Get the slash according to the filesystem 
     113        $slash = ( strpos( $sRealPath, '/' ) === false ) ? '\\' : '/' ; 
     114        $sSelfPath = str_replace( '/', $slash, $sSelfPath ) ; 
     115         
     116        $position = strpos( $sRealPath, $sSelfPath ) ; 
     117 
     118        // This can check only that this script isn't run from a virtual dir 
     119        // But it avoids problems the problems that arise if it isn't checked 
     120        if ( $position === false || $position <> strlen( $sRealPath ) - strlen( $sSelfPath ) ) 
     121                SendError( 1, 'Sorry, can\'t map "UserFilesPath" to a physical path. You must set the "UserFilesAbsolutePath" value in "editor/filemanager/browser/default/connectors/php/config.php".' ) ; 
     122 
     123        return substr( $sRealPath, 0, $position ) ; 
    100124} 
    101125?> 
  • FCKeditor/branches/versions/2.4.x/editor/filemanager/browser/default/connectors/php/util.php

    r133 r361  
    3737function ConvertToXmlAttribute( $value ) 
    3838{ 
    39         return utf8_encode( htmlspecialchars( $value ) ) ; 
     39        return htmlspecialchars( $value ) ; 
    4040} 
    4141?> 
  • FCKeditor/branches/versions/2.4.x/editor/filemanager/browser/default/connectors/py/connector.py

    r133 r361  
    178178                                } 
    179179                self.deniedExtensions = { 
    180                                 "File": [ "html","htm","php","php2","php3","php4","php5","phtml","pwml","inc","asp","aspx","ascx","jsp","cfm","cfc","pl","bat","exe","com","dll","vbs","js","reg","cgi","htaccess","asis" ], 
    181                                 "Image": [ "html","htm","php","php2","php3","php4","php5","phtml","pwml","inc","asp","aspx","ascx","jsp","cfm","cfc","pl","bat","exe","com","dll","vbs","js","reg","cgi","htaccess","asis" ], 
    182                                 "Flash": [ "html","htm","php","php2","php3","php4","php5","phtml","pwml","inc","asp","aspx","ascx","jsp","cfm","cfc","pl","bat","exe","com","dll","vbs","js","reg","cgi","htaccess","asis" ], 
    183                                 "Media": [ "html","htm","php","php2","php3","php4","php5","phtml","pwml","inc","asp","aspx","ascx","jsp","cfm","cfc","pl","bat","exe","com","dll","vbs","js","reg","cgi","htaccess","asis" ] 
     180                                "File": [ "html","htm","php","php2","php3","php4","php5","phtml","pwml","inc","asp","aspx","ascx","jsp","cfm","cfc","pl","bat","exe","com","dll","vbs","js","reg","cgi","htaccess","asis","sh","shtml","shtm","phtm" ], 
     181                                "Image": [ "html","htm","php","php2","php3","php4","php5","phtml","pwml","inc","asp","aspx","ascx","jsp","cfm","cfc","pl","bat","exe","com","dll","vbs","js","reg","cgi","htaccess","asis","sh","shtml","shtm","phtm" ], 
     182                                "Flash": [ "html","htm","php","php2","php3","php4","php5","phtml","pwml","inc","asp","aspx","ascx","jsp","cfm","cfc","pl","bat","exe","com","dll","vbs","js","reg","cgi","htaccess","asis","sh","shtml","shtm","phtm" ], 
     183                                "Media": [ "html","htm","php","php2","php3","php4","php5","phtml","pwml","inc","asp","aspx","ascx","jsp","cfm","cfc","pl","bat","exe","com","dll","vbs","js","reg","cgi","htaccess","asis","sh","shtml","shtm","phtm" ] 
    184184                                } 
    185185 
  • FCKeditor/branches/versions/2.4.x/editor/filemanager/browser/default/frmresourceslist.html

    r133 r361  
    8181function OpenFile( fileUrl ) 
    8282{ 
    83         window.top.opener.SetUrl( fileUrl ) ; 
     83        window.top.opener.SetUrl( encodeURI( fileUrl ) ) ; 
    8484        window.top.close() ; 
    8585        window.top.opener.focus() ; 
     
    108108        if ( oFolderNode == null ) 
    109109        { 
    110                 alert( 'The server didn\'t reply with a proper XML file\r\nCheck your configuration.' ) ; 
     110                alert( 'The server didn\'t reply with a proper XML data. Please check your configuration.' ) ; 
    111111                return ; 
    112112        } 
  • FCKeditor/branches/versions/2.4.x/editor/filemanager/browser/default/js/fckxml.js

    r133 r361  
    6262                        if ( oXmlHttp.readyState == 4 ) 
    6363                        { 
    64                                 if ( oXmlHttp.responseXML == null || oXmlHttp.responseXML.firstChild == null) 
     64                                if ( ( oXmlHttp.status != 200 && oXmlHttp.status != 304 ) || oXmlHttp.responseXML == null || oXmlHttp.responseXML.firstChild == null ) 
    6565                                { 
    66                                         alert( 'The server didn\'t send back a proper XML response.\r\n\r\n' + 
    67                                                         'Requested URL: ' + urlToCall + '\r\n' + 
    68                                                         'Response text:\r\n' + oXmlHttp.responseText ) ; 
     66                                        alert( 'The server didn\'t send back a proper XML response. Please contact your system administrator.\n\n' + 
     67                                                        'XML request error: ' + oXmlHttp.statusText + ' (' + oXmlHttp.status + ')\n\n' + 
     68                                                        'Requested URL:\n' + urlToCall + '\n\n' + 
     69                                                        'Response text:\n' + oXmlHttp.responseText ) ; 
    6970                                        return ; 
    7071                                } 
     72 
    7173                                oFCKXml.DOMDocument = oXmlHttp.responseXML ; 
    72                                 if ( oXmlHttp.status == 200 || oXmlHttp.status == 304 ) 
    73                                         asyncFunctionPointer( oFCKXml ) ; 
    74                                 else 
    75                                         alert( 'XML request error: ' + oXmlHttp.statusText + ' (' + oXmlHttp.status + ')' ) ; 
     74                                asyncFunctionPointer( oFCKXml ) ; 
    7675                        } 
    7776                } 
  • FCKeditor/branches/versions/2.4.x/editor/filemanager/upload/asp/class_upload.asp

    r133 r361  
    2525'********************************************** 
    2626' File:         NetRube_Upload.asp 
    27 ' Version:      NetRube Upload Class Version 2.1 Build 20050228 
     27' Version:      NetRube Upload Class Version 2.3 Build 20070528 
    2828' Author:       NetRube 
    2929' Email:        NetRube@126.com 
    30 ' Date:         02/28/2005 
     30' Date:         05/28/2007 
    3131' Comments:     The code for the Upload. 
    3232'                       This can free usage, but please 
     
    3636'********************************************** 
    3737' 文件名:  NetRube_Upload.asp 
    38 ' 版本:           NetRube Upload Class Version 2.1 Build 20050228 
     38' 版本:           NetRube Upload Class Version 2.3 Build 20070528 
    3939' 作者:           NetRube(网络乡巴佬) 
    4040' 电子邮件: NetRube@126.com 
    41 ' 日期:           2005年02月28日 
     41' 日期:           2007年05月28日 
    4242' 声明:           文件上传类 
    4343'                       本上传类可以自由使用,但请保留此版权声明信息 
     
    5151        Private oSourceData 
    5252        Private nMaxSize, nErr, sAllowed, sDenied 
    53  
     53         
    5454        Private Sub Class_Initialize 
    5555                nErr            = 0 
    5656                nMaxSize        = 1048576 
    57  
     57                 
    5858                Set File                        = Server.CreateObject("Scripting.Dictionary") 
    5959                File.CompareMode        = 1 
    6060                Set Form                        = Server.CreateObject("Scripting.Dictionary") 
    6161                Form.CompareMode        = 1 
    62  
     62                 
    6363                Set oSourceData         = Server.CreateObject("ADODB.Stream") 
    6464                oSourceData.Type        = 1 
     
    6666                oSourceData.Open 
    6767        End Sub 
    68  
     68         
    6969        Private Sub Class_Terminate 
    7070                Form.RemoveAll 
     
    7272                File.RemoveAll 
    7373                Set File = Nothing 
    74  
     74                 
    7575                oSourceData.Close 
    7676                Set oSourceData = Nothing 
    7777        End Sub 
    78  
     78         
    7979        Public Property Get Version 
    80                 Version = "NetRube Upload Class Version 1.0 Build 20041218" 
     80                Version = "NetRube Upload Class Version 2.3 Build 20070528" 
    8181        End Property 
    8282 
     
    8484                ErrNum  = nErr 
    8585        End Property 
    86  
     86         
    8787        Public Property Let MaxSize(nSize) 
    8888                nMaxSize        = nSize 
    8989        End Property 
    90  
     90         
    9191        Public Property Let Allowed(sExt) 
    9292                sAllowed        = sExt 
    9393        End Property 
    94  
     94         
    9595        Public Property Let Denied(sExt) 
    9696                sDenied = sExt 
     
    104104                        Exit Sub 
    105105                End If 
    106  
     106                 
    107107                Dim nTotalSize 
    108108                nTotalSize      = Request.TotalBytes 
     
    115115                        Exit Sub 
    116116                End If 
    117  
    118                 oSourceData.Write Request.BinaryRead(nTotalSize) 
     117                 
     118                'Thankful long(yrl031715@163.com) 
     119                'Fix upload large file. 
     120                '********************************************** 
     121                ' 修正作者:long 
     122                ' 联系邮件: yrl031715@163.com 
     123                ' 修正时间:2007年5月6日 
     124                ' 修正说明:由于iis6的Content-Length 头信息中包含的请求长度超过了 AspMaxRequestEntityAllowed 的值(默认200K), IIS 将返回一个 403 错误信息. 
     125                '          直接导致在iis6下调试FCKeditor上传功能时,一旦文件超过200K,上传文件时文件管理器失去响应,受此影响,文件的快速上传功能也存在在缺陷。 
     126                '          在参考 宝玉 的 Asp无组件上传带进度条 演示程序后作出如下修改,以修正在iis6下的错误。 
     127 
     128                Dim nTotalBytes, nPartBytes, ReadBytes 
     129                ReadBytes = 0 
     130                nTotalBytes = Request.TotalBytes 
     131                '循环分块读取 
     132                Do While ReadBytes < nTotalBytes 
     133                        '分块读取 
     134                        nPartBytes = 64 * 1024 '分成每块64k 
     135                        If nPartBytes + ReadBytes > nTotalBytes Then  
     136                                nPartBytes = nTotalBytes - ReadBytes 
     137                        End If 
     138                        oSourceData.Write Request.BinaryRead(nPartBytes) 
     139                        ReadBytes = ReadBytes + nPartBytes 
     140                Loop 
     141                '********************************************** 
    119142                oSourceData.Position = 0 
    120  
     143                 
    121144                Dim oTotalData, oFormStream, sFormHeader, sFormName, bCrLf, nBoundLen, nFormStart, nFormEnd, nPosStart, nPosEnd, sBoundary 
    122  
     145                 
    123146                oTotalData      = oSourceData.Read 
    124147                bCrLf           = ChrB(13) & ChrB(10) 
     
    126149                nBoundLen       = LenB(sBoundary) + 2 
    127150                nFormStart      = nBoundLen 
    128  
     151                 
    129152                Set oFormStream = Server.CreateObject("ADODB.Stream") 
    130  
     153                 
    131154                Do While (nFormStart + 2) < nTotalSize 
    132155                        nFormEnd        = InStrB(nFormStart, oTotalData, bCrLf & bCrLf) + 3 
    133  
     156                         
    134157                        With oFormStream 
    135158                                .Type   = 1 
     
    144167                                .Close 
    145168                        End With 
    146  
     169                         
    147170                        nFormStart      = InStrB(nFormEnd, oTotalData, sBoundary) - 1 
    148171                        nPosStart       = InStr(22, sFormHeader, " name=", 1) + 7 
    149172                        nPosEnd         = InStr(nPosStart, sFormHeader, """") 
    150173                        sFormName       = Mid(sFormHeader, nPosStart, nPosEnd - nPosStart) 
    151  
     174                         
    152175                        If InStr(45, sFormHeader, " filename=", 1) > 0 Then 
    153176                                Set File(sFormName)                     = New NetRube_FileInfo 
     
    168191                                        .Mode   = 3 
    169192                                        .Open 
    170                                         oSourceData.Position = nPosEnd 
     193                                        oSourceData.Position = nFormEnd 
    171194                                        oSourceData.CopyTo oFormStream, nFormStart - nFormEnd - 2 
    172195                                        .Position       = 0 
     
    177200                                End With 
    178201                        End If 
    179  
     202                         
    180203                        nFormStart      = nFormStart + nBoundLen 
    181204                Loop 
    182  
     205                 
    183206                oTotalData = "" 
    184207                Set oFormStream = Nothing 
     
    190213                        Exit Sub 
    191214                End If 
    192  
     215                 
    193216                If Not IsAllowed(File(sItem).Ext) Then 
    194217                        nErr = 4 
    195218                        Exit Sub 
    196219                End If 
    197  
     220                 
    198221                Dim oFileStream 
    199222                Set oFileStream = Server.CreateObject("ADODB.Stream") 
     
    210233                Set oFileStream = Nothing 
    211234        End Sub 
    212  
     235         
    213236        Private Function IsAllowed(sExt) 
    214237                Dim oRE 
     
    216239                oRE.IgnoreCase  = True 
    217240                oRE.Global              = True 
    218  
     241                 
    219242                If sDenied = "" Then 
    220243                        oRE.Pattern     = sAllowed 
     
    224247                        IsAllowed       = Not oRE.Test(sExt) 
    225248                End If 
    226  
     249                 
    227250                Set oRE = Nothing 
    228251        End Function 
     
    232255        Dim FormName, ClientPath, Path, Name, Ext, Content, Size, MIME, Start 
    233256End Class 
    234 %> 
     257%> 
  • FCKeditor/branches/versions/2.4.x/editor/filemanager/upload/asp/config.asp

    r133 r361  
    4242 
    4343ConfigAllowedExtensions.Add     "File", "" 
    44 ConfigDeniedExtensions.Add      "File", "html|htm|php|php2|php3|php4|php5|phtml|pwml|inc|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|com|dll|vbs|js|reg|cgi|htaccess|asis" 
     44ConfigDeniedExtensions.Add      "File", "html|htm|php|php2|php3|php4|php5|phtml|pwml|inc|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|com|dll|vbs|js|reg|cgi|htaccess|asis|sh|shtml|shtm|phtm" 
    4545 
    4646ConfigAllowedExtensions.Add     "Image", "jpg|gif|jpeg|png|bmp" 
  • FCKeditor/branches/versions/2.4.x/editor/filemanager/upload/aspx/upload.aspx

    r133 r361  
    1 <%@ Page language="c#" Inherits="FredCK.FCKeditorV2.Uploader" AutoEventWireup="false" %> 
     1<%@ Page language="c#" Trace="false" Inherits="FredCK.FCKeditorV2.Uploader" AutoEventWireup="false" %> 
    22<%-- 
    33 * FCKeditor - The text editor for Internet - http://www.fckeditor.net 
  • FCKeditor/branches/versions/2.4.x/editor/filemanager/upload/cfm/config.cfm

    r133 r361  
    3737 
    3838        config.allowedExtensions["File"] = ""; 
    39         config.deniedExtensions["File"] = "html,htm,php,php2,php3,php4,php5,phtml,pwml,inc,asp,aspx,ascx,jsp,cfm,cfc,pl,bat,exe,com,dll,vbs,js,reg,cgi,htaccess,asis"; 
     39        config.deniedExtensions["File"] = "html,htm,php,php2,php3,php4,php5,phtml,pwml,inc,asp,aspx,ascx,jsp,cfm,cfc,pl,bat,exe,com,dll,vbs,js,reg,cgi,htaccess,asis,sh,shtml,shtm,phtm"; 
    4040 
    4141        config.allowedExtensions["Image"] = "png,gif,jpg,jpeg,bmp"; 
     
    6161</cfif> 
    6262 
    63 <!--- look for config struct in request, application and server scopes ---> 
    64 <cfif isDefined("request.FCKeditor") and isStruct(request.FCKeditor)> 
    65  
    66         <cfset variables.FCKeditor = request.FCKeditor> 
    67  
    68 <cfelseif isDefined("application.FCKeditor") and isStruct(application.FCKeditor)> 
     63<!--- look for config struct in application and server scopes ---> 
     64<cfif isDefined("application.FCKeditor") and isStruct(application.FCKeditor)> 
    6965 
    7066        <cflock scope="application" type="readonly" timeout="5"> 
  • FCKeditor/branches/versions/2.4.x/editor/filemanager/upload/cfm/upload.cfm

    r133 r361  
    8989                <cfset currentFolderPath = userFilesServerPath & url.type & fs> 
    9090 
     91                <cfif not directoryExists(currentFolderPath)> 
     92                        <cfdirectory action="create" directory="#currentFolderPath#"/> 
     93                </cfif> 
     94 
    9195                <!--- TODO: upload to a temp directory and move file if extension is allowed ---> 
    9296 
  • FCKeditor/branches/versions/2.4.x/editor/filemanager/upload/lasso/config.lasso

    r133 r361  
    5757                ), 
    5858                'DeniedExtensions' = map( 
    59                         'File' = array('html','htm','php','php2','php3','php4','php5','phtml','pwml','inc','asp','aspx','ascx','jsp','cfm','cfc','pl','bat','exe','com','dll','vbs','js','reg','cgi','lasso','lassoapp','htaccess','asis'), 
     59                        'File' = array('html','htm','php','php2','php3','php4','php5','phtml','pwml','inc','asp','aspx','ascx','jsp','cfm','cfc','pl','bat','exe','com','dll','vbs','js','reg','cgi','lasso','lassoapp','htaccess','asis','sh','shtml','shtm','phtm'), 
    6060                        'Image' = array(), 
    6161                        'Flash' = array(), 
  • FCKeditor/branches/versions/2.4.x/editor/filemanager/upload/php/config.php

    r133 r361  
    4646 
    4747$Config['AllowedExtensions']['File']    = array() ; 
    48 $Config['DeniedExtensions']['File']             = array('html','htm','php','php2','php3','php4','php5','phtml','pwml','inc','asp','aspx','ascx','jsp','cfm','cfc','pl','bat','exe','com','dll','vbs','js','reg','cgi','htaccess','asis') ; 
     48$Config['DeniedExtensions']['File']             = array('html','htm','php','php2','php3','php4','php5','phtml','pwml','inc','asp','aspx','ascx','jsp','cfm','cfc','pl','bat','exe','com','dll','vbs','js','reg','cgi','htaccess','asis','sh','shtml','shtm','phtm') ; 
    4949 
    5050$Config['AllowedExtensions']['Image']   = array('jpg','gif','jpeg','png') ; 
  • FCKeditor/branches/versions/2.4.x/editor/filemanager/upload/php/upload.php

    r133 r361  
    8787 
    8888if ( $Config['UseFileType'] ) 
    89         $sServerDir .= $sType . '/' ; 
     89        $sServerDir .= strtolower($sType) . '/' ; 
     90 
     91//check for the directory before uploading the file 
     92if(!is_dir($sServerDir)) 
     93{ 
     94    mkdir($sServerDir); 
     95}  
    9096 
    9197while ( true ) 
     
    113119 
    114120                if ( $Config['UseFileType'] ) 
    115                         $sFileUrl = $Config["UserFilesPath"] . $sType . '/' . $sFileName ; 
     121                        $sFileUrl = $Config["UserFilesPath"] . strtolower($sType) . '/' . $sFileName ; 
    116122                else 
    117123                        $sFileUrl = $Config["UserFilesPath"] . $sFileName ; 
  • FCKeditor/branches/versions/2.4.x/editor/lang/ca.js

    r179 r361  
    223223DlgLnkTypeURL           : "URL", 
    224224DlgLnkTypeAnchor        : "Àncora en aquesta pàgina", 
    225 DlgLnkTypeEMail         : "E-Mail", 
     225DlgLnkTypeEMail         : "Correu electrònic", 
    226226DlgLnkProto                     : "Protocol", 
    227227DlgLnkProtoOther        : "<altra>", 
     
    230230DlgLnkAnchorByName      : "Per nom d'àncora", 
    231231DlgLnkAnchorById        : "Per Id d'element", 
    232 DlgLnkNoAnchors         : "<No hi ha àncores disponibles en aquest document>",          //REVIEW : Change < and > with ( and ) 
    233 DlgLnkEMail                     : "Adreça d'E-Mail", 
     232DlgLnkNoAnchors         : "(No hi ha àncores disponibles en aquest document)",          //REVIEW : Change < and > with ( and ) 
     233DlgLnkEMail                     : "Adreça de correu electrònic", 
    234234DlgLnkEMailSubject      : "Assumpte del missatge", 
    235235DlgLnkEMailBody         : "Cos del missatge", 
     
    261261 
    262262DlnLnkMsgNoUrl          : "Si us plau, escrigui l'enllaç URL", 
    263 DlnLnkMsgNoEMail        : "Si us plau, escrigui l'adreça e-mail", 
     263DlnLnkMsgNoEMail        : "Si us plau, escrigui l'adreça correu electrònic", 
    264264DlnLnkMsgNoAnchor       : "Si us plau, escrigui l'àncora", 
    265265DlnLnkMsgInvPopName     : "El nom de la finestra emergent ha de començar amb una lletra i no pot tenir espais", 
     
    281281DlgTableRows            : "Files", 
    282282DlgTableColumns         : "Columnes", 
    283 DlgTableBorder          : "Tamany vora", 
     283DlgTableBorder          : "Mida vora", 
    284284DlgTableAlign           : "Alineació", 
    285285DlgTableAlignNotSet     : "<No Definit>", 
     
    332332DlgReplaceFindLbl               : "Cerca:", 
    333333DlgReplaceReplaceLbl    : "Remplaça amb:", 
    334 DlgReplaceCaseChk               : "Sensible a majúscules", 
     334DlgReplaceCaseChk               : "Distingeix majúscules/minúscules", 
    335335DlgReplaceReplaceBtn    : "Reemplaça", 
    336 DlgReplaceReplAllBtn    : "Reemplaça'ls tots", 
    337 DlgReplaceWordChk               : "Cerca paraula completa", 
     336DlgReplaceReplAllBtn    : "Reemplaça-ho tot", 
     337DlgReplaceWordChk               : "Només paraules completes", 
    338338 
    339339// Paste Operations / Dialog 
     
    341341PasteErrorCopy  : "La seguretat del vostre navegador no permet executar automàticament les operacions de copiar. Si us plau, utilitzeu el teclat (Ctrl+C).", 
    342342 
    343 PasteAsText             : "Enganxa com a text sense format", 
     343PasteAsText             : "Enganxa com a text no formatat", 
    344344PasteFromWord   : "Enganxa com a Word", 
    345345 
    346346DlgPasteMsg2    : "Si us plau, enganxeu dins del següent camp utilitzant el teclat (<STRONG>Ctrl+V</STRONG>) i premeu <STRONG>OK</STRONG>.", 
    347 DlgPasteSec             : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING 
     347DlgPasteSec             : "A causa de la configuració de seguretat del vostre navegador, l'editor no pot accedir al porta-retalls directament. Enganxeu-ho un altre cop en aquesta finestra.", 
    348348DlgPasteIgnoreFont              : "Ignora definicions de font", 
    349349DlgPasteRemoveStyles    : "Elimina definicions d'estil", 
     
    399399DlgSelectName           : "Nom", 
    400400DlgSelectValue          : "Valor", 
    401 DlgSelectSize           : "Tamany", 
     401DlgSelectSize           : "Mida", 
    402402DlgSelectLines          : "Línies", 
    403403DlgSelectChkMulti       : "Permet múltiples seleccions", 
     
    451451 
    452452DlgDocPageTitle         : "Títol de la pàgina", 
    453 DlgDocLangDir           : "Direcció llenguatge", 
     453DlgDocLangDir           : "Direcció idioma", 
    454454DlgDocLangDirLTR        : "Esquerra a dreta (LTR)", 
    455455DlgDocLangDirRTL        : "Dreta a esquerra (RTL)", 
    456 DlgDocLangCode          : "Codi de llenguatge", 
     456DlgDocLangCode          : "Codi d'idioma", 
    457457DlgDocCharSet           : "Codificació de conjunt de caràcters", 
    458458DlgDocCharSetCE         : "Centreeuropeu", 
     
    468468 
    469469DlgDocDocType           : "Capçalera de tipus de document", 
    470 DlgDocDocTypeOther      : "Altra Capçalera de tipus de document", 
     470DlgDocDocTypeOther      : "Un altra capçalera de tipus de document", 
    471471DlgDocIncXHTML          : "Incloure declaracions XHTML", 
    472472DlgDocBgColor           : "Color de fons", 
  • FCKeditor/branches/versions/2.4.x/editor/lang/et.js

    r179 r361  
    135135FormProp                        : "Vormi omadused", 
    136136 
    137 FontFormats                     : "Tavaline;Vormindatud;Aadress;Pealkiri 1;Pealkiri 2;Pealkiri 3;Pealkiri 4;Pealkiri 5;Pealkiri 6",             //REVIEW : Check _getfontformat.html 
     137FontFormats                     : "Tavaline;Vormindatud;Aadress;Pealkiri 1;Pealkiri 2;Pealkiri 3;Pealkiri 4;Pealkiri 5;Pealkiri 6;Tavaline (DIV)",              //REVIEW : Check _getfontformat.html 
    138138 
    139139// Alerts and Messages 
     
    146146NotImplemented          : "Käsku ei täidetud", 
    147147UnknownToolbarSet       : "Tööriistariba \"%1\" ei eksisteeri", 
    148 NoActiveX                       : "Sinu interneti sirvija turvalisuse seaded võivad limiteerida mõningaid tekstirdaktori kasutus võimalusi. Sa peaksid võimaldama valiku \"Run ActiveX controls and plug-ins\" oma sirvija seadetes. Muidu võid sa täheldada vigu tekstiredaktori töös ja märgata puuduvaid funktsioone.", 
     148NoActiveX                       : "Sinu veebisirvija turvalisuse seaded võivad limiteerida mõningaid tekstirdaktori kasutus võimalusi. Sa peaksid võimaldama valiku \"Run ActiveX controls and plug-ins\" oma sirvija seadetes. Muidu võid sa täheldada vigu tekstiredaktori töös ja märgata puuduvaid funktsioone.", 
    149149BrowseServerBlocked : "Ressursside sirvija avamine ebaõnnestus. Võimalda pop-up akende avanemine.", 
    150150DialogBlocked           : "Ei olenud võimalik avada dialoogi akent. Võimalda pop-up akende avanemine.", 
     
    230230DlgLnkAnchorByName      : "Ankru nime järgi", 
    231231DlgLnkAnchorById        : "Elemendi id järgi", 
    232 DlgLnkNoAnchors         : "<Selles dokumendis ei ole ankruid>",         //REVIEW : Change < and > with ( and ) 
     232DlgLnkNoAnchors         : "(Selles dokumendis ei ole ankruid)",         //REVIEW : Change < and > with ( and ) 
    233233DlgLnkEMail                     : "E-posti aadress", 
    234234DlgLnkEMailSubject      : "Sõnumi teema", 
     
    263263DlnLnkMsgNoEMail        : "Palun kirjuta E-Posti aadress", 
    264264DlnLnkMsgNoAnchor       : "Palun vali ankur", 
    265 DlnLnkMsgInvPopName     : "The popup name must begin with an alphabetic character and must not contain spaces", //MISSING 
     265DlnLnkMsgInvPopName     : "Hüpikakna nimi peab algama alfabeetilise tähega ja ei tohi sisaldada tühikuid", 
    266266 
    267267// Color Dialog 
     
    338338 
    339339// Paste Operations / Dialog 
    340 PasteErrorCut   : "Sinu interneti sirvija turvaseaded ei luba redaktoril automaatselt lõigata. Palun kasutage selleks klaviatuuri klahvikombinatsiooni (Ctrl+X).", 
    341 PasteErrorCopy  : "Sinu interneti sirvija turvaseaded ei luba redaktoril automaatselt kopeerida. Palun kasutage selleks klaviatuuri klahvikombinatsiooni (Ctrl+C).", 
     340PasteErrorCut   : "Sinu veebisirvija turvaseaded ei luba redaktoril automaatselt lõigata. Palun kasutage selleks klaviatuuri klahvikombinatsiooni (Ctrl+X).", 
     341PasteErrorCopy  : "Sinu veebisirvija turvaseaded ei luba redaktoril automaatselt kopeerida. Palun kasutage selleks klaviatuuri klahvikombinatsiooni (Ctrl+C).", 
    342342 
    343343PasteAsText             : "Kleebi tavalise tekstina", 
     
    345345 
    346346DlgPasteMsg2    : "Palun kleebi järgnevasse kasti kasutades klaviatuuri klahvikombinatsiooni (<STRONG>Ctrl+V</STRONG>) ja vajuta seejärel <STRONG>OK</STRONG>.", 
    347 DlgPasteSec             : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING 
     347DlgPasteSec             : "Sinu veebisirvija turvaseadete tõttu, ei oma redaktor otsest ligipääsu lõikelaua andmetele. Sa pead kleepima need uuesti siia aknasse.", 
    348348DlgPasteIgnoreFont              : "Ignoreeri kirja definitsioone", 
    349349DlgPasteRemoveStyles    : "Eemalda stiilide definitsioonid", 
     
    382382DlgButtonText           : "Tekst (väärtus)", 
    383383DlgButtonType           : "Tüüp", 
    384 DlgButtonTypeBtn        : "Button",     //MISSING 
    385 DlgButtonTypeSbm        : "Submit",     //MISSING 
    386 DlgButtonTypeRst        : "Reset",      //MISSING 
     384DlgButtonTypeBtn        : "Nupp", 
     385DlgButtonTypeSbm        : "Saada", 
     386DlgButtonTypeRst        : "Lähtesta", 
    387387 
    388388// Checkbox and Radio Button Dialogs 
     
    433433BulletedListProp        : "Täpitud loetelu omadused", 
    434434NumberedListProp        : "Nummerdatud loetelu omadused", 
    435 DlgLstStart                     : "Start",      //MISSING 
     435DlgLstStart                     : "Alusta", 
    436436DlgLstType                      : "Tüüp", 
    437437DlgLstTypeCircle        : "Ring", 
     
    456456DlgDocLangCode          : "Keele kood", 
    457457DlgDocCharSet           : "Märgistiku kodeering", 
    458 DlgDocCharSetCE         : "Central European",   //MISSING 
    459 DlgDocCharSetCT         : "Chinese Traditional (Big5)", //MISSING 
    460 DlgDocCharSetCR         : "Cyrillic",   //MISSING 
    461 DlgDocCharSetGR         : "Greek",      //MISSING 
    462 DlgDocCharSetJP         : "Japanese",   //MISSING 
    463 DlgDocCharSetKR         : "Korean",     //MISSING 
    464 DlgDocCharSetTR         : "Turkish",    //MISSING 
    465 DlgDocCharSetUN         : "Unicode (UTF-8)",    //MISSING 
    466 DlgDocCharSetWE         : "Western European",   //MISSING 
     458DlgDocCharSetCE         : "Kesk-Euroopa", 
     459DlgDocCharSetCT         : "Hiina traditsiooniline (Big5)", 
     460DlgDocCharSetCR         : "Kirillisa", 
     461DlgDocCharSetGR         : "Kreeka", 
     462DlgDocCharSetJP         : "Jaapani", 
     463DlgDocCharSetKR         : "Korea", 
     464DlgDocCharSetTR         : "Türgi", 
     465DlgDocCharSetUN         : "Unicode (UTF-8)", 
     466DlgDocCharSetWE         : "Lääne-Euroopa", 
    467467DlgDocCharSetOther      : "Ülejäänud märgistike kodeeringud", 
    468468 
     
    494494DlgTemplatesLoading     : "Laen šabloonide nimekirja. Palun oota...", 
    495495DlgTemplatesNoTpl       : "(Ühtegi šablooni ei ole defineeritud)", 
    496 DlgTemplatesReplace     : "Replace actual contents",    //MISSING 
     496DlgTemplatesReplace     : "Asenda tegelik sisu", 
    497497 
    498498// About Dialog 
    499499DlgAboutAboutTab        : "Teave", 
    500 DlgAboutBrowserInfoTab  : "Interneti sirvija info", 
     500DlgAboutBrowserInfoTab  : "Veebisirvija info", 
    501501DlgAboutLicenseTab      : "Litsents", 
    502502DlgAboutVersion         : "versioon", 
  • FCKeditor/branches/versions/2.4.x/editor/lang/fa.js

    r179 r361  
    140140ProcessingXHTML         : "پردازش XHTML. لطفا صبر کنید...", 
    141141Done                            : "انجام شد", 
    142 PasteWordConfirm        : "کپی شده است. آیا می‌خواهید قبل از چسباندن آن را پاک‌سازی کنید؟ Word متنی که می‌خواهید بچسبانید به نظر می‌رسد از", 
     142PasteWordConfirm        : "متنی که می‌خواهید بچسبانید به نظر می‌رسد از Word کپی شده است. آیا می‌خواهید قبل از چسباندن آن را پاک‌سازی کنید؟", 
    143143NotCompatiblePaste      : "این فرمان برای مرورگر Internet Explorer از نگارش 5.5 یا بالاتر در دسترس است. آیا می‌خواهید بدون پاک‌سازی، متن را بچسبانید؟", 
    144144UnknownToolbarItem      : "فقرهٴ نوارابزار ناشناخته \"%1\"", 
     
    230230DlgLnkAnchorByName      : "با نام لنگر", 
    231231DlgLnkAnchorById        : "با شناسهٴ المان", 
    232 DlgLnkNoAnchors         : "<در این سند لنگری دردسترس نیست>",            //REVIEW : Change < and > with ( and ) 
     232DlgLnkNoAnchors         : "(در این سند لنگری دردسترس نیست)",            //REVIEW : Change < and > with ( and ) 
    233233DlgLnkEMail                     : "نشانی پست الکترونیکی", 
    234234DlgLnkEMailSubject      : "موضوع پیام", 
     
    247247DlgLnkPopWinName        : "نام پنجرهٴ پاپاپ", 
    248248DlgLnkPopWinFeat        : "ویژگیهای پنجرهٴ پاپاپ", 
    249 DlgLnkPopResize         : "قابل تغیر اندازه", 
     249DlgLnkPopResize         : "قابل تغییر اندازه", 
    250250DlgLnkPopLocation       : "نوار موقعیت", 
    251251DlgLnkPopMenu           : "نوار منو", 
     
    345345 
    346346DlgPasteMsg2    : "لطفا متن را با کلیدهای (<STRONG>Ctrl+V</STRONG>) در این جعبهٴ متنی بچسبانید و <STRONG>پذیرش</STRONG> را بزنید.", 
    347 DlgPasteSec             : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING 
     347DlgPasteSec             : "به خاطر تنظیمات امنیتی مرورگر شما، ویرایشگر نمی‌تواند دسترسی مستقیم به داده‌های clipboard داشته باشد. شما باید دوباره آنرا در این پنجره بچسبانید.", 
    348348DlgPasteIgnoreFont              : "چشم‌پوشی از تعاریف نوع قلم", 
    349349DlgPasteRemoveStyles    : "چشم‌پوشی از تعاریف سبک (style)", 
     
    363363 
    364364// Speller Pages Dialog 
    365 DlgSpellNotInDic                : "در واژه‌نامه موجود نیست", 
    366 DlgSpellChangeTo                : "تغیر به", 
     365DlgSpellNotInDic                : "در واژه‌نامه یافت نشد", 
     366DlgSpellChangeTo                : "تغییر به", 
    367367DlgSpellBtnIgnore               : "چشم‌پوشی", 
    368368DlgSpellBtnIgnoreAll    : "چشم‌پوشی همه", 
     
    373373DlgSpellProgress                : "بررسی املا در حال انجام...", 
    374374DlgSpellNoMispell               : "بررسی املا انجام شد. هیچ غلط‌املائی یافت نشد", 
    375 DlgSpellNoChanges               : "بررسی املا انجام شد. هیچ واژه‌ای تغیر نیافت", 
    376 DlgSpellOneChange               : "بررسی املا انجام شد. یک واژه تغیر یافت", 
    377 DlgSpellManyChanges             : "بررسی املا انجام شد. %1 واژه تغیر یافت", 
     375DlgSpellNoChanges               : "بررسی املا انجام شد. هیچ واژه‌ای تغییر نیافت", 
     376DlgSpellOneChange               : "بررسی املا انجام شد. یک واژه تغییر یافت", 
     377DlgSpellManyChanges             : "بررسی املا انجام شد. %1 واژه تغییر یافت", 
    378378 
    379379IeSpellDownload                 : "بررسی‌کنندهٴ املا نصب نشده است. آیا می‌خواهید آن را هم‌اکنون دریافت کنید؟", 
     
    393393// Form Dialog 
    394394DlgFormName             : "نام", 
    395 DlgFormAction   : "اقدام", 
     395DlgFormAction   : "رویداد", 
    396396DlgFormMethod   : "متد", 
    397397 
     
    402402DlgSelectLines          : "خطوط", 
    403403DlgSelectChkMulti       : "گزینش چندگانه فراهم باشد", 
    404 DlgSelectOpAvail        : "گزینه‌های موجود", 
     404DlgSelectOpAvail        : "گزینه‌های دردسترس", 
    405405DlgSelectOpText         : "متن", 
    406406DlgSelectOpValue        : "مقدار", 
    407 DlgSelectBtnAdd         : "اضافه", 
     407DlgSelectBtnAdd         : "افزودن", 
    408408DlgSelectBtnModify      : "ویرایش", 
    409409DlgSelectBtnUp          : "بالا", 
    410410DlgSelectBtnDown        : "پائین", 
    411411DlgSelectBtnSetValue : "تنظیم به عنوان مقدار ِبرگزیده", 
    412 DlgSelectBtnDelete      : "حذف", 
     412DlgSelectBtnDelete      : "پاک‌کردن", 
    413413 
    414414// Textarea Dialog 
  • FCKeditor/branches/versions/2.4.x/editor/lang/nb.js

    r221 r361  
    4040PasteWord                       : "Lim inn fra Word", 
    4141Print                           : "Skriv ut", 
    42 SelectAll                       : "Velg alle", 
     42SelectAll                       : "Merk alt", 
    4343RemoveFormat            : "Fjern format", 
    4444InsertLinkLbl           : "Lenke", 
  • FCKeditor/branches/versions/2.4.x/editor/lang/no.js

    r221 r361  
    4040PasteWord                       : "Lim inn fra Word", 
    4141Print                           : "Skriv ut", 
    42 SelectAll                       : "Velg alle", 
     42SelectAll                       : "Merk alt", 
    4343RemoveFormat            : "Fjern format", 
    4444InsertLinkLbl           : "Lenke", 
  • FCKeditor/branches/versions/2.4.x/editor/lang/sv.js

    r179 r361  
    103103ImageButton             : "Bildknapp", 
    104104 
    105 FitWindow               : "Maximize the editor size",   //MISSING 
     105FitWindow               : "Anpassa till fönstrets storlek", 
    106106 
    107107// Context Menu 
    108108EditLink                        : "Redigera länk", 
    109 CellCM                          : "Cell",       //MISSING 
    110 RowCM                           : "Row",        //MISSING 
    111 ColumnCM                        : "Column",     //MISSING 
     109CellCM                          : "Cell", 
     110RowCM                           : "Rad", 
     111ColumnCM                        : "Kolumn", 
    112112InsertRow                       : "Infoga rad", 
    113113DeleteRows                      : "Radera rad", 
     
    135135FormProp                        : "Egenskaper för formulär", 
    136136 
    137 FontFormats                     : "Normal;Formaterad;Adress;Rubrik 1;Rubrik 2;Rubrik 3;Rubrik 4;Rubrik 5;Rubrik 6",             //REVIEW : Check _getfontformat.html 
     137FontFormats                     : "Normal;Formaterad;Adress;Rubrik 1;Rubrik 2;Rubrik 3;Rubrik 4;Rubrik 5;Rubrik 6;Normal (DIV)",                //REVIEW : Check _getfontformat.html 
    138138 
    139139// Alerts and Messages 
     
    230230DlgLnkAnchorByName      : "efter ankarnamn", 
    231231DlgLnkAnchorById        : "efter objektid", 
    232 DlgLnkNoAnchors         : "<Inga ankare kunde hittas>",         //REVIEW : Change < and > with ( and ) 
     232DlgLnkNoAnchors         : "(Inga ankare kunde hittas)",         //REVIEW : Change < and > with ( and ) 
    233233DlgLnkEMail                     : "E-postadress", 
    234234DlgLnkEMailSubject      : "Ämne", 
     
    263263DlnLnkMsgNoEMail        : "Var god ange E-postadress", 
    264264DlnLnkMsgNoAnchor       : "Var god ange ett ankare", 
    265 DlnLnkMsgInvPopName     : "The popup name must begin with an alphabetic character and must not contain spaces", //MISSING 
     265DlnLnkMsgInvPopName     : "Popup-rutans namn måste börja med en alfabetisk bokstav och får inte innehålla mellanslag", 
    266266 
    267267// Color Dialog 
     
    345345 
    346346DlgPasteMsg2    : "Var god och klistra in Er text i rutan nedan genom att använda (<STRONG>Ctrl+V</STRONG>) klicka sen på <STRONG>OK</STRONG>.", 
    347 DlgPasteSec             : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING 
     347DlgPasteSec             : "På grund av din webläsares säkerhetsinställningar kan verktyget inte få åtkomst till urklippsdatan. Var god och använd detta fönster istället.", 
    348348DlgPasteIgnoreFont              : "Ignorera typsnittsdefinitioner", 
    349349DlgPasteRemoveStyles    : "Radera Stildefinitioner", 
     
    382382DlgButtonText           : "Text (Värde)", 
    383383DlgButtonType           : "Typ", 
    384 DlgButtonTypeBtn        : "Button",     //MISSING 
    385 DlgButtonTypeSbm        : "Submit",     //MISSING 
    386 DlgButtonTypeRst        : "Reset",      //MISSING 
     384DlgButtonTypeBtn        : "Knapp", 
     385DlgButtonTypeSbm        : "Skicka", 
     386DlgButtonTypeRst        : "Återställ", 
    387387 
    388388// Checkbox and Radio Button Dialogs 
     
    456456DlgDocLangCode          : "Språkkod", 
    457457DlgDocCharSet           : "Teckenuppsättningar", 
    458 DlgDocCharSetCE         : "Central European",   //MISSING 
    459 DlgDocCharSetCT         : "Chinese Traditional (Big5)", //MISSING 
    460 DlgDocCharSetCR         : "Cyrillic",   //MISSING 
    461 DlgDocCharSetGR         : "Greek",      //MISSING 
    462 DlgDocCharSetJP         : "Japanese",   //MISSING 
    463 DlgDocCharSetKR         : "Korean",     //MISSING 
    464 DlgDocCharSetTR         : "Turkish",    //MISSING 
    465 DlgDocCharSetUN         : "Unicode (UTF-8)",    //MISSING 
    466 DlgDocCharSetWE         : "Western European",   //MISSING 
     458DlgDocCharSetCE         : "Central Europa", 
     459DlgDocCharSetCT         : "Traditionell Kinesisk (Big5)", 
     460DlgDocCharSetCR         : "Kyrillisk", 
     461DlgDocCharSetGR         : "Grekiska", 
     462DlgDocCharSetJP         : "Japanska", 
     463DlgDocCharSetKR         : "Koreanska", 
     464DlgDocCharSetTR         : "Turkiska", 
     465DlgDocCharSetUN         : "Unicode (UTF-8)", 
     466DlgDocCharSetWE         : "Väst Europa", 
    467467DlgDocCharSetOther      : "Övriga teckenuppsättningar", 
    468468 
     
    494494DlgTemplatesLoading     : "Laddar mallar. Var god vänta...", 
    495495DlgTemplatesNoTpl       : "(Ingen mall är vald)", 
    496 DlgTemplatesReplace     : "Replace actual contents",    //MISSING 
     496DlgTemplatesReplace     : "Ersätt aktuellt innehåll", 
    497497 
    498498// About Dialog 
    499499DlgAboutAboutTab        : "Om", 
    500500DlgAboutBrowserInfoTab  : "Webläsare", 
    501 DlgAboutLicenseTab      : "License",    //MISSING 
     501DlgAboutLicenseTab      : "Licens", 
    502502DlgAboutVersion         : "version", 
    503503DlgAboutInfo            : "För mer information se" 
  • FCKeditor/branches/versions/2.4.x/editor/lang/_translationstatus.txt

    r221 r361  
    2727bn.js      Found: 386   Missing: 16 
    2828bs.js      Found: 230   Missing: 172 
    29 ca.js      Found: 401   Missing: 1 
     29ca.js      Found: 402   Missing: 0 
    3030cs.js      Found: 386   Missing: 16 
    3131da.js      Found: 386   Missing: 16 
     
    3737eo.js      Found: 350   Missing: 52 
    3838es.js      Found: 386   Missing: 16 
    39 et.js      Found: 386   Missing: 16 
     39et.js      Found: 402   Missing: 0 
    4040eu.js      Found: 386   Missing: 16 
    41 fa.js      Found: 401   Missing: 1 
     41fa.js      Found: 402   Missing: 0 
    4242fi.js      Found: 386   Missing: 16 
    4343fo.js      Found: 401   Missing: 1 
     
    6868sr-latn.js Found: 373   Missing: 29 
    6969sr.js      Found: 373   Missing: 29 
    70 sv.js      Found: 381   Missing: 21 
     70sv.js      Found: 401   Missing: 1 
    7171th.js      Found: 398   Missing: 4 
    7272tr.js      Found: 401   Missing: 1 
    73 uk.js      Found: 401   Missing: 1 
     73uk.js      Found: 402   Missing: 0 
    7474vi.js      Found: 401   Missing: 1 
    7575zh-cn.js   Found: 401   Missing: 1 
  • FCKeditor/branches/versions/2.4.x/editor/lang/uk.js

    r179 r361  
    135135FormProp                        : "Властивості форми", 
    136136 
    137 FontFormats                     : "Нормальний;Форматований;Адреса;Заголовок 1;Заголовок 2;Заголовок 3;Заголовок 4;Заголовок 5;Заголовок 6",             //REVIEW : Check _getfontformat.html 
     137FontFormats                     : "Нормальний;Форматований;Адреса;Заголовок 1;Заголовок 2;Заголовок 3;Заголовок 4;Заголовок 5;Заголовок 6;Нормальний (DIV)",            //REVIEW : Check _getfontformat.html 
    138138 
    139139// Alerts and Messages 
     
    345345 
    346346DlgPasteMsg2    : "Будь-ласка, вставте з буфера обміну в цю область, користуючись комбінацією клавіш (<STRONG>Ctrl+V</STRONG>) та натисніть <STRONG>OK</STRONG>.", 
    347 DlgPasteSec             : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING 
     347DlgPasteSec             : "Редактор не може отримати прямий доступ до буферу обміну у зв'язку з налаштуваннями вашого браузера. Вам потрібно вставити інформацію повторно в це вікно.", 
    348348DlgPasteIgnoreFont              : "Ігнорувати налаштування шрифтів", 
    349349DlgPasteRemoveStyles    : "Видалити налаштування стилів", 
  • FCKeditor/branches/versions/2.4.x/editor/plugins/placeholder/lang/fr.js

    r133 r361  
    1919 * == END LICENSE == 
    2020 * 
    21  * Placholder Italian language file. 
     21 * Placeholder French language file. 
    2222 */ 
    23 FCKLang.PlaceholderBtn                  = 'Insérer/Modifier Substitut' ; 
    24 FCKLang.PlaceholderDlgTitle             = 'Propriétés de Substitut' ; 
    25 FCKLang.PlaceholderDlgName              = 'Nom de Substitut' ; 
    26 FCKLang.PlaceholderErrNoName    = 'Veuillez saisir le nom de Substitut' ; 
    27 FCKLang.PlaceholderErrNameInUse = 'Ce nom est déjà utilisé' ; 
     23FCKLang.PlaceholderBtn                  = "Insérer/Modifier l'Espace réservé" ; 
     24FCKLang.PlaceholderDlgTitle             = "Propriétés de l'Espace réservé" ; 
     25FCKLang.PlaceholderDlgName              = "Nom de l'Espace réservé" ; 
     26FCKLang.PlaceholderErrNoName    = "Veuillez saisir le nom de l'Espace réservé" ; 
     27FCKLang.PlaceholderErrNameInUse = "Ce nom est déjà utilisé" ; 
  • FCKeditor/branches/versions/2.4.x/editor/_source/classes/fckcontextmenu.js

    r179 r361  
    2424var FCKContextMenu = function( parentWindow, langDir ) 
    2525{ 
    26         var oPanel = this._Panel = new FCKPanel( parentWindow, true ) ; 
     26        this.CtrlDisable = false ; 
     27 
     28        var oPanel = this._Panel = new FCKPanel( parentWindow ) ; 
    2729        oPanel.AppendStyleSheet( FCKConfig.SkinPath + 'fck_editor.css' ) ; 
    2830        oPanel.IsContextMenu = true ; 
     
    8890                if ( el._FCKContextMenu ) 
    8991                { 
     92                        if ( el._FCKContextMenu.CtrlDisable && ( e.ctrlKey || e.metaKey ) ) 
     93                                return true ; 
     94 
    9095                        FCKTools.CancelEvent( e ) ; 
    9196                        FCKContextMenu_AttachedElement_OnContextMenu( e, el._FCKContextMenu, el ) ; 
     
    101106//      if ( iButton != 2 ) 
    102107//              return ; 
     108 
     109        if ( fckContextMenu.CtrlDisable && ( ev.ctrlKey || ev.metaKey ) ) 
     110                return true ; 
    103111 
    104112        var eTarget = el || this ; 
  • FCKeditor/branches/versions/2.4.x/editor/_source/classes/fckenterkey.js

    r221 r361  
    177177 
    178178        // We could be in a nested LI. 
    179         if ( !previous && currentBlock.nodeName.IEquals( 'LI' ) && currentBlock.parentNode.parentNode.nodeName.IEquals( 'LI' ) ) 
     179        if ( !previous && currentBlock && currentBlock.nodeName.IEquals( 'LI' ) && currentBlock.parentNode.parentNode.nodeName.IEquals( 'LI' ) ) 
    180180        { 
    181181                this._OutdentWithSelection( currentBlock, range ) ; 
     
    267267 
    268268        // There is just one special case for collapsed selections at the end of a block. 
    269         if ( oRange.CheckIsCollapsed() && oRange.CheckEndOfBlock( FCKBrowserInfo.IsGecko ) ) 
     269        if ( oRange.CheckIsCollapsed() && oRange.CheckEndOfBlock( FCKBrowserInfo.IsGeckoLike ) ) 
    270270        { 
    271271                var oCurrentBlock = oRange.StartBlock ; 
  • FCKeditor/branches/versions/2.4.x/editor/_source/classes/fckicon.js

    r133 r361  
    8080        else                                    // It is using a single icon image. 
    8181        { 
    82                 // This is not working well with IE. See notes bellow. 
    83                 // <img class="TB_Button_Image" src="smiley.gif"> 
    84 //              eIcon = document.createElement( 'IMG' ) ; 
    85 //              eIcon.src = this.Path ? this.Path : FCK_SPACER_PATH ; 
     82                if ( FCKBrowserInfo.IsIE ) 
     83                { 
     84                        // IE makes the button 1px higher if using the <img> directly, so we 
     85                        // are changing to the <div> system to clip the image correctly. 
     86                        eIcon = document.createElement( 'DIV' ) ; 
    8687 
    87                 // IE makes the button 1px higher if using the <img> directly, so we 
    88                 // are changing to the <div> system to clip the image correctly. 
    89                 eIcon = document.createElement( 'DIV' ) ; 
    90  
    91                 eIconImage = eIcon.appendChild( document.createElement( 'IMG' ) ) ; 
    92                 eIconImage.src = this.Path ? this.Path : FCK_SPACER_PATH ; 
     88                        eIconImage = eIcon.appendChild( document.createElement( 'IMG' ) ) ; 
     89                        eIconImage.src = this.Path ? this.Path : FCK_SPACER_PATH ; 
     90                } 
     91                else 
     92                { 
     93                        // This is not working well with IE. See notes above. 
     94                        // <img class="TB_Button_Image" src="smiley.gif"> 
     95                        eIcon = document.createElement( 'IMG' ) ; 
     96                        eIcon.src = this.Path ? this.Path : FCK_SPACER_PATH ; 
     97                } 
    9398        } 
    9499 
  • FCKeditor/branches/versions/2.4.x/editor/_source/classes/fckpanel.js

    r133 r361  
    254254        var oWindow = this._Popup ? FCKTools.GetDocumentWindow( this.Document ) : this._Window ; 
    255255 
    256         var oChildPanel = new FCKPanel( oWindow, true ) ; 
     256        var oChildPanel = new FCKPanel( oWindow ) ; 
    257257        oChildPanel.ParentPanel = this ; 
    258258 
  • FCKeditor/branches/versions/2.4.x/editor/_source/classes/fckspecialcombo.js

    r133 r361  
    3737        this.Items = new Object() ; 
    3838 
    39         this._Panel = new FCKPanel( parentWindow || window, true ) ; 
     39        this._Panel = new FCKPanel( parentWindow || window ) ; 
    4040        this._Panel.AppendStyleSheet( FCKConfig.SkinPath + 'fck_editor.css' ) ; 
    4141        this._PanelBox = this._Panel.MainNode.appendChild( this._Panel.Document.createElement( 'DIV' ) ) ; 
  • FCKeditor/branches/versions/2.4.x/editor/_source/commandclasses/fck_othercommands.js

    r179 r361  
    169169 
    170170        // Submit the form. 
    171         oForm.submit() ; 
     171        // If there's a button named "submit" then the form.submit() function is masked and 
     172        // can't be called in Mozilla, so we call the click() method of that button. 
     173        if ( typeof( oForm.submit ) == 'function' ) 
     174                oForm.submit() ; 
     175        else 
     176                oForm.submit.click() ; 
    172177} 
    173178 
     
    299304        { 
    300305                var oLink = FCK.Selection.MoveToAncestorNode( 'A' ) ; 
     306                // The unlink command can generate a span in Firefox, so let's do it our way. See #430 
    301307                if ( oLink ) 
    302                         FCK.Selection.SelectNode( oLink ) ; 
    303         } 
    304  
     308                        FCKTools.RemoveOuterTags( oLink ) ; 
     309 
     310                return ; 
     311        } 
     312         
    305313        FCK.ExecuteNamedCommand( this.Name ) ; 
    306  
    307         if ( FCKBrowserInfo.IsGecko ) 
    308                 FCK.Selection.Collapse( true ) ; 
    309314} 
    310315 
  • FCKeditor/branches/versions/2.4.x/editor/_source/commandclasses/fcktextcolorcommand.js

    r133 r361  
    3939                oWindow = window.parent ; 
    4040 
    41         this._Panel = new FCKPanel( oWindow, true ) ; 
     41        this._Panel = new FCKPanel( oWindow ) ; 
    4242        this._Panel.AppendStyleSheet( FCKConfig.SkinPath + 'fck_editor.css' ) ; 
    4343        this._Panel.MainNode.className = 'FCK_Panel' ; 
  • FCKeditor/branches/versions/2.4.x/editor/_source/internals/fckbrowserinfo.js

    r133 r361  
    4242        { 
    4343                var geckoVersion = s.match( /gecko\/(\d+)/ )[1] ; 
    44                 browserInfo.IsGecko10 = geckoVersion < 20051111 ;       // Actually "10" refers to Gecko versions before Firefox 1.5, where Gecko 20051111 has been released. 
     44 
     45                // Actually "10" refers to Gecko versions before Firefox 1.5, when 
     46                // Gecko 1.8 (build 20051111) has been released. 
     47 
     48                // Some browser (like Mozilla 1.7.13) may have a Gecko build greater 
     49                // than 20051111, so we must also check for the revision number not to 
     50                // be 1.7 (we are assuming that rv < 1.7 will not have build > 20051111). 
     51 
     52                // TODO: Future versions may consider the rv number only, but it is 
     53                // still to check that all Gecko based browser present the rv number. 
     54                browserInfo.IsGecko10 = ( ( geckoVersion < 20051111 ) || ( /rv:1\.7/.test(s) ) ) ; 
    4555        } 
    4656        else 
  • FCKeditor/branches/versions/2.4.x/editor/_source/internals/fckconfig.js

    r133 r361  
    163163 
    164164        // <noscript> tags (get lost in IE and messed up in FF). 
    165         /<noscript[\s\S]*?<\/noscript>/gi 
     165        /<noscript[\s\S]*?<\/noscript>/gi, 
     166         
     167        // Protect <object> tags. See #359. 
     168        /<object[\s\S]+?<\/object>/gi 
    166169] ; 
    167170 
  • FCKeditor/branches/versions/2.4.x/editor/_source/internals/fck_contextmenu.js

    r213 r361  
    3535{ 
    3636        var oInnerContextMenu = FCK.ContextMenu._InnerContextMenu = new FCKContextMenu( FCKBrowserInfo.IsIE ? window : window.parent, FCKLang.Dir ) ; 
     37        oInnerContextMenu.CtrlDisable   = FCKConfig.BrowserContextMenuOnCtrl ; 
    3738        oInnerContextMenu.OnBeforeOpen  = FCK_ContextMenu_OnBeforeOpen ; 
    3839        oInnerContextMenu.OnItemClick   = FCK_ContextMenu_OnItemClick ; 
  • FCKeditor/branches/versions/2.4.x/editor/_source/internals/fckdocumentprocessor.js

    r213 r361  
    6565                        { 
    6666                                //if the anchor has some content then we just add a temporary class 
    67                                 if ( oLink.innerHTML != '' ) 
     67                                if ( oLink.innerHTML !== '' ) 
    6868                                { 
    6969                                        if ( FCKBrowserInfo.IsIE ) 
     
    173173} 
    174174 
    175 FCKFlashProcessor.RefreshView = function( placholderImage, originalEmbed ) 
    176 { 
    177         if ( originalEmbed.width > 0 ) 
    178                 placholderImage.style.width = FCKTools.ConvertHtmlSizeToStyle( originalEmbed.width ) ; 
    179  
    180         if ( originalEmbed.height > 0 ) 
    181                 placholderImage.style.height = FCKTools.ConvertHtmlSizeToStyle( originalEmbed.height ) ; 
     175FCKFlashProcessor.RefreshView = function( placeHolderImage, originalEmbed ) 
     176{ 
     177        if ( originalEmbed.getAttribute( 'width' ) > 0 ) 
     178                placeHolderImage.style.width = FCKTools.ConvertHtmlSizeToStyle( originalEmbed.getAttribute( 'width' ) ) ; 
     179 
     180        if ( originalEmbed.getAttribute( 'height' ) > 0 ) 
     181                placeHolderImage.style.height = FCKTools.ConvertHtmlSizeToStyle( originalEmbed.getAttribute( 'height' ) ) ; 
    182182} 
    183183 
  • FCKeditor/branches/versions/2.4.x/editor/_source/internals/fckdomtools.js

    r221 r361  
    7878                                        if ( eChildNode.nodeName.toUpperCase() == 'BR' && ( ignoreEndBRs || eChildNode.getAttribute( 'type', 2 ) == '_moz' ) ) 
    7979                                        { 
    80                                                 node.removeChild( eChildNode ) ; 
     80                                                // Use "eChildNode.parentNode" instead of "node" to avoid IE bug (#324). 
     81                                                eChildNode.parentNode.removeChild( eChildNode ) ; 
    8182                                                continue ; 
    8283                                        } 
  • FCKeditor/branches/versions/2.4.x/editor/_source/internals/fck_gecko.js

    r179 r361  
    123123                        FCK.ExecuteNamedCommand( commandName, commandParameter ) ; 
    124124        } 
    125 } 
    126  
    127 FCK.AttachToOnSelectionChange = function( functionPointer ) 
    128 { 
    129         this.Events.AttachEvent( 'OnSelectionChange', functionPointer ) ; 
    130125} 
    131126 
     
    231226FCK.CreateLink = function( url ) 
    232227{ 
     228        // Creates the array that will be returned. It contains one or more created links (see #220). 
     229        var aCreatedLinks = new Array() ; 
     230 
    233231        FCK.ExecuteNamedCommand( 'Unlink' ) ; 
    234232 
     
    241239                FCK.ExecuteNamedCommand( 'CreateLink', sTempUrl ) ; 
    242240 
    243                 // Retrieve the just created link using XPath. 
    244                 var oLink = this.EditorDocument.evaluate("//a[@href='" + sTempUrl + "']", this.EditorDocument.body, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue ; 
    245  
    246                 if ( oLink ) 
     241                // Retrieve the just created links using XPath. 
     242                var oLinksInteractor = this.EditorDocument.evaluate("//a[@href='" + sTempUrl + "']", this.EditorDocument.body, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null) ; 
     243 
     244                // Add all links to the returning array. 
     245                for ( var i = 0 ; i < oLinksInteractor.snapshotLength ; i++ ) 
    247246                {