1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
\r
3 * FCKeditor - The text editor for Internet - http://www.fckeditor.net
\r
4 * Copyright (C) 2003-2007 Frederico Caldeira Knabben
\r
6 * == BEGIN LICENSE ==
\r
8 * Licensed under the terms of any of the following licenses at your
\r
11 * - GNU General Public License Version 2 or later (the "GPL")
\r
12 * http://www.gnu.org/licenses/gpl.html
\r
14 * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
\r
15 * http://www.gnu.org/licenses/lgpl.html
\r
17 * - Mozilla Public License Version 1.1 or later (the "MPL")
\r
18 * http://www.mozilla.org/MPL/MPL-1.1.html
\r
22 * This page shows all resources available in a folder in the File Browser.
\r
24 <html xmlns="http://www.w3.org/1999/xhtml">
\r
26 <link href="browser.css" type="text/css" rel="stylesheet" />
\r
27 <script type="text/javascript" src="js/common.js"></script>
\r
28 <script type="text/javascript">
\r
30 var oListManager = new Object() ;
\r
32 oListManager.Clear = function()
\r
34 document.body.innerHTML = '' ;
\r
37 oListManager.GetFolderRowHtml = function( folderName, folderPath )
\r
39 // Build the link to view the folder.
\r
40 var sLink = '<a href="#" onclick="OpenFolder(\'' + folderPath.replace( /'/g, '\\\'') + '\');return false;">' ;
\r
45 '<img alt="" src="images/Folder.gif" width="16" height="16" border="0"></a>' +
\r
46 '</td><td nowrap colspan="2"> ' +
\r
53 oListManager.GetFileRowHtml = function( fileName, fileUrl, fileSize )
\r
55 // Build the link to view the folder.
\r
56 var sLink = '<a href="#" onclick="OpenFile(\'' + fileUrl.replace( /'/g, '\\\'') + '\');return false;">' ;
\r
58 // Get the file icon.
\r
59 var sIcon = oIcons.GetIcon( fileName ) ;
\r
64 '<img alt="" src="images/icons/' + sIcon + '.gif" width="16" height="16" border="0"></a>' +
\r
69 '</td><td align="right" nowrap> ' +
\r
75 function OpenFolder( folderPath )
\r
77 // Load the resources list for this folder.
\r
78 window.parent.frames['frmFolders'].LoadFolders( folderPath ) ;
\r
81 function OpenFile( fileUrl )
\r
83 window.top.opener.SetUrl( encodeURI( fileUrl ) ) ;
\r
84 window.top.close() ;
\r
85 window.top.opener.focus() ;
\r
88 function LoadResources( resourceType, folderPath )
\r
90 oListManager.Clear() ;
\r
91 oConnector.ResourceType = resourceType ;
\r
92 oConnector.CurrentFolder = folderPath ;
\r
93 oConnector.SendCommand( 'GetFoldersAndFiles', null, GetFoldersAndFilesCallBack ) ;
\r
98 LoadResources( oConnector.ResourceType, oConnector.CurrentFolder ) ;
\r
101 function GetFoldersAndFilesCallBack( fckXml )
\r
103 if ( oConnector.CheckError( fckXml ) != 0 )
\r
106 // Get the current folder path.
\r
107 var oFolderNode = fckXml.SelectSingleNode( 'Connector/CurrentFolder' ) ;
\r
108 if ( oFolderNode == null )
\r
110 alert( 'The server didn\'t reply with a proper XML data. Please check your configuration.' ) ;
\r
113 var sCurrentFolderPath = oFolderNode.attributes.getNamedItem('path').value ;
\r
114 var sCurrentFolderUrl = oFolderNode.attributes.getNamedItem('url').value ;
\r
116 // var dTimer = new Date() ;
\r
118 var oHtml = new StringBuilder( '<table id="tableFiles" cellspacing="1" cellpadding="0" width="100%" border="0">' ) ;
\r
120 // Add the Folders.
\r
122 oNodes = fckXml.SelectNodes( 'Connector/Folders/Folder' ) ;
\r
123 for ( var i = 0 ; i < oNodes.length ; i++ )
\r
125 var sFolderName = oNodes[i].attributes.getNamedItem('name').value ;
\r
126 oHtml.Append( oListManager.GetFolderRowHtml( sFolderName, sCurrentFolderPath + sFolderName + "/" ) ) ;
\r
130 oNodes = fckXml.SelectNodes( 'Connector/Files/File' ) ;
\r
131 for ( var j = 0 ; j < oNodes.length ; j++ )
\r
133 var oNode = oNodes[j] ;
\r
134 var sFileName = oNode.attributes.getNamedItem('name').value ;
\r
135 var sFileSize = oNode.attributes.getNamedItem('size').value ;
\r
137 // Get the optional "url" attribute. If not available, build the url.
\r
138 var oFileUrlAtt = oNodes[j].attributes.getNamedItem('url') ;
\r
139 var sFileUrl = oFileUrlAtt != null ? oFileUrlAtt.value : sCurrentFolderUrl + sFileName ;
\r
141 oHtml.Append( oListManager.GetFileRowHtml( sFileName, sFileUrl, sFileSize ) ) ;
\r
144 oHtml.Append( '<\/table>' ) ;
\r
146 document.body.innerHTML = oHtml.ToString() ;
\r
148 // window.top.document.title = 'Finished processing in ' + ( ( ( new Date() ) - dTimer ) / 1000 ) + ' seconds' ;
\r
152 window.onload = function()
\r
154 window.top.IsLoadedResourcesList = true ;
\r
158 <body class="FileArea" bottommargin="10" leftmargin="10" topmargin="10" rightmargin="10">
\r