dolibarr
17.0.3
Main Page
Related Pages
Modules
Classes
Files
Examples
File List
File Members
dolibarr_17.0
htdocs
core
filemanagerdol
browser
default
frmresourceslist.php
1
<?php
2
/* Copyright (C) 2011 Laurent Destailleur <eldy@users.sourceforge.net>
3
* Copyright (C) 2003-2010 Frederico Caldeira Knabben
4
*
5
* Source modified from part of fckeditor (http://www.fckeditor.net)
6
* retrieved as GPL v2 or later
7
*
8
* This program is free software; you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License as published by
10
* the Free Software Foundation; either version 3 of the License, or
11
* (at your option) any later version.
12
*
13
* This program is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU General Public License for more details.
17
*
18
* You should have received a copy of the GNU General Public License
19
* along with this program. If not, see <https://www.gnu.org/licenses/>.
20
*/
21
22
define(
'NOTOKENRENEWAL'
, 1);
// Disables token renewal
23
24
// Load Dolibarr environment
25
require
'../../../../main.inc.php'
;
26
27
top_httphead
();
28
29
?>
30
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.0 Transitional//EN"
>
31
<!--
32
* FCKeditor - The text editor
for
Internet - http:
//www.fckeditor.net
33
* Copyright (C) 2003-2010 Frederico Caldeira Knabben
34
*
35
* == BEGIN LICENSE ==
36
*
37
* Licensed under the terms of any of the following licenses at your
38
* choice:
39
*
40
* - GNU General Public License Version 2 or later (the
"GPL"
)
41
* https:
//www.gnu.org/licenses/gpl.html
42
*
43
* - GNU Lesser General Public License Version 2.1 or later (the
"LGPL"
)
44
* https:
//www.gnu.org/licenses/lgpl.html
45
*
46
* - Mozilla Public License Version 1.1 or later (the
"MPL"
)
47
* http:
//www.mozilla.org/MPL/MPL-1.1.html
48
*
49
* == END LICENSE ==
50
*
51
* This page shows all resources available in a folder in the File Browser.
52
-->
53
<html>
54
<head>
55
<title>Resources</title>
56
<link href=
"browser.css"
type
=
"text/css"
rel=
"stylesheet"
>
57
<?php
58
print
'<!-- Includes CSS for Dolibarr theme -->'
.
"\n"
;
59
// Output style sheets (optioncss='print' or ''). Note: $conf->css looks like '/theme/eldy/style.css.php'
60
$themepath =
dol_buildpath
($conf->css, 1);
61
$themesubdir =
''
;
62
if
(!empty($conf->modules_parts[
'theme'
])) {
// This slow down
63
foreach
($conf->modules_parts[
'theme'
] as $reldir) {
64
if
(file_exists(
dol_buildpath
($reldir.$conf->css, 0))) {
65
$themepath =
dol_buildpath
($reldir.$conf->css, 1);
66
$themesubdir = $reldir;
67
break
;
68
}
69
}
70
}
71
72
//print 'themepath='.$themepath.' themeparam='.$themeparam;exit;
73
print
'<link rel="stylesheet" type="text/css" href="'
.$themepath.
'">'
.
"\n"
;
74
?>
75
<meta http-equiv=
"Content-Type"
content=
"text/html; charset=utf-8"
>
76
<script
type
=
"text/javascript"
src=
"js/common.js"
></script>
77
<script
type
=
"text/javascript"
>
78
79
var oListManager =
new
Object();
80
81
oListManager.Clear =
function
()
82
{
83
document.body.innerHTML =
''
;
84
}
85
86
function
ProtectPath(path)
87
{
88
path = path.replace( /\\/g,
'\\\\'
);
89
path = path.replace( /
'/g, '
\\\
''
);
90
return
path ;
91
}
92
93
oListManager.GetFolderRowHtml =
function
( folderName, folderPath )
94
{
95
// Build the link to view the folder.
96
var sLink =
'<a href="#" onclick="OpenFolder(\''
+ ProtectPath(folderPath) +
'\'
);
return
false
;
">' ;
97
98
return '<tr>' +
99
'<td width="
16
">' +
100
sLink +
101
'<img alt="
" src="
images/Folder.gif
" width="
16
" height="
16
" border="
0
"><\/a>' +
102
'<\/td><td class="
nowrap
" colspan="
2
"> ' +
103
sLink +
104
folderName +
105
'<\/a>' +
106
'<\/td><\/tr>' ;
107
}
108
109
// Note: fileUrl must be already "
URL encoded
"
110
oListManager.GetFileRowHtml = function( fileName, fileUrl, fileSize )
111
{
112
// Build the link to view the folder.
113
var sLink = '<a href="
#
" onclick="
OpenFile(\
''
+ ProtectPath(fileUrl) +
'\'
);
return
false
;
">' ;
114
115
// Get the file icon.
116
var sIcon = oIcons.GetIcon( fileName );
117
118
return '<tr>' +
119
'<td width="
16
">' +
120
sLink +
121
'<img alt="
" src="
images/icons/
' + sIcon + '
.gif
" width="
16
" height="
16
" border="
0
"><\/a>' +
122
'<\/td><td> ' +
123
sLink +
124
fileName +
125
'<\/a>' +
126
'<\/td><td class="
nowrap right
"> ' +
127
fileSize +
128
' KB' +
129
'<\/td><\/tr>' ;
130
}
131
132
function OpenFolder( folderPath )
133
{
134
// Load the resources list for this folder.
135
window.parent.frames['frmFolders'].LoadFolders( folderPath );
136
}
137
138
function GetUrlParam( paramName )
139
{
140
var oRegex = new RegExp( '[\?&]' + paramName + '=([^&]+)', 'i' );
141
var oMatch = oRegex.exec( window.top.location.search );
142
143
if ( oMatch && oMatch.length > 1 )
144
return decodeURIComponent( oMatch[1] );
145
else
146
return '' ;
147
}
148
149
// Note fileUrl must be already "
URL encoded
"
150
function OpenFile( fileUrl )
151
{
152
funcNum = GetUrlParam('CKEditorFuncNum');
153
//window.top.opener.CKEDITOR.tools.callFunction(funcNum, encodeURI( fileUrl ).replace( '#', '%23' ));
154
window.top.opener.CKEDITOR.tools.callFunction(funcNum, fileUrl.replace( '#', '%23' ));
155
157
window.top.close();
158
window.top.opener.focus();
159
}
160
161
function LoadResources( resourceType, folderPath )
162
{
163
oListManager.Clear();
164
oConnector.ResourceType = resourceType ;
165
oConnector.CurrentFolder = folderPath ;
166
oConnector.SendCommand( 'GetFoldersAndFiles', null, GetFoldersAndFilesCallBack );
167
}
168
169
function Refresh()
170
{
171
LoadResources( oConnector.ResourceType, oConnector.CurrentFolder );
172
}
173
174
function GetFoldersAndFilesCallBack( fckXml )
175
{
176
if ( oConnector.CheckError( fckXml ) != 0 )
177
return ;
178
179
// Get the current folder path.
180
var oFolderNode = fckXml.SelectSingleNode( 'Connector/CurrentFolder' );
181
if ( oFolderNode == null )
182
{
183
alert( 'The server didn\'t reply with a proper XML data. Please check your configuration.' );
184
return ;
185
}
186
var sCurrentFolderPath = oFolderNode.attributes.getNamedItem('path').value ;
187
var sCurrentFolderUrl = oFolderNode.attributes.getNamedItem('url').value ;
188
189
// var dTimer = new Date();
190
191
var oHtml = new StringBuilder( '<table id="
tableFiles
" cellspacing="
1
" cellpadding="
0
" width="
100%
" border="
0
">' );
192
193
// Add the Folders.
194
var oNodes ;
195
oNodes = fckXml.SelectNodes( 'Connector/Folders/Folder' );
196
for ( var i = 0 ; i < oNodes.length ; i++ )
197
{
198
var sFolderName = oNodes[i].attributes.getNamedItem('name').value ;
199
oHtml.Append( oListManager.GetFolderRowHtml( sFolderName, sCurrentFolderPath + sFolderName + "
/
" ) );
200
}
201
202
// Add the Files.
203
oNodes = fckXml.SelectNodes( 'Connector/Files/File' );
204
for ( var j = 0 ; j < oNodes.length ; j++ )
205
{
206
var oNode = oNodes[j] ;
207
var sFileName = oNode.attributes.getNamedItem('name').value ;
208
var sFileSize = oNode.attributes.getNamedItem('size').value ;
209
210
// Get the optional "
url
" attribute. If not available, build the url.
211
var oFileUrlAtt = oNodes[j].attributes.getNamedItem('url');
212
var sFileUrl = oFileUrlAtt != null ? oFileUrlAtt.value : encodeURI( sCurrentFolderUrl + sFileName ).replace( /#/g, '%23' );
213
214
oHtml.Append( oListManager.GetFileRowHtml( sFileName, sFileUrl, sFileSize ) );
215
}
216
217
oHtml.Append( '<\/table>' );
218
219
document.body.innerHTML = oHtml.ToString();
220
221
// window.top.document.title = 'Finished processing in ' + ( ( ( new Date() ) - dTimer ) / 1000 ) + ' seconds' ;
222
223
}
224
225
window.onload = function()
226
{
227
window.top.IsLoadedResourcesList = true ;
228
}
229
</script>
230
</head>
231
<body class="
FileArea
">
232
</body>
233
</html>
dol_buildpath
dol_buildpath($path, $type=0, $returnemptyifnotfound=0)
Return path of url or filesystem.
Definition:
functions.lib.php:1061
top_httphead
if(!defined('NOREQUIREMENU')) if(!function_exists("llxHeader")) top_httphead($contenttype='text/html', $forcenocache=0)
Show HTTP header.
Definition:
main.inc.php:1440
type
if(preg_match('/crypted:/i', $dolibarr_main_db_pass)||!empty($dolibarr_main_db_encrypted_pass)) $conf db type
Definition:
repair.php:119
Generated on Sun Sep 3 2023 01:02:25 for
dolibarr
by Doxygen 1.8.17