event refactor, landing on HEAD!
[freeside.git] / httemplate / elements / fckeditor / editor / filemanager / browser / default / frmresourceslist.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
2 <!--\r
3  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
4  * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
5  *\r
6  * == BEGIN LICENSE ==\r
7  *\r
8  * Licensed under the terms of any of the following licenses at your\r
9  * choice:\r
10  *\r
11  *  - GNU General Public License Version 2 or later (the "GPL")\r
12  *    http://www.gnu.org/licenses/gpl.html\r
13  *\r
14  *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
15  *    http://www.gnu.org/licenses/lgpl.html\r
16  *\r
17  *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
18  *    http://www.mozilla.org/MPL/MPL-1.1.html\r
19  *\r
20  * == END LICENSE ==\r
21  *\r
22  * This page shows all resources available in a folder in the File Browser.\r
23 -->\r
24 <html xmlns="http://www.w3.org/1999/xhtml">\r
25 <head>\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
29 \r
30 var oListManager = new Object() ;\r
31 \r
32 oListManager.Clear = function()\r
33 {\r
34         document.body.innerHTML = '' ;\r
35 }\r
36 \r
37 oListManager.GetFolderRowHtml = function( folderName, folderPath )\r
38 {\r
39         // Build the link to view the folder.\r
40         var sLink = '<a href="#" onclick="OpenFolder(\'' + folderPath.replace( /'/g, '\\\'') + '\');return false;">' ;\r
41 \r
42         return '<tr>' +\r
43                         '<td width="16">' +\r
44                                 sLink +\r
45                                 '<img alt="" src="images/Folder.gif" width="16" height="16" border="0"></a>' +\r
46                         '</td><td nowrap colspan="2">&nbsp;' +\r
47                                 sLink +\r
48                                 folderName +\r
49                                 '</a>' +\r
50                 '</td></tr>' ;\r
51 }\r
52 \r
53 oListManager.GetFileRowHtml = function( fileName, fileUrl, fileSize )\r
54 {\r
55         // Build the link to view the folder.\r
56         var sLink = '<a href="#" onclick="OpenFile(\'' + fileUrl.replace( /'/g, '\\\'') + '\');return false;">' ;\r
57 \r
58         // Get the file icon.\r
59         var sIcon = oIcons.GetIcon( fileName ) ;\r
60 \r
61         return '<tr>' +\r
62                         '<td width="16">' +\r
63                                 sLink +\r
64                                 '<img alt="" src="images/icons/' + sIcon + '.gif" width="16" height="16" border="0"></a>' +\r
65                         '</td><td>&nbsp;' +\r
66                                 sLink +\r
67                                 fileName +\r
68                                 '</a>' +\r
69                         '</td><td align="right" nowrap>&nbsp;' +\r
70                                 fileSize +\r
71                                 ' KB' +\r
72                 '</td></tr>' ;\r
73 }\r
74 \r
75 function OpenFolder( folderPath )\r
76 {\r
77         // Load the resources list for this folder.\r
78         window.parent.frames['frmFolders'].LoadFolders( folderPath ) ;\r
79 }\r
80 \r
81 function OpenFile( fileUrl )\r
82 {\r
83         window.top.opener.SetUrl( encodeURI( fileUrl ) ) ;\r
84         window.top.close() ;\r
85         window.top.opener.focus() ;\r
86 }\r
87 \r
88 function LoadResources( resourceType, folderPath )\r
89 {\r
90         oListManager.Clear() ;\r
91         oConnector.ResourceType = resourceType ;\r
92         oConnector.CurrentFolder = folderPath ;\r
93         oConnector.SendCommand( 'GetFoldersAndFiles', null, GetFoldersAndFilesCallBack ) ;\r
94 }\r
95 \r
96 function Refresh()\r
97 {\r
98         LoadResources( oConnector.ResourceType, oConnector.CurrentFolder ) ;\r
99 }\r
100 \r
101 function GetFoldersAndFilesCallBack( fckXml )\r
102 {\r
103         if ( oConnector.CheckError( fckXml ) != 0 )\r
104                 return ;\r
105 \r
106         // Get the current folder path.\r
107         var oFolderNode = fckXml.SelectSingleNode( 'Connector/CurrentFolder' ) ;\r
108         if ( oFolderNode == null )\r
109         {\r
110                 alert( 'The server didn\'t reply with a proper XML data. Please check your configuration.' ) ;\r
111                 return ;\r
112         }\r
113         var sCurrentFolderPath  = oFolderNode.attributes.getNamedItem('path').value ;\r
114         var sCurrentFolderUrl   = oFolderNode.attributes.getNamedItem('url').value ;\r
115 \r
116 //      var dTimer = new Date() ;\r
117 \r
118         var oHtml = new StringBuilder( '<table id="tableFiles" cellspacing="1" cellpadding="0" width="100%" border="0">' ) ;\r
119 \r
120         // Add the Folders.\r
121         var oNodes ;\r
122         oNodes = fckXml.SelectNodes( 'Connector/Folders/Folder' ) ;\r
123         for ( var i = 0 ; i < oNodes.length ; i++ )\r
124         {\r
125                 var sFolderName = oNodes[i].attributes.getNamedItem('name').value ;\r
126                 oHtml.Append( oListManager.GetFolderRowHtml( sFolderName, sCurrentFolderPath + sFolderName + "/" ) ) ;\r
127         }\r
128 \r
129         // Add the Files.\r
130         oNodes = fckXml.SelectNodes( 'Connector/Files/File' ) ;\r
131         for ( var j = 0 ; j < oNodes.length ; j++ )\r
132         {\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
136 \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
140 \r
141                 oHtml.Append( oListManager.GetFileRowHtml( sFileName, sFileUrl, sFileSize ) ) ;\r
142         }\r
143 \r
144         oHtml.Append( '<\/table>' ) ;\r
145 \r
146         document.body.innerHTML = oHtml.ToString() ;\r
147 \r
148 //      window.top.document.title = 'Finished processing in ' + ( ( ( new Date() ) - dTimer ) / 1000 ) + ' seconds' ;\r
149 \r
150 }\r
151 \r
152 window.onload = function()\r
153 {\r
154         window.top.IsLoadedResourcesList = true ;\r
155 }\r
156         </script>\r
157 </head>\r
158 <body class="FileArea" bottommargin="10" leftmargin="10" topmargin="10" rightmargin="10">\r
159 </body>\r
160 </html>\r