1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
2 "http://www.w3.org/TR/html4/frameset.dtd">
4 * CKeditor - The text editor for Internet - http://www.fckeditor.net
5 * Copyright (C) 2003-2008 Frederico Caldeira Knabben
9 * Licensed under the terms of any of the following licenses at your
12 * - GNU General Public License Version 2 or later (the "GPL")
13 * http://www.gnu.org/licenses/gpl.html
15 * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
16 * http://www.gnu.org/licenses/lgpl.html
18 * - Mozilla Public License Version 1.1 or later (the "MPL")
19 * http://www.mozilla.org/MPL/MPL-1.1.html
23 * This page compose the File Browser dialog frameset.
25 <html xmlns="http://www.w3.org/1999/xhtml">
27 <title>Resources Browser</title>
28 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
29 <link href="browser.css" type="text/css" rel="stylesheet">
30 <script type="text/javascript" src="js/fckxml.js"></script>
31 <script type="text/javascript">
32 // Automatically detect the correct document.domain (#1919).
35 var d = document.domain ;
39 // Test if we can access a parent property.
42 var test = window.opener.document.domain ;
48 // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
49 d = d.replace( /.*?(?:\.|$)/, '' ) ;
52 break ; // It was not able to detect the domain.
65 function GetUrlParam( paramName )
67 var oRegex = new RegExp( '[\?&]' + paramName + '=([^&]+)', 'i' ) ;
68 var oMatch = oRegex.exec( window.top.location.search ) ;
70 if ( oMatch && oMatch.length > 1 )
71 return decodeURIComponent( oMatch[1] ) ;
76 var oConnector = new Object() ;
79 oConnector.CurrentFolder = '/' ;
81 var currentFolderParam = GetUrlParam( 'currentFolder' ) ;
83 if (currentFolderParam) {
84 oConnector.CurrentFolder = currentFolderParam ;
89 var sConnUrl = GetUrlParam( 'Connector' ) ;
91 // Gecko has some problems when using relative URLs (not starting with slash).
92 if ( sConnUrl.substr(0,1) != '/' && sConnUrl.indexOf( '://' ) < 0 )
93 sConnUrl = window.location.href.replace( /browser.html.*$/, '' ) + sConnUrl ;
95 oConnector.ConnectorUrl = sConnUrl + ( sConnUrl.indexOf('?') != -1 ? '&' : '?' ) ;
97 var sServerPath = GetUrlParam( 'ServerPath' ) ;
98 if ( sServerPath.length > 0 )
99 oConnector.ConnectorUrl += 'ServerPath=' + encodeURIComponent( sServerPath ) + '&' ;
101 oConnector.ResourceType = GetUrlParam( 'Type' ) ;
102 oConnector.ShowAllTypes = ( oConnector.ResourceType.length == 0 ) ;
104 if ( oConnector.ShowAllTypes )
105 oConnector.ResourceType = 'Document' ;
107 oConnector.SendCommand = function( command, params, callBackFunction )
109 var sUrl = this.ConnectorUrl + 'Command=' + command ;
110 sUrl += '&Type=' + this.ResourceType ;
111 sUrl += '&CurrentFolder=' + encodeURIComponent( oConnector.CurrentFolder ) ;
113 if ( params ) sUrl += '&' + params ;
115 // Add a random salt to avoid getting a cached version of the command execution
116 sUrl += '&uuid=' + new Date().getTime() ;
118 var oXML = new FCKXml() ;
120 if ( callBackFunction )
121 oXML.LoadUrl( sUrl, callBackFunction ) ; // Asynchronous load.
123 return oXML.LoadUrl( sUrl ) ;
128 oConnector.CheckError = function( responseXml )
130 var iErrorNumber = 0 ;
131 var oErrorNode = responseXml.SelectSingleNode( 'Connector/Error' ) ;
135 iErrorNumber = parseInt( oErrorNode.attributes.getNamedItem('number').value, 10 ) ;
137 switch ( iErrorNumber )
141 case 1 : // Custom error. Message placed in the "text" attribute.
142 alert( oErrorNode.attributes.getNamedItem('text').value ) ;
145 alert( 'Folder already exists' ) ;
148 alert( 'Invalid folder name' ) ;
151 alert( 'You have no permissions to create the folder' ) ;
154 alert( 'Unknown error creating folder' ) ;
157 alert( 'Error on your request. Error number: ' + iErrorNumber ) ;
161 return iErrorNumber ;
164 var oIcons = new Object() ;
166 oIcons.AvailableIconsArray = [
167 'ai','avi','bmp','cs','dll','doc','exe','fla','gif','htm','html','jpg','js',
168 'mdb','mp3','pdf','png','ppt','rdp','swf','swt','txt','vsd','xls','xml','zip' ] ;
170 oIcons.AvailableIcons = new Object() ;
172 for ( var i = 0 ; i < oIcons.AvailableIconsArray.length ; i++ )
173 oIcons.AvailableIcons[ oIcons.AvailableIconsArray[i] ] = true ;
175 oIcons.GetIcon = function( fileName )
177 var sExtension = fileName.substr( fileName.lastIndexOf('.') + 1 ).toLowerCase() ;
179 if ( this.AvailableIcons[ sExtension ] == true )
182 return 'default.icon' ;
187 if (oConnector.ResourceType === 'Attachment') {
188 var frmCreateFolderLoadedInterval = window.setInterval(
190 var frmCreateFolder = document.getElementsByName('frmCreateFolder');
192 if (frmCreateFolder.length > 0) {
193 window.clearInterval(frmCreateFolderLoadedInterval);
195 frmCreateFolder = frmCreateFolder[0];
197 frmCreateFolder.setAttribute('height', '0');
198 frmCreateFolder.setAttribute('style', 'display:none');
199 frmCreateFolder.setAttribute('tabindex', '-1');
200 frmCreateFolder.setAttribute('width', '0');
202 var parentNode = frmCreateFolder.parentNode;
204 parentNode.setAttribute('cols', '0,*,0');
211 function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
215 if (errorNumber == "1")
216 window.frames['frmUpload'].OnUploadCompleted( errorNumber, customMsg ) ;
218 window.frames['frmUpload'].OnUploadCompleted( errorNumber, fileName ) ;
223 <frameset cols="150,*" class="Frame" framespacing="3" bordercolor="#f1f1e3" frameborder="1">
224 <frameset rows="50,*" framespacing="0">
225 <frame src="frmresourcetype.html" scrolling="no" frameborder="0">
226 <frame name="frmFolders" src="frmfolders.html" scrolling="auto" frameborder="1">
228 <frameset rows="50,*,50" framespacing="0">
229 <frame name="frmActualFolder" src="frmactualfolder.html" scrolling="no" frameborder="0">
230 <frame name="frmResourcesList" src="frmresourceslist.html" scrolling="auto" frameborder="1">
231 <frameset cols="150,*,0" framespacing="0" frameborder="0">
232 <frame name="frmCreateFolder" src="frmcreatefolder.html" scrolling="no" frameborder="0">
233 <frame name="frmUpload" src="frmupload.html" scrolling="no" frameborder="0">
234 <frame name="frmUploadWorker" src="javascript:void(0)" scrolling="no" frameborder="0">