Ticket #2115: 2115_3.patch

File 2115_3.patch, 13.5 KB (added by Wiktor Walc, 12 years ago)
  • _dev/domain_fix_template.js

     
    2525
    2626// ### Minified Script (must be updated on changes in the original below).
    2727
    28 (function(){var d=document.domain;while (true){try{var A=window.top.opener.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();
     28(function(){var d=document.domain;while (true){try{var A=window.parent.OnUploadCompleted;break;}catch(e) {};d=d.replace(/.*?(?:\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();
    2929
    3030// ### Original Script.
    3131
     
    3838                // Test if we can access a parent property.
    3939                try
    4040                {
    41                         var test = window.top.opener.document.domain ;
     41                        var test = window.parent.OnUploadCompleted ;
    4242                        break ;
    4343                }
    4444                catch( e ) {}
  • _whatsnew.html

     
    4949                        fckstyles.xml in servers which cannot return the correct content type header for .xml files.</li>
    5050                <li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2102">#2102</a>] Fixed FCKConfig.DocType
    5151                        which stopped working in FCKeditor 2.6.</li>
     52                <li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2115">#2115</a>] Fixed
     53                        JavaScript (permission denied) error in Firefox when file has been uploaded.</li>
    5254        </ul>
    5355        <h3>
    5456                Version 2.6</h3>
  • editor/filemanager/connectors/asp/io.asp

     
    214214Sub SendUploadResults( errorNumber, fileUrl, fileName, customMsg )
    215215        Response.Clear
    216216        Response.Write "<script type=""text/javascript"">"
    217         Response.Write "(function()"
    218         Response.Write "{"
    219         Response.Write "var d = document.domain ;"
     217        ' Minified version of the document.domain automatic fix script (#1919).
     218        ' The original script can be found at _dev/domain_fix_template.js
     219        Response.Write "(function(){var d=document.domain;while (true){try{var A=window.parent.OnUploadCompleted;break;}catch(e) {};d=d.replace(/.*?(?:\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();"
    220220
    221         Response.Write " while ( true )"
    222         Response.Write "        {"
    223         ' Test if we can access a parent property.
    224         Response.Write "                try"
    225         Response.Write "                {"
    226         Response.Write "                        var test = window.top.opener.document.domain ;"
    227         Response.Write "                        break ;"
    228         Response.Write "                }"
    229         Response.Write "                catch( e ) {}"
    230 
    231         ' Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
    232         Response.Write "                d = d.replace( /.*?(?:\.|$)/, '' ) ;"
    233 
    234         Response.Write "                if ( d.length == 0 )"
    235         ' It was not able to detect the domain.
    236         Response.Write "                        break ;"
    237         Response.Write ""
    238         Response.Write "                try"
    239         Response.Write "                {"
    240         Response.Write "                        document.domain = d ;"
    241         Response.Write "                }"
    242         Response.Write "                catch (e)"
    243         Response.Write "                {"
    244         Response.Write "                        break ;"
    245         Response.Write "                }"
    246         Response.Write "        }"
    247         Response.Write "})() ;"
    248 
    249221        Response.Write "window.parent.OnUploadCompleted(" & errorNumber & ",""" & Replace( fileUrl, """", "\""" ) & """,""" & Replace( fileName, """", "\""" ) & """,""" & Replace( customMsg , """", "\""" ) & """) ;"
    250222        Response.Write "</script>"
    251223        Response.End
  • editor/filemanager/connectors/cfm/cf5_upload.cfm

     
    4747        function SendUploadResults(errorNumber, fileUrl, fileName, customMsg)
    4848        {
    4949                WriteOutput('<script type="text/javascript">');
    50                 WriteOutput("(function()"&
    51 "{"&
    52 "       var d = document.domain ;"&
    53 ""&
    54 "       while ( true )"&
    55 "       {"&
    56                 // Test if we can access a parent property.
    57 "               try"&
    58 "               {"&
    59 "                       var test = window.top.opener.document.domain ;"&
    60 "                       break ;"&
    61 "               }"&
    62 "               catch( e ) {}"&
    63 ""&
    64                 // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
    65 "               d = d.replace( /.*?(?:\.|$)/, '' ) ;"&
    66 ""&
    67 "               if ( d.length == 0 )"&
    68                         // It was not able to detect the domain.
    69 "                       break ;"&
    70 ""&
    71 "               try"&
    72 "               {"&
    73 "                       document.domain = d ;"&
    74 "               }"&
    75 "               catch (e)"&
    76 "               {"&
    77 "                       break ;"&
    78 "               }"&
    79 "       }"&
    80 "})() ;");
    81 
     50                // Minified version of the document.domain automatic fix script (#1919).
     51                // The original script can be found at _dev/domain_fix_template.js
     52                WriteOutput("(function(){var d=document.domain;while (true){try{var A=window.parent.OnUploadCompleted;break;}catch(e) {};d=d.replace(/.*?(?:\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();");
    8253                WriteOutput('window.parent.OnUploadCompleted(' & errorNumber & ', "' & JSStringFormat(fileUrl) & '", "' & JSStringFormat(fileName) & '", "' & JSStringFormat(customMsg) & '");' );
    8354                WriteOutput('</script>');
    8455        }
  • editor/filemanager/connectors/cfm/cf_io.cfm

     
    265265        <cfargument name="fileName" required="false" type="String" default="">
    266266        <cfargument name="customMsg" required="false" type="String" default="">
    267267
     268        <!--- Minified version of the document.domain automatic fix script (#1919).
     269        The original script can be found at _dev/domain_fix_template.js --->
    268270        <cfoutput>
    269271<script type="text/javascript">
    270 (function()
    271 {
    272         var d = document.domain ;
    273 
    274         while ( true )
    275         {
    276                 // Test if we can access a parent property.
    277                 try
    278                 {
    279                         var test = window.top.opener.document.domain ;
    280                         break ;
    281                 }
    282                 catch( e ) {}
    283 
    284                 // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
    285                 d = d.replace( /.*?(?:\.|$)/, '' ) ;
    286 
    287                 if ( d.length == 0 )
    288                         break ;         // It was not able to detect the domain.
    289 
    290                 try
    291                 {
    292                         document.domain = d ;
    293                 }
    294                 catch (e)
    295                 {
    296                         break ;
    297                 }
    298         }
    299 })() ;
    300 
    301                         window.parent.OnUploadCompleted( #errorNumber#, "#JSStringFormat(fileUrl)#", "#JSStringFormat(fileName)#", "#JSStringFormat(customMsg)#" );
    302                 </script>
     272(function(){var d=document.domain;while (true){try{var A=window.parent.OnUploadCompleted;break;}catch(e) {};d=d.replace(/.*?(?:\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();
     273window.parent.OnUploadCompleted( #errorNumber#, "#JSStringFormat(fileUrl)#", "#JSStringFormat(fileName)#", "#JSStringFormat(customMsg)#" );
     274</script>
    303275        </cfoutput>
    304276        <cfabort>
    305277</cffunction>
  • editor/filemanager/connectors/lasso/upload.lasso

     
    7474                -type='string',
    7575                -description='Sets the HTML response for the FCKEditor Quick Upload feature.'
    7676        );
    77                 $__html_reply__ = '\
    78 <script type="text/javascript">
    79 (function()
    80 {
    81         var d = document.domain ;
    82 
    83         while ( true )
    84         {
    85                 // Test if we can access a parent property.
    86                 try
    87                 {
    88                         var test = window.top.opener.document.domain ;
    89                         break ;
    90                 }
    91                 catch( e ) {}
    92 
    93                 // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
    94                 d = d.replace( /.*?(?:\\.|$)/, "" ) ;
    95 
    96                 if ( d.length == 0 )
    97                         break ;         // It was not able to detect the domain.
    98 
    99                 try
    100                 {
    101                         document.domain = d ;
    102                 }
    103                 catch (e)
    104                 {
    105                         break ;
    106                 }
    107         }
    108 })() ;
     77               
     78                $__html_reply__ = '<script type="text/javascript">';
     79               
     80                // Minified version of the document.domain automatic fix script (#1919).
     81                // The original script can be found at _dev/domain_fix_template.js
     82                // Note: in Lasso replace \ with \\
     83                $__html_reply__ = $__html_reply__ + "(function(){var d=document.domain;while (true){try{var A=window.parent.OnUploadCompleted;break;}catch(e) {};d=d.replace(/.*?(?:\\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();";
     84               
     85                $__html_reply__ = $__html_reply__ + '\
    10986        window.parent.OnUploadCompleted(' + #errorNumber + ',"'
    11087                + string_replace(#fileUrl, -find='"', -replace='\\"') + '","'
    11188                + string_replace(#fileName, -find='"', -replace='\\"') + '","'
  • editor/filemanager/connectors/perl/commands.pl

     
    169169
    170170        local($sErrorNumber, $sFileUrl, $sFileName, $customMsg) = @_;
    171171
     172        # Minified version of the document.domain automatic fix script (#1919).
     173        # The original script can be found at _dev/domain_fix_template.js
     174        # Note: in Perl replace \ with \\ and $ with \$
    172175        print <<EOF;
    173176Content-type: text/html
    174177
    175178<script type="text/javascript">
    176 // Automatically detect the correct document.domain (#1919).
    177 (function()
    178 {
    179         var d = document.domain ;
     179(function(){var d=document.domain;while (true){try{var A=window.parent.OnUploadCompleted;break;}catch(e) {};d=d.replace(/.*?(?:\\.|\$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();
    180180
    181         while ( true )
    182         {
    183                 // Test if we can access a parent property.
    184                 try
    185                 {
    186                         var test = window.top.opener.document.domain ;
    187                         break ;
    188                 }
    189                 catch( e ) {}
    190 
    191                 // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
    192                 d = d.replace( /.*?(?:\\.|\$)/, '' ) ;
    193 
    194                 if ( d.length == 0 )
    195                         break ;         // It was not able to detect the domain.
    196 
    197                 try
    198                 {
    199                         document.domain = d ;
    200                 }
    201                 catch (e)
    202                 {
    203                         break ;
    204                 }
    205         }
    206 })() ;
    207 
    208181EOF
    209182        print 'window.parent.OnUploadCompleted(' . $sErrorNumber . ',"' . JS_cnv($sFileUrl) . '","' . JS_cnv($sFileName) . '","' . JS_cnv($customMsg) . '") ;';
    210183        print '</script>';
  • editor/filemanager/connectors/php/io.php

     
    277277// This is the function that sends the results of the uploading process.
    278278function SendUploadResults( $errorNumber, $fileUrl = '', $fileName = '', $customMsg = '' )
    279279{
     280        // Minified version of the document.domain automatic fix script (#1919).
     281        // The original script can be found at _dev/domain_fix_template.js
    280282        echo <<<EOF
    281283<script type="text/javascript">
    282 (function()
    283 {
    284         var d = document.domain ;
    285 
    286         while ( true )
    287         {
    288                 // Test if we can access a parent property.
    289                 try
    290                 {
    291                         var test = window.top.opener.document.domain ;
    292                         break ;
    293                 }
    294                 catch( e ) {}
    295 
    296                 // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
    297                 d = d.replace( /.*?(?:\.|$)/, '' ) ;
    298 
    299                 if ( d.length == 0 )
    300                         break ;         // It was not able to detect the domain.
    301 
    302                 try
    303                 {
    304                         document.domain = d ;
    305                 }
    306                 catch (e)
    307                 {
    308                         break ;
    309                 }
    310         }
    311 })() ;
    312 
     284(function(){var d=document.domain;while (true){try{var A=window.parent.OnUploadCompleted;break;}catch(e) {};d=d.replace(/.*?(?:\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();
    313285EOF;
     286
    314287        $rpl = array( '\\' => '\\\\', '"' => '\\"' ) ;
    315288        echo 'window.parent.OnUploadCompleted(' . $errorNumber . ',"' . strtr( $fileUrl, $rpl ) . '","' . strtr( $fileName, $rpl ) . '", "' . strtr( $customMsg, $rpl ) . '") ;' ;
    316289        echo '</script>' ;
  • editor/filemanager/connectors/py/fckoutput.py

     
    101101        def sendUploadResults( self, errorNo = 0, fileUrl = '', fileName = '', customMsg = '' ):
    102102                self.setHttpHeaders("text/html")
    103103                "This is the function that sends the results of the uploading process"
    104                 return """<script type="text/javascript">
    105                         (function()
    106                         {
    107                                 var d = document.domain ;
     104               
     105                "Minified version of the document.domain automatic fix script (#1919)."
     106                "The original script can be found at _dev/domain_fix_template.js"
     107                return """<script type="text/javascript">                       
     108                        (function(){var d=document.domain;while (true){try{var A=window.parent.OnUploadCompleted;break;}catch(e) {};d=d.replace(/.*?(?:\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();
    108109
    109                                 while ( true )
    110                                 {
    111                                         // Test if we can access a parent property.
    112                                         try
    113                                         {
    114                                                 var test = window.top.opener.document.domain ;
    115                                                 break ;
    116                                         }
    117                                         catch( e ) {}
    118 
    119                                         // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
    120                                         d = d.replace( /.*?(?:\.|$)/, '' ) ;
    121 
    122                                         if ( d.length == 0 )
    123                                                 break ;         // It was not able to detect the domain.
    124 
    125                                         try
    126                                         {
    127                                                 document.domain = d ;
    128                                         }
    129                                         catch (e)
    130                                         {
    131                                                 break ;
    132                                         }
    133                                 }
    134                         })() ;
    135 
    136110                        window.parent.OnUploadCompleted(%(errorNumber)s,"%(fileUrl)s","%(fileName)s","%(customMsg)s");
    137111                        </script>""" % {
    138112                        'errorNumber': errorNo,
© 2003 – 2019 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy