import torrus 1.0.9
[freeside.git] / httemplate / elements / fckeditor / editor / filemanager / browser / default / browser.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"\r
2    "http://www.w3.org/TR/html4/frameset.dtd">\r
3 <!--\r
4  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
5  * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
6  *\r
7  * == BEGIN LICENSE ==\r
8  *\r
9  * Licensed under the terms of any of the following licenses at your\r
10  * choice:\r
11  *\r
12  *  - GNU General Public License Version 2 or later (the "GPL")\r
13  *    http://www.gnu.org/licenses/gpl.html\r
14  *\r
15  *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
16  *    http://www.gnu.org/licenses/lgpl.html\r
17  *\r
18  *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
19  *    http://www.mozilla.org/MPL/MPL-1.1.html\r
20  *\r
21  * == END LICENSE ==\r
22  *\r
23  * This page compose the File Browser dialog frameset.\r
24 -->\r
25 <html>\r
26         <head>\r
27                 <title>FCKeditor - Resources Browser</title>\r
28                 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
29                 <link href="browser.css" type="text/css" rel="stylesheet">\r
30                 <script type="text/javascript" src="js/fckxml.js"></script>\r
31                 <script type="text/javascript">\r
32 // Automatically detect the correct document.domain (#1919).\r
33 (function()\r
34 {\r
35         var d = document.domain ;\r
36 \r
37         while ( true )\r
38         {\r
39                 // Test if we can access a parent property.\r
40                 try\r
41                 {\r
42                         var test = window.opener.document.domain ;\r
43                         break ;\r
44                 }\r
45                 catch( e )\r
46                 {}\r
47 \r
48                 // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...\r
49                 d = d.replace( /.*?(?:\.|$)/, '' ) ;\r
50 \r
51                 if ( d.length == 0 )\r
52                         break ;         // It was not able to detect the domain.\r
53 \r
54                 try\r
55                 {\r
56                         document.domain = d ;\r
57                 }\r
58                 catch (e)\r
59                 {\r
60                         break ;\r
61                 }\r
62         }\r
63 })() ;\r
64 \r
65 function GetUrlParam( paramName )\r
66 {\r
67         var oRegex = new RegExp( '[\?&]' + paramName + '=([^&]+)', 'i' ) ;\r
68         var oMatch = oRegex.exec( window.top.location.search ) ;\r
69 \r
70         if ( oMatch && oMatch.length > 1 )\r
71                 return decodeURIComponent( oMatch[1] ) ;\r
72         else\r
73                 return '' ;\r
74 }\r
75 \r
76 var oConnector = new Object() ;\r
77 oConnector.CurrentFolder        = '/' ;\r
78 \r
79 var sConnUrl = GetUrlParam( 'Connector' ) ;\r
80 \r
81 // Gecko has some problems when using relative URLs (not starting with slash).\r
82 if ( sConnUrl.substr(0,1) != '/' && sConnUrl.indexOf( '://' ) < 0 )\r
83         sConnUrl = window.location.href.replace( /browser.html.*$/, '' ) + sConnUrl ;\r
84 \r
85 oConnector.ConnectorUrl = sConnUrl + ( sConnUrl.indexOf('?') != -1 ? '&' : '?' ) ;\r
86 \r
87 var sServerPath = GetUrlParam( 'ServerPath' ) ;\r
88 if ( sServerPath.length > 0 )\r
89         oConnector.ConnectorUrl += 'ServerPath=' + encodeURIComponent( sServerPath ) + '&' ;\r
90 \r
91 oConnector.ResourceType         = GetUrlParam( 'Type' ) ;\r
92 oConnector.ShowAllTypes         = ( oConnector.ResourceType.length == 0 ) ;\r
93 \r
94 if ( oConnector.ShowAllTypes )\r
95         oConnector.ResourceType = 'File' ;\r
96 \r
97 oConnector.SendCommand = function( command, params, callBackFunction )\r
98 {\r
99         var sUrl = this.ConnectorUrl + 'Command=' + command ;\r
100         sUrl += '&Type=' + this.ResourceType ;\r
101         sUrl += '&CurrentFolder=' + encodeURIComponent( this.CurrentFolder ) ;\r
102 \r
103         if ( params ) sUrl += '&' + params ;\r
104 \r
105         // Add a random salt to avoid getting a cached version of the command execution\r
106         sUrl += '&uuid=' + new Date().getTime() ;\r
107 \r
108         var oXML = new FCKXml() ;\r
109 \r
110         if ( callBackFunction )\r
111                 oXML.LoadUrl( sUrl, callBackFunction ) ;        // Asynchronous load.\r
112         else\r
113                 return oXML.LoadUrl( sUrl ) ;\r
114 \r
115         return null ;\r
116 }\r
117 \r
118 oConnector.CheckError = function( responseXml )\r
119 {\r
120         var iErrorNumber = 0 ;\r
121         var oErrorNode = responseXml.SelectSingleNode( 'Connector/Error' ) ;\r
122 \r
123         if ( oErrorNode )\r
124         {\r
125                 iErrorNumber = parseInt( oErrorNode.attributes.getNamedItem('number').value, 10 ) ;\r
126 \r
127                 switch ( iErrorNumber )\r
128                 {\r
129                         case 0 :\r
130                                 break ;\r
131                         case 1 :        // Custom error. Message placed in the "text" attribute.\r
132                                 alert( oErrorNode.attributes.getNamedItem('text').value ) ;\r
133                                 break ;\r
134                         case 101 :\r
135                                 alert( 'Folder already exists' ) ;\r
136                                 break ;\r
137                         case 102 :\r
138                                 alert( 'Invalid folder name' ) ;\r
139                                 break ;\r
140                         case 103 :\r
141                                 alert( 'You have no permissions to create the folder' ) ;\r
142                                 break ;\r
143                         case 110 :\r
144                                 alert( 'Unknown error creating folder' ) ;\r
145                                 break ;\r
146                         default :\r
147                                 alert( 'Error on your request. Error number: ' + iErrorNumber ) ;\r
148                                 break ;\r
149                 }\r
150         }\r
151         return iErrorNumber ;\r
152 }\r
153 \r
154 var oIcons = new Object() ;\r
155 \r
156 oIcons.AvailableIconsArray = [\r
157         'ai','avi','bmp','cs','dll','doc','exe','fla','gif','htm','html','jpg','js',\r
158         'mdb','mp3','pdf','png','ppt','rdp','swf','swt','txt','vsd','xls','xml','zip' ] ;\r
159 \r
160 oIcons.AvailableIcons = new Object() ;\r
161 \r
162 for ( var i = 0 ; i < oIcons.AvailableIconsArray.length ; i++ )\r
163         oIcons.AvailableIcons[ oIcons.AvailableIconsArray[i] ] = true ;\r
164 \r
165 oIcons.GetIcon = function( fileName )\r
166 {\r
167         var sExtension = fileName.substr( fileName.lastIndexOf('.') + 1 ).toLowerCase() ;\r
168 \r
169         if ( this.AvailableIcons[ sExtension ] == true )\r
170                 return sExtension ;\r
171         else\r
172                 return 'default.icon' ;\r
173 }\r
174 \r
175 function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )\r
176 {\r
177         if (errorNumber == "1")\r
178                 window.frames['frmUpload'].OnUploadCompleted( errorNumber, customMsg ) ;\r
179         else\r
180                 window.frames['frmUpload'].OnUploadCompleted( errorNumber, fileName ) ;\r
181 }\r
182 \r
183                 </script>\r
184         </head>\r
185         <frameset cols="150,*" class="Frame" framespacing="3" bordercolor="#f1f1e3" frameborder="1">\r
186                 <frameset rows="50,*" framespacing="0">\r
187                         <frame src="frmresourcetype.html" scrolling="no" frameborder="0">\r
188                         <frame name="frmFolders" src="frmfolders.html" scrolling="auto" frameborder="1">\r
189                 </frameset>\r
190                 <frameset rows="50,*,50" framespacing="0">\r
191                         <frame name="frmActualFolder" src="frmactualfolder.html" scrolling="no" frameborder="0">\r
192                         <frame name="frmResourcesList" src="frmresourceslist.html" scrolling="auto" frameborder="1">\r
193                         <frameset cols="150,*,0" framespacing="0" frameborder="0">\r
194                                 <frame name="frmCreateFolder" src="frmcreatefolder.html" scrolling="no" frameborder="0">\r
195                                 <frame name="frmUpload" src="frmupload.html" scrolling="no" frameborder="0">\r
196                                 <frame name="frmUploadWorker" src="javascript:void(0)" scrolling="no" frameborder="0">\r
197                         </frameset>\r
198                 </frameset>\r
199         </frameset>\r
200 </html>\r