Ticket #2115: 2115_4.patch

File 2115_4.patch, 15.1 KB (added by wwalc, 7 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.document.domain;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.document.domain ;
    4242                        break ;
    4343                }
    4444                catch( e ) {}
  • _whatsnew.html

     
    112112                        properly wrap the text.</li>
    113113                <li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2239">#2239</a>] The Samplepostdata.php has been
    114114                        changed from "&lt;?=" to "&lt;? echo".</li>
     115                <li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2115">#2115</a>] Fixed
     116                        JavaScript (permission denied) error in Firefox when file has been uploaded.</li>
    115117        </ul>
    116118        <h3>
    117119                Version 2.6</h3>
  • editor/filemanager/browser/default/browser.html

     
    4242                        var test = window.opener.document.domain ;
    4343                        break ;
    4444                }
    45                 catch( e ) {}
     45                catch( e )
     46                {
     47                        break ;
     48                }
    4649
    4750                // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
    4851                d = d.replace( /.*?(?:\.|$)/, '' ) ;
  • editor/filemanager/browser/default/frmactualfolder.html

     
    4040                        var test = window.top.opener.document.domain ;
    4141                        break ;
    4242                }
    43                 catch( e ) {}
     43                catch( e )
     44                {
     45                        break ;
     46                }
    4447
    4548                // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
    4649                d = d.replace( /.*?(?:\.|$)/, '' ) ;
  • editor/filemanager/browser/default/js/common.js

     
    3535                        var test = window.top.opener.document.domain ;
    3636                        break ;
    3737                }
    38                 catch( e ) {}
     38                catch( e )
     39                {
     40                        break ;
     41                }
    3942
    4043                // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
    4144                d = d.replace( /.*?(?:\.|$)/, '' ) ;
  • editor/filemanager/connectors/asp/io.asp

     
    224224Sub SendUploadResults( errorNumber, fileUrl, fileName, customMsg )
    225225        Response.Clear
    226226        Response.Write "<script type=""text/javascript"">"
    227         Response.Write "(function()"
    228         Response.Write "{"
    229         Response.Write "var d = document.domain ;"
     227        ' Minified version of the document.domain automatic fix script (#1919).
     228        ' The original script can be found at _dev/domain_fix_template.js
     229        Response.Write "(function(){var d=document.domain;while (true){try{var A=window.parent.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();"
    230230
    231         Response.Write " while ( true )"
    232         Response.Write "        {"
    233         ' Test if we can access a parent property.
    234         Response.Write "                try"
    235         Response.Write "                {"
    236         Response.Write "                        var test = window.top.opener.document.domain ;"
    237         Response.Write "                        break ;"
    238         Response.Write "                }"
    239         Response.Write "                catch( e ) {}"
    240 
    241         ' Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
    242         Response.Write "                d = d.replace( /.*?(?:\.|$)/, '' ) ;"
    243 
    244         Response.Write "                if ( d.length == 0 )"
    245         ' It was not able to detect the domain.
    246         Response.Write "                        break ;"
    247         Response.Write ""
    248         Response.Write "                try"
    249         Response.Write "                {"
    250         Response.Write "                        document.domain = d ;"
    251         Response.Write "                }"
    252         Response.Write "                catch (e)"
    253         Response.Write "                {"
    254         Response.Write "                        break ;"
    255         Response.Write "                }"
    256         Response.Write "        }"
    257         Response.Write "})() ;"
    258 
    259231        Response.Write "window.parent.OnUploadCompleted(" & errorNumber & ",""" & Replace( fileUrl, """", "\""" ) & """,""" & Replace( fileName, """", "\""" ) & """,""" & Replace( customMsg , """", "\""" ) & """) ;"
    260232        Response.Write "</script>"
    261233        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.document.domain;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.document.domain;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.document.domain;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.document.domain;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

     
    279279// This is the function that sends the results of the uploading process.
    280280function SendUploadResults( $errorNumber, $fileUrl = '', $fileName = '', $customMsg = '' )
    281281{
     282        // Minified version of the document.domain automatic fix script (#1919).
     283        // The original script can be found at _dev/domain_fix_template.js
    282284        echo <<<EOF
    283285<script type="text/javascript">
    284 (function()
    285 {
    286         var d = document.domain ;
    287 
    288         while ( true )
    289         {
    290                 // Test if we can access a parent property.
    291                 try
    292                 {
    293                         var test = window.top.opener.document.domain ;
    294                         break ;
    295                 }
    296                 catch( e ) {}
    297 
    298                 // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
    299                 d = d.replace( /.*?(?:\.|$)/, '' ) ;
    300 
    301                 if ( d.length == 0 )
    302                         break ;         // It was not able to detect the domain.
    303 
    304                 try
    305                 {
    306                         document.domain = d ;
    307                 }
    308                 catch (e)
    309                 {
    310                         break ;
    311                 }
    312         }
    313 })() ;
    314 
     286(function(){var d=document.domain;while (true){try{var A=window.parent.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();
    315287EOF;
     288
    316289        $rpl = array( '\\' => '\\\\', '"' => '\\"' ) ;
    317290        echo 'window.parent.OnUploadCompleted(' . $errorNumber . ',"' . strtr( $fileUrl, $rpl ) . '","' . strtr( $fileName, $rpl ) . '", "' . strtr( $customMsg, $rpl ) . '") ;' ;
    318291        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.document.domain;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 – 2015 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy