Page Menu
Home
In-Portal Phabricator
Search
Configure Global Search
Log In
Files
F1160422
in-portal
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Fri, Sep 19, 6:04 AM
Size
50 KB
Mime Type
text/x-diff
Expires
Sun, Sep 21, 6:04 AM (4 h, 45 m)
Engine
blob
Format
Raw Data
Handle
746253
Attached To
rINP In-Portal
in-portal
View Options
Index: trunk/admin/editor/cmseditor/editor/filemanager/browser/default/browser.html
===================================================================
--- trunk/admin/editor/cmseditor/editor/filemanager/browser/default/browser.html (revision 4935)
+++ trunk/admin/editor/cmseditor/editor/filemanager/browser/default/browser.html (revision 4936)
@@ -1,113 +1,113 @@
<!--
* FCKeditor - The text editor for internet
* Copyright (C) 2003-2004 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
*
* For further information visit:
* http://www.fckeditor.net/
*
* File Name: browser.html
* This page compose the File Browser dialog frameset.
*
* Version: 2.0 RC3
* Modified: 2005-02-25 22:01:23
*
* File Authors:
* Frederico Caldeira Knabben (fredck@fckeditor.net)
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>CMSeditor - Resources Browser</title>
<link href="Browser.css" type="text/css" rel="stylesheet">
<script type="text/javascript" src="js/fckxml.js"></script>
<script language="javascript">
function GetUrlParam( paramName )
{
var oRegex = new RegExp( '[\?&]' + paramName + '=([^&]+)', 'i' ) ;
var oMatch = oRegex.exec( window.top.location.search ) ;
if ( oMatch && oMatch.length > 1 )
return oMatch[1] ;
else
return '' ;
}
var oConnector = new Object() ;
oConnector.CurrentFolder = '/' ;
var sConnUrl = GetUrlParam( 'Connector' ) ;
// Gecko has some problems when using relative URLs (not starting with slash).
if ( sConnUrl.substr(0,1) != '/' && sConnUrl.indexOf( '://' ) < 0 )
sConnUrl = window.location.href.replace( /browser.html.*$/, '' ) + sConnUrl ;
oConnector.ConnectorUrl = sConnUrl + '?' ;
var sServerPath = GetUrlParam( 'ServerPath' ) ;
if ( sServerPath.length > 0 )
oConnector.ConnectorUrl += 'ServerPath=' + escape( sServerPath ) + '&' ;
oConnector.ResourceType = GetUrlParam( 'Type' ) ;
oConnector.ShowAllTypes = 1;//( oConnector.ResourceType.length == 0 ) ;
//if ( oConnector.ShowAllTypes )
// oConnector.ResourceType = 'Files' ;
oConnector.SendCommand = function( command, params, callBackFunction )
{
var sUrl = this.ConnectorUrl + 'Command=' + command ;
sUrl += '&Type=' + this.ResourceType ;
sUrl += '&CurrentFolder=' + escape( this.CurrentFolder ) ;
if ( params ) sUrl += '&' + params ;
var oXML = new FCKXml() ;
-
+ //alert(sUrl);
if ( callBackFunction )
oXML.LoadUrl( sUrl, callBackFunction ) ; // Asynchronous load.
else
return oXML.LoadUrl( sUrl ) ;
}
var oIcons = new Object() ;
oIcons.AvailableIconsArray = [
'ai','avi','bmp','cs','dll','doc','exe','fla','gif','htm','html','jpg','js',
'mdb','mp3','pdf','ppt','rdp','swf','swt','txt','vsd','xls','xml','zip' ] ;
oIcons.AvailableIcons = new Object() ;
for ( var i = 0 ; i < oIcons.AvailableIconsArray.length ; i++ )
oIcons.AvailableIcons[ oIcons.AvailableIconsArray[i] ] = true ;
oIcons.GetIcon = function( fileName )
{
var sExtension = fileName.substr( fileName.lastIndexOf('.') + 1 ).toLowerCase() ;
if ( this.AvailableIcons[ sExtension ] == true )
return sExtension ;
else
return 'default.icon' ;
}
</script>
</head>
<frameset cols="150,*" class="Frame" framespacing="3" bordercolor="#f1f1e3" frameborder="yes">
<frameset rows="50,*" framespacing="0">
<frame src="frmresourcetype.html" scrolling="no" frameborder="no">
<frame name="frmFolders" src="frmfolders.html" scrolling="auto" frameborder="yes">
</frameset>
<frameset rows="50,*,50" framespacing="0">
- <frame name="frmActualFolder" src="frmactualfolder.html" scrolling="no" frameborder="no">
- <frame name="frmResourcesList" src="frmresourceslist.html" scrolling="auto" frameborder="yes">
+ <frame name="frmActualFolder" src="frmactualfolder.html" scrolling="no" frameborder="no" noresize>
+ <frame id="frmResourcesList" name="frmResourcesList" src="frmresourceslist.html" scrolling="no" frameborder="yes" noresize>
<frameset cols="150,*,0" framespacing="0" frameborder="no">
- <frame name="frmCreateFolder" src="frmcreatefolder.html" scrolling="no" frameborder="no">
- <frame name="frmUpload" src="frmupload.html" scrolling="no" frameborder="no">
- <frame name="frmUploadWorker" src="" scrolling="no" frameborder="no">
+ <frame name="frmCreateFolder" src="frmcreatefolder.html" scrolling="no" frameborder="no" noresize>
+ <frame name="frmUpload" src="frmupload.html" scrolling="no" frameborder="no" noresize>
+ <frame name="frmUploadWorker" src="" scrolling="no" frameborder="no" noresize>
</frameset>
</frameset>
</frameset>
</html>
Property changes on: trunk/admin/editor/cmseditor/editor/filemanager/browser/default/browser.html
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.2
\ No newline at end of property
+1.3
\ No newline at end of property
Index: trunk/admin/editor/cmseditor/editor/filemanager/browser/default/Browser.css
===================================================================
--- trunk/admin/editor/cmseditor/editor/filemanager/browser/default/Browser.css (revision 4935)
+++ trunk/admin/editor/cmseditor/editor/filemanager/browser/default/Browser.css (revision 4936)
@@ -1,85 +1,100 @@
/*
* FCKeditor - The text editor for internet
* Copyright (C) 2003-2004 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
*
* For further information visit:
* http://www.fckeditor.net/
*
* File Name: Browser.css
* CSS styles used by all pages that compose the File Browser.
*
* Version: 2.0 RC3
* Modified: 2004-05-31 23:07:52
*
* File Authors:
* Frederico Caldeira Knabben (fredck@fckeditor.net)
*/
body
{
background-color: #f1f1e3;
}
form
{
margin: 0px 0px 0px 0px ;
padding: 0px 0px 0px 0px ;
}
.Frame
{
background-color: #f1f1e3;
border-color: #f1f1e3;
border-right: thin inset;
border-top: thin inset;
border-left: thin inset;
border-bottom: thin inset;
}
body.FileArea
{
background-color: #ffffff;
}
body, td, input, select
{
font-size: 11px;
font-family: 'Microsoft Sans Serif' , Arial, Helvetica, Verdana;
}
.ActualFolder
{
font-weight: bold;
font-size: 14px;
}
.PopupButtons
{
border-top: #d5d59d 1px solid;
background-color: #e3e3c7;
padding: 7px 10px 7px 10px;
}
.Button, button
{
border-right: #737357 1px solid;
border-top: #737357 1px solid;
border-left: #737357 1px solid;
color: #3b3b1f;
border-bottom: #737357 1px solid;
background-color: #c7c78f;
}
.FolderListCurrentFolder img
{
background-image: url(images/FolderOpened.gif);
}
.FolderListFolder img
{
background-image: url(images/Folder.gif);
-}
\ No newline at end of file
+}
+
+.order-link
+{
+ text-decoration: none;
+ font-size: 11px;
+ font-family: 'Microsoft Sans Serif' , Arial, Helvetica, Verdana;
+ color: #000000;
+}
+.order-link:hover
+{
+ text-decoration: none;
+ font-size: 11px;
+ font-family: 'Microsoft Sans Serif' , Arial, Helvetica, Verdana;
+ color: #000000;
+}
Property changes on: trunk/admin/editor/cmseditor/editor/filemanager/browser/default/Browser.css
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.1
\ No newline at end of property
+1.2
\ No newline at end of property
Index: trunk/admin/editor/cmseditor/editor/filemanager/browser/default/frmupload.html
===================================================================
--- trunk/admin/editor/cmseditor/editor/filemanager/browser/default/frmupload.html (revision 4935)
+++ trunk/admin/editor/cmseditor/editor/filemanager/browser/default/frmupload.html (revision 4936)
@@ -1,131 +1,147 @@
<!--
* FCKeditor - The text editor for internet
* Copyright (C) 2003-2004 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
*
* For further information visit:
* http://www.fckeditor.net/
*
* File Name: frmupload.html
* Page used to upload new files in the current folder.
*
* Version: 2.0 RC3
* Modified: 2004-11-29 16:04:32
*
* File Authors:
* Frederico Caldeira Knabben (fredck@fckeditor.net)
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<link href="Browser.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="js/common.js"></script>
<script language="javascript">
function SetCurrentFolder( resourceType, folderPath )
{
var sUrl = oConnector.ConnectorUrl +'Command=FileUpload' ;
sUrl += '&Type=' + resourceType ;
sUrl += '&CurrentFolder=' + folderPath ;
document.getElementById('frmUpload').action = sUrl ;
}
function OnSubmit()
{
if ( document.getElementById('NewFile').value.length == 0 )
{
alert( 'Please select a file from your computer' ) ;
return false ;
}
// Set the interface elements.
document.getElementById('eUploadMessage').innerHTML = 'Upload a new file in this folder (Upload in progress, please wait...)' ;
document.getElementById('btnUpload').disabled = true ;
return true ;
}
-function OnUploadCompleted( errorNumber, fileName )
-{
- // Reset the Upload Worker Frame.
- window.parent.frames['frmUploadWorker'].location = 'about:blank' ;
-
- // Reset the upload form (On IE we must do a little trick to avout problems).
- if ( document.all )
- document.getElementById('NewFile').outerHTML = '<input id="NewFile" name="NewFile" style="WIDTH: 100%" type="file">' ;
- else
- document.getElementById('frmUpload').reset() ;
-
- // Reset the interface elements.
- document.getElementById('eUploadMessage').innerHTML = 'Upload a new file in this folder' ;
- document.getElementById('btnUpload').disabled = false ;
-
+function outputErrorMsg(errorNumber, fileName) {
switch ( errorNumber )
{
case 0 :
window.parent.frames['frmResourcesList'].Refresh() ;
break ;
case 201 :
window.parent.frames['frmResourcesList'].Refresh() ;
alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ;
break ;
case 202 :
alert( 'Invalid file' ) ;
break ;
+ case 203 :
+ alert( 'Invalid file type for this foder' ) ;
+ break ;
+ case 204 :
+ alert( 'A file with the same name is already available' ) ;
+ break ;
default :
alert( 'Error on file upload. Error number: ' + errorNumber ) ;
break ;
}
}
+function OnUploadCompleted( errorNumber, fileName )
+{
+ // Reset the Upload Worker Frame.
+ window.parent.frames['frmUploadWorker'].location = 'about:blank' ;
+
+ // Reset the upload form (On IE we must do a little trick to avout problems).
+ if ( document.all )
+ document.getElementById('NewFile').outerHTML = '<input id="NewFile" name="NewFile" style="WIDTH: 100%" type="file">' ;
+ else
+ document.getElementById('frmUpload').reset() ;
+
+ // Reset the interface elements.
+ document.getElementById('eUploadMessage').innerHTML = 'Upload a new file in this folder' ;
+ document.getElementById('btnUpload').disabled = false ;
+ outputErrorMsg(errorNumber);
+}
+
window.onload = function()
{
window.top.IsLoadedUpload = true ;
}
function SetElementVisibility(upload_visibility, del_rename_visibility) {
document.getElementById("upload").style.display = upload_visibility;
document.getElementById("del_rename").style.display = del_rename_visibility;
}
function SetButtonAvalability(button_name, avalability) {
document.getElementById(button_name).disabled = !avalability;
if (avalability == false) {
document.getElementById(button_name).style.color = 'grey';
}
else {
document.getElementById(button_name).style.color = '';
}
}
-
+function RenameFile()
+{
+ filename = window.parent.frames['frmResourcesList'].GetCheckedFileName('first');
+ f=prompt('Rename file "'+filename+'"?',filename);
+ if (f) {
+ window.parent.frames['frmResourcesList'].RenameFile(filename,f);
+ }
+}
</script>
</head>
<body bottomMargin="0" topMargin="0">
<form id="frmUpload" action="" target="frmUploadWorker" method="post" enctype="multipart/form-data" onsubmit="return OnSubmit();">
<table height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0">
<tr>
<td nowrap>
<div id="upload">
<span id="eUploadMessage">Upload a new file in this folder</span><br>
<table cellSpacing="0" cellPadding="0" width="100%" border="0">
<tr>
<td width="100%"><input id="NewFile" name="NewFile" size="50" type="file"></td>
<td nowrap> <input id="btnUpload" type="submit" value="Upload"></td>
</tr>
</table>
</div>
<div id="del_rename" style="display : none">
<img src="images/s.gif" width="1" height="10" /><br />
- <button id="rename" style="font-size: 11px; font-family: 'Microsoft Sans Serif' , Arial, Helvetica, Verdana">Rename</button>
+ <button type="button" id="rename" style="font-size: 11px; font-family: 'Microsoft Sans Serif' , Arial, Helvetica, Verdana" onClick="RenameFile();">Rename</button>
<button id="delete" style="font-size: 11px; font-family: 'Microsoft Sans Serif' , Arial, Helvetica, Verdana">Delete</button>
</div>
</td>
</tr>
</table>
</form>
</body>
</html>
Property changes on: trunk/admin/editor/cmseditor/editor/filemanager/browser/default/frmupload.html
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.5
\ No newline at end of property
+1.6
\ No newline at end of property
Index: trunk/admin/editor/cmseditor/editor/filemanager/browser/default/connectors/php/connector.php
===================================================================
--- trunk/admin/editor/cmseditor/editor/filemanager/browser/default/connectors/php/connector.php (revision 4935)
+++ trunk/admin/editor/cmseditor/editor/filemanager/browser/default/connectors/php/connector.php (revision 4936)
@@ -1,104 +1,117 @@
<?php
/*
* FCKeditor - The text editor for internet
* Copyright (C) 2003-2004 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
*
* For further information visit:
* http://www.fckeditor.net/
*
* File Name: connector.php
* This is the File Manager Connector for PHP.
*
* Version: 2.0 RC3
* Modified: 2005-02-08 11:48:55
*
* File Authors:
* Frederico Caldeira Knabben (fredck@fckeditor.net)
*/
include('config.php') ;
include('util.php') ;
include('io.php') ;
include('basexml.php') ;
include('commands.php') ;
// Get the "UserFiles" path.
$GLOBALS["UserFilesPath"] = '' ;
if ( isset( $Config['UserFilesPath'] ) ) {
$GLOBALS["UserFilesPath"] = $Config['UserFilesPath'] ;
}else if ( isset( $_GET['ServerPath'] ) )
$GLOBALS["UserFilesPath"] = $_GET['ServerPath'] ;
else
$GLOBALS["UserFilesPath"] = '/UserFiles/' ;
if ( ! ereg( '/$', $GLOBALS["UserFilesPath"] ) )
$GLOBALS["UserFilesPath"] .= '/' ;
// Map the "UserFiles" path to a local directory.
$GLOBALS["UserFilesDirectory"] = GetRootPath() . $GLOBALS["UserFilesPath"] ;
if (isset( $_GET['Type']) && isset($_GET['ServerPath'])) {
if ($_GET['Type'] == "Special") {
$GLOBALS["UserFilesPath"] = $_GET['ServerPath'] ;
$GLOBALS["UserFilesDirectory"] = $GLOBALS["UserFilesPath"] ;
}
}
//exit;
DoResponse() ;
function DoResponse()
{
if ($_GET['Command'] != 'GetCmsTree') {
if ( !isset( $_GET['Command'] ) || !isset( $_GET['Type'] ) || !isset( $_GET['CurrentFolder'] ) )
return ;
}
// Get the main request informaiton.
$sCommand = (isset($_GET['Command']))?$_GET['Command']:'';
$sResourceType = (isset($_GET['Type']))?$_GET['Type']:'';
$sCurrentFolder = (isset($_GET['CurrentFolder']))?$_GET['CurrentFolder']:'';
// Check if it is an allowed type.
if ($sCommand != 'GetCmsTree') {
if ( !in_array( $sResourceType, array('Files','Images','Flash','Media', 'Documents','Special' ) ) )
return ;
}
if ($sResourceType == "Special")
$sResourceType = "";
// Check the current folder syntax (must begin and start with a slash).
if ( ! ereg( '/$', $sCurrentFolder ) ) $sCurrentFolder .= '/' ;
if ( strpos( $sCurrentFolder, '/' ) !== 0 ) $sCurrentFolder = '/' . $sCurrentFolder ;
// File Upload doesn't have to Return XML, so it must be intercepted before anything.
if ( $sCommand == 'FileUpload' )
{
FileUpload( $sResourceType, $sCurrentFolder ) ;
return ;
}
+ if (ereg("^RenameFile_",$sCommand)) {
+ $aFilenames = explode("|",ereg_replace("^RenameFile_","",$sCommand));
+ $sCommand = 'RenameFile';
+ }
+ if (ereg("^GetFoldersAndFiles_",$sCommand)) {
+ $aParams = split("_",ereg_replace("GetFoldersAndFiles_","",$sCommand));
+ $sCommand = 'GetFoldersAndFiles';
+ }
// Prevent the browser from caching the result.
// Date in the past
+
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT') ;
// always modified
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT') ;
// HTTP/1.1
header('Cache-Control: no-store, no-cache, must-revalidate') ;
header('Cache-Control: post-check=0, pre-check=0', false) ;
// HTTP/1.0
header('Pragma: no-cache') ;
// Set the response format.
header( 'Content-Type:text/xml; charset=utf-8' ) ;
CreateXmlHeader( $sCommand, $sResourceType, $sCurrentFolder ) ;
// Execute the required command.
+
switch ( $sCommand )
{
case 'GetCmsTree' :
GetCmsTree() ;
break;
case 'GetFolders' :
GetFolders( $sResourceType, $sCurrentFolder ) ;
break ;
case 'GetFoldersAndFiles' :
- GetFoldersAndFiles( $sResourceType, $sCurrentFolder ) ;
+ GetFoldersAndFiles( $sResourceType, $sCurrentFolder, $aParams) ;
break ;
case 'CreateFolder' :
CreateFolder( $sResourceType, $sCurrentFolder ) ;
break ;
+ case 'RenameFile':
+ RenameFile( $sResourceType, $sCurrentFolder, $aFilenames) ;
+ break;
}
CreateXmlFooter() ;
exit;
}
?>
Property changes on: trunk/admin/editor/cmseditor/editor/filemanager/browser/default/connectors/php/connector.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.5
\ No newline at end of property
+1.6
\ No newline at end of property
Index: trunk/admin/editor/cmseditor/editor/filemanager/browser/default/connectors/php/commands.php
===================================================================
--- trunk/admin/editor/cmseditor/editor/filemanager/browser/default/connectors/php/commands.php (revision 4935)
+++ trunk/admin/editor/cmseditor/editor/filemanager/browser/default/connectors/php/commands.php (revision 4936)
@@ -1,373 +1,475 @@
<?php
/*
* FCKeditor - The text editor for internet
* Copyright (C) 2003-2004 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
*
* For further information visit:
* http://www.fckeditor.net/
*
* File Name: commands.php
* This is the File Manager Connector for ASP.
*
* Version: 2.0 RC3
* Modified: 2005-02-19 16:02:38
*
* File Authors:
* Frederico Caldeira Knabben (fredck@fckeditor.net)
*/
function GetFolders( $resourceType, $currentFolder )
{
// Map the virtual path to the local server path.
$sServerDir = ServerMapFolder( $resourceType, $currentFolder ) ;
// Open the "Folders" node.
$aFolders = array();
echo "<Folders>" ;
$oCurrentFolder = opendir( $sServerDir ) ;
while ( $sFile = readdir( $oCurrentFolder ) )
{
if ( $sFile != '.' && $sFile != '..' && $sFile != 'CVS' && is_dir( $sServerDir . $sFile ) )
$aFolders[] = $sFile;
//echo '<Folder name="' . ConvertToXmlAttribute( $sFile ) . '" />' ;
}
if (count($aFolders) > 0) {
natcasesort($aFolders);
foreach($aFolders AS $k=>$v) {
echo '<Folder name="' . ConvertToXmlAttribute($v) . '" />' ;
}
}
closedir( $oCurrentFolder ) ;
// Close the "Folders" node.
echo "</Folders>" ;
}
/*
function GetCmsTree()
{
$conn = GetADODbConnection();
$query="SELECT st.* , wb.eng_content AS page_title
FROM structure_templates st
LEFT JOIN working_blocks AS wb
ON (st.st_id = wb.template_id) AND (wb.block_type = 3) WHERE st_id != '5' AND st_path != '/cms' GROUP BY st_id ORDER BY st_lastupdate desc";
$rs = $conn->Execute($query);
if ($rs && !$rs->EOF)
{
$ret = "<CmsPages>";
while($rs && !$rs->EOF) {
$ret.= '<CmsPage path="'.BASE_PATH.'/index.php?t='.$rs->fields['st_path'].'" title="'.$rs->fields['page_title'].'" />';
//echo $rs->fields['page_title']."<br>";
$rs->MoveNext();
}
$ret.= '</CmsPages>';
echo $ret;
}
}
*/
function GetCmsTree()
{
global $Config;
$ret = "<CmsPages>";
if (isset($Config['K4Mode'])) {
$ret.= K4ReadCmsTree(0);
}
else {
$ret.= ReadCmsTree(0);
}
$ret.= "</CmsPages>";
echo $ret;
}
function K4ReadCmsTree($cat_id, $level = 0)
{
$application =& kApplication::Instance();
$application->Init();
$query = 'SELECT PageId, Path, Title FROM '.TABLE_PREFIX.'Pages ORDER By Title';
$pages = $application->Conn->Query($query);
$res = '';
foreach ($pages as $page) {
$page_path = $page['Path'].'.html';
$title = $page['Title'].' ('.$page_path.')';
$res .= '<CmsPage path="'.$page_path.'" title="'.$prefix.htmlspecialchars($title,ENT_QUOTES).'" st_id="'.$rs->fields['PageId'].'" serverpath="'.BASE_PATH.'" />';
}
return $res;
}
function ReadCmsTree($st_id, $level = 0)
{
$conn = GetADODbConnection();
$query = "SELECT value FROM config WHERE name = 'default_lang_prefix'";
$rs = $conn->Execute($query);
if ($rs && !$rs->EOF)
{
$default_lang_prefix = $rs->fields['value'];
}
$query = "SELECT value FROM config WHERE name = 'cms_direct_mode'";
$rs = $conn->Execute($query);
if ($rs && !$rs->EOF)
{
$cms_mode = $rs->fields['value'];
}
$query = "SELECT value FROM config WHERE name = 'email_templates_folder_id'";
$rs = $conn->Execute($query);
if ($rs && !$rs->EOF)
{
$email_templates_folder_id = $rs->fields['value'];
}
/*
$query = "SELECT value FROM config WHERE name = 'custom_cms'";
$rs = $conn->Execute($query);
if ($rs && !$rs->EOF)
{
$custom_cms = $rs->fields['value'];
}
*/
if ( $email_templates_folder_id == "" ) $email_templates_folder_id = 0;
if ( $cms_mode == 1 ) {
$query = "
SELECT st.*,
IF(lb.".$default_lang_prefix."_content='' OR lb.".$default_lang_prefix."_content IS NULL,
st.st_path,
lb.".$default_lang_prefix."_content
) AS page_title
FROM
structure_templates AS st
LEFT JOIN
live_blocks AS lb
ON
(st.st_id = lb.template_id) AND (lb.block_type = 3)
WHERE st.st_parent_id = ".$st_id."
AND st_id != ".$email_templates_folder_id."
AND st_path != '/cms'
ORDER BY st.st_order";
}
else {
$query = "
SELECT st.*,
IF(wb.".$default_lang_prefix."_content='' OR wb.".$default_lang_prefix."_content IS NULL,
st.st_path,
wb.".$default_lang_prefix."_content
) AS page_title
FROM
structure_templates AS st
LEFT JOIN
working_blocks AS wb
ON
(st.st_id = wb.template_id) AND (wb.block_type = 3)
WHERE
st.st_parent_id = ".$st_id."
AND st_id != ".$email_templates_folder_id."
AND st_path != '/cms%'
ORDER BY st.st_order";
}
//echo $query." <br>";
$rs = $conn->Execute($query);
if ($rs && !$rs->EOF)
{
while ($rs && !$rs->EOF)
{
$page_path = ltrim($rs->fields['st_path'], '/');
//$page_path = SERVER_NAME.BASE_PATH.'/index.php?t='.$page_path;
//$page_path = $page_path;
$prefix='';
for ($i = 0; $i < $level; $i++)
$prefix .= '--';
if ($level > 0)
$prefix=$prefix.'- ';
/*
$page = ereg_replace("&","&",$rs->fields['page_title']);
$page = ereg_replace("\"",""",$page);
$page = ereg_replace("'","'",$page);
$page = ereg_replace("<","<",$page);
$page = ereg_replace(">",">",$page);
// echo $page." <br>";
//$page = htmlentities($rs->fields['page_title'],ENT_QUOTES);
$page = $rs->fields['page_title'];
$page = ereg_replace("ã","a",$page);
*/
$page = $rs->fields['page_title'];
$page = @html_entity_decode($page,ENT_NOQUOTES,'UTF-8');
$page = @htmlspecialchars($page);
//$page = ereg_replace("ã","a",$page);
$res .= '<CmsPage path="'.$page_path.'" title="'.$prefix.$page.'" st_id="'.$rs->fields['st_id'].'" serverpath="'.BASE_PATH.'/index.php?t=" />';
$res .= ReadCmsTree($rs->fields['st_id'], $level+1);
$rs->MoveNext();
}
return $res;
}
}
/*
$res .= '<CmsPage>
<path><![CDATA['.$page_path.']]></path>
<title><![CDATA['.$prefix.$page.']]></title>
<st_id><![CDATA['.$rs->fields['st_id'].']]></st_id>
<serverpath><![CDATA['.BASE_PATH.'/index.php?t=.]]></serverpath>
</CmsPage>';
*/
-function GetFoldersAndFiles( $resourceType, $currentFolder )
+function GetConfigValue($var)
+{
+ $conn = GetADODbConnection();
+ $query = "SELECT `value` FROM config WHERE `name` = '".$var."'";
+ return $conn->GetOne($query);
+}
+
+function GetFoldersAndFiles( $resourceType, $currentFolder, $aParams = array('name','asc'))
{
// Map the virtual path to the local server path.
+ if (isset($Config['K4Mode']))
+ $date_format = "m/d/Y h:i A";
+ else
+ $date_format = GetConfigValue('date_format').' '.GetConfigValue('time_format');
+
$sServerDir = ServerMapFolder( $resourceType, $currentFolder ) ;
// Initialize the output buffers for "Folders" and "Files".
$aFolders = array();
$aFiles = array();
$aFileSizes = array();
$sFolders = '<Folders>' ;
$sFiles = '<Files>' ;
$oCurrentFolder = opendir( $sServerDir ) ;
while ( $sFile = readdir( $oCurrentFolder ) )
{
if ( $sFile != '.' && $sFile != '..' && $sFile != 'CVS')
{
if ( is_dir( $sServerDir . $sFile ) )
$aFolders[]=$sFile;
else
{
$iFileSize = filesize( $sServerDir . $sFile ) ;
//$iFileSize[] = filesize( $sServerDir . $sFile ) ;
if ( $iFileSize > 0 )
{
$size = round( $iFileSize / 1024 );
$aFileSizes[] = ($size < 1)? 1:$size;// round( $iFileSize / 1024 ) ;
} else
$aFileSizes[] = $iFileSize;
- $aFiles[] = $sFile;
+ $aFiles[] = $sFile;
+ $aFileDate[] = filectime($sServerDir.$sFile);
//$sFiles .= '<File name="' . ConvertToXmlAttribute( $sFile ) . '" size="' . $iFileSize . '" />' ;
}
}
}
if (count($aFolders) > 0) {
natcasesort($aFolders);
+ switch ($aParams[1])
+ {
+ case 'desc' :
+ $aFolders = array_reverse($aFolders, true);
+ break ;
+ }
foreach($aFolders AS $k=>$v) {
$sFolders .= '<Folder name="' . ConvertToXmlAttribute($v) . '" />' ;
}
}
- if (count($sFiles) > 0) {
- natcasesort($aFiles);
- foreach($aFiles AS $fk=>$fv) {
- $sFiles .= '<File name="' . ConvertToXmlAttribute( $fv ) . '" size="' . $aFileSizes[$fk] . '" />' ;
+ if (count($aFiles) > 0) {
+ if ($aParams[0] == 'name')
+ {
+ natcasesort($aFiles);
+ if ($aParams[1] == 'desc')
+ {
+ $aFiles = array_reverse($aFiles, true);
+ }
+ foreach($aFiles AS $fk=>$fv) {
+ $sFiles .= '<File name="' . ConvertToXmlAttribute( $fv ) . '" size="' . $aFileSizes[$fk] . '" date="' . date($date_format,$aFileDate[$fk]) . '" />' ;
+ }
+ }elseif ($aParams[0] == 'size') {
+ natcasesort($aFileSizes);
+ if ($aParams[1] == 'desc')
+ {
+ $aFileSizes = array_reverse($aFileSizes, true);
+ }
+ foreach($aFileSizes AS $fk=>$fv) {
+ $sFiles .= '<File name="' . ConvertToXmlAttribute( $aFiles[$fk] ) . '" size="' . $fv . '" date="' . date($date_format,$aFileDate[$fk]) . '" />' ;
+ }
+ } elseif ($aParams[0] == 'date') {
+ natcasesort($aFileDate);
+ if ($aParams[1] == 'desc')
+ {
+ $aFileDate = array_reverse($aFileDate, true);
+ }
+ foreach($aFileDate AS $fk=>$fv) {
+ $sFiles .= '<File name="' . ConvertToXmlAttribute( $aFiles[$fk] ) . '" size="' . $aFileSizes[$fk] . '" date="' . date($date_format,$fv) . '" />' ;
+ }
}
- }
+ }
/* while ( $sFile = readdir( $oCurrentFolder ) )
{
if ( $sFile != '.' && $sFile != '..' && $sFile != 'CVS')
{
if ( is_dir( $sServerDir . $sFile ) )
//$sFolders .= '<Folder name="' . ConvertToXmlAttribute( $sFile ) . '" />' ;
else
{
$iFileSize = filesize( $sServerDir . $sFile ) ;
if ( $iFileSize > 0 )
{
$iFileSize = round( $iFileSize / 1024 ) ;
if ( $iFileSize < 1 ) $iFileSize = 1 ;
}
$sFiles .= '<File name="' . ConvertToXmlAttribute( $sFile ) . '" size="' . $iFileSize . '" />' ;
}
}
*/
-
- echo $sFolders ;
- // Close the "Folders" node.
- echo '</Folders>' ;
- echo $sFiles ;
- // Close the "Files" node.
- echo '</Files>' ;
+ if ($aParams[1] == "desc")
+ {
+ echo $sFiles ;
+ echo '</Files>' ;
+ echo $sFolders ;
+ echo '</Folders>' ;
+ } else {
+ echo $sFolders ;
+ echo '</Folders>' ;
+ echo $sFiles ;
+ echo '</Files>' ;
+ }
}
function CreateFolder( $resourceType, $currentFolder )
{
$sErrorNumber = '0' ;
$sErrorMsg = '' ;
if ( isset( $_GET['NewFolderName'] ) )
{
$sNewFolderName = $_GET['NewFolderName'] ;
// Map the virtual path to the local server path of the current folder.
$sServerDir = ServerMapFolder( $resourceType, $currentFolder ) ;
if ( is_writable( $sServerDir ) )
{
$sServerDir .= $sNewFolderName ;
$sErrorMsg = CreateServerFolder( $sServerDir ) ;
switch ( $sErrorMsg )
{
case '' :
$sErrorNumber = '0' ;
break ;
case 'Invalid argument' :
case 'No such file or directory' :
$sErrorNumber = '102' ; // Path too long.
break ;
default :
$sErrorNumber = '110' ;
break ;
}
}
else
$sErrorNumber = '103' ;
}
else
$sErrorNumber = '102' ;
// Create the "Error" node.
echo '<Error number="' . $sErrorNumber . '" originalDescription="' . ConvertToXmlAttribute( $sErrorMsg ) . '" />' ;
}
+
+function UpdateCmsBlocksK3($resourceType,$currentFolder,$file_from,$file_to)
+{ global $Config ;
+ $Config['UserFilesPathNoBase'];
+ $original_str = $Config['UserFilesPathNoBase'].$resourceType.$currentFolder.addslashes($file_from);
+ $new_str = $Config['UserFilesPathNoBase'].$resourceType.$currentFolder.addslashes($file_to);
+ $conn = GetADODbConnection();
+ if ( GetConfigValue('multilingual_mode') == 1) {
+ $query="SELECT lang_prefix FROM lang ORDER BY lang_id";
+ $rs = $conn->Execute($query);
+ while ($rs && !$rs->EOF) {
+ $sql = "UPDATE live_blocks SET ".$rs->fields['lang_prefix']."_content = replace(".$rs->fields['lang_prefix']."_content,'".$original_str."','".$new_str."')";
+ $conn->Execute($sql);
+ $rs->MoveNext();
+ }
+ } else {
+ $lang_prefix = GetConfigValue('default_lang_prefix');
+ $sql = "UPDATE live_blocks SET ".$lang_prefix."_content = replace(".$lang_prefix."_content,'".$original_str."','".$new_str."')";
+ $conn->Execute($sql);
+ }
+
+}
+
+function RenameFile( $resourceType, $currentFolder , $aFilenames = array())
+{ global $Config ;
+ if (count($aFilenames) == 2)
+ {
+ $sServerDir = ServerMapFolder( $resourceType, $currentFolder ) ;
+ $sExtension = substr( $aFilenames[1], ( strrpos($aFilenames[1], '.') + 1 ) ) ;
+ $arAllowed = $Config['AllowedExtensions'][$resourceType] ;
+ $arDenied = $Config['DeniedExtensions'][$resourceType] ;
+ if (file_exists($sServerDir.$aFilenames[1]) && is_file($sServerDir.$aFilenames[1]))
+ {
+ $sErrorNumber = '204' ;
+ } else {
+ if ( ( count($arAllowed) == 0 || in_array( $sExtension, $arAllowed ) ) && ( count($arDenied) == 0 || !in_array( $sExtension, $arDenied ) ) )
+ {
+ if (rename($sServerDir.$aFilenames[0],$sServerDir.$aFilenames[1])) {
+ if (isset($Config['K4Mode'])) {
+ // Update CMS Blocks
+ } else
+ UpdateCmsBlocksK3($resourceType,$currentFolder,$aFilenames[0],$aFilenames[1]);
+ $sErrorNumber = "0";
+ } else
+ $sErrorNumber = '205' ;
+ } else
+ $sErrorNumber = '203' ;
+ }
+ $sErrorMsg = '';
+ echo '<Error number="' . $sErrorNumber . '" originalDescription="' . ConvertToXmlAttribute( $sErrorMsg ) . '" />' ;
+ }
+}
+
function FileUpload( $resourceType, $currentFolder )
{
$sErrorNumber = '0' ;
$sFileName = '' ;
if ( isset( $_FILES['NewFile'] ) && !is_null( $_FILES['NewFile']['tmp_name'] ) )
{
$oFile = $_FILES['NewFile'] ;
// Map the virtual path to the local server path.
$sServerDir = ServerMapFolder( $resourceType, $currentFolder ) ;
// Get the uploaded file name.
$sFileName = $oFile['name'] ;
$sOriginalFileName = $sFileName ;
$sExtension = substr( $sFileName, ( strrpos($sFileName, '.') + 1 ) ) ;
global $Config ;
$arAllowed = $Config['AllowedExtensions'][$resourceType] ;
$arDenied = $Config['DeniedExtensions'][$resourceType] ;
if ( ( count($arAllowed) == 0 || in_array( $sExtension, $arAllowed ) ) && ( count($arDenied) == 0 || !in_array( $sExtension, $arDenied ) ) )
{
$iCounter = 0 ;
while ( true )
{
$sFilePath = $sServerDir . $sFileName ;
if ( is_file( $sFilePath ) )
{
$iCounter++ ;
$sFileName = RemoveExtension( $sOriginalFileName ) . '(' . $iCounter . ').' . $sExtension ;
$sErrorNumber = '201' ;
}
else
{
move_uploaded_file( $oFile['tmp_name'], $sFilePath ) ;
if ( is_file( $sFilePath ) )
{
$oldumask = umask(0) ;
- chmod( $sFilePath, 0777 ) ;
+ chmod( $sFilePath, 0666 ) ;
umask( $oldumask ) ;
}
break ;
}
}
}
else
$sErrorNumber = '202' ;
}
else
$sErrorNumber = '202' ;
echo '<script type="text/javascript">' ;
echo 'window.parent.frames["frmUpload"].OnUploadCompleted(' . $sErrorNumber . ',"' . str_replace( '"', '\\"', $sFileName ) . '") ;' ;
echo '</script>' ;
exit ;
}
?>
Property changes on: trunk/admin/editor/cmseditor/editor/filemanager/browser/default/connectors/php/commands.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.22
\ No newline at end of property
+1.23
\ No newline at end of property
Index: trunk/admin/editor/cmseditor/editor/filemanager/browser/default/connectors/php/config.php
===================================================================
--- trunk/admin/editor/cmseditor/editor/filemanager/browser/default/connectors/php/config.php (revision 4935)
+++ trunk/admin/editor/cmseditor/editor/filemanager/browser/default/connectors/php/config.php (revision 4936)
@@ -1,55 +1,56 @@
<?php
/*
* FCKeditor - The text editor for internet
* Copyright (C) 2003-2004 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
*
* For further information visit:
* http://www.fckeditor.net/
*
* File Name: config.php
* Configuration file for the File Manager Connector for PHP.
*
* Version: 2.0 RC3
* Modified: 2005-02-08 12:01:53
*
* File Authors:
* Frederico Caldeira Knabben (fredck@fckeditor.net)
*/
ini_set('display_errors', 0);
global $Config ;
// Path to user files relative to the document root.
// SECURITY TIP: Uncomment the following line to set a fixed path.
define('K3_FULL_PATH', dirname(realpath(__FILE__)));
define('K3_BASE_PATH', str_replace('/cmseditor/editor/filemanager/browser/default/connectors/php', '', ereg_replace($_SERVER['DOCUMENT_ROOT'], '', K3_FULL_PATH) ) );
$kernel3_config = $_SERVER['DOCUMENT_ROOT'].K3_BASE_PATH."/config/config.php";
if (file_exists($kernel3_config)) {
define('FULL_PATH', K3_FULL_PATH);
define('BASE_PATH', K3_BASE_PATH);
include_once($kernel3_config);
+ $Config['UserFilesPathNoBase'] = '/templates/UserFiles/' ;
$Config['UserFilesPath'] = BASE_PATH.'/templates/UserFiles/' ;
}
else {
$fp = realpath(dirname(__FILE__).'/../../../../../../../../../');
define('FULL_PATH', $fp);
define('DEBUG_MODE', 0);
define('REL_PATH', 'admin/editor/cmseditor/editor/filemanager/browser/default/connectors/php');
define('APPLICATION_CLASS', 'MyApplication');
$kernel4_startup = $fp."/kernel/kernel4/startup.php";
$Config['K4Mode'] = 1;
include_once($kernel4_startup);
}
$Config['AllowedExtensions']['Files'] = array('jpg','gif','jpeg','png','swf','fla','jpg','gif','jpeg','png','avi','mpg','mpeg','zip','rar','arj','gz','tar','doc','pdf','ppt','rdp','swf','swt','txt','vsd','xls','csv') ;
$Config['DeniedExtensions']['Files'] = array('php','asp','aspx','ascx','jsp','cfm','cfc','pl','bat','exe','dll','reg') ;
$Config['AllowedExtensions']['Images'] = array('jpg','gif','jpeg','png', 'bmp') ;
$Config['DeniedExtensions']['Images'] = array('php','asp','aspx','ascx','jsp','cfm','cfc','pl','bat','exe','dll','reg');
$Config['AllowedExtensions']['Flash'] = array('swf','fla') ;
$Config['DeniedExtensions']['Flash'] = array('php','asp','aspx','ascx','jsp','cfm','cfc','pl','bat','exe','dll','reg') ;
$Config['AllowedExtensions']['Media'] = array('asf','asx','avi','wav','wax','wma','wm','wmv','m3u','mp2v','mpg','mpeg','m1v','mp2','mp3','mpa','mpe','mpv2','mp4','mid','midi','rmi','qt','aif','aifc','aiff','mov','flv','rm','svcd','swf','vcd') ;
$Config['DeniedExtensions']['Media'] = array('php','asp','aspx','ascx','jsp','cfm','cfc','pl','bat','exe','dll','reg');
$Config['AllowedExtensions']['Documents'] = array('doc','pdf','ppt','rdp','swf','swt','txt','vsd','xls','csv','zip') ;
$Config['DeniedExtensions']['Documents'] = array('php','asp','aspx','ascx','jsp','cfm','cfc','pl','bat','exe','dll','reg');
?>
\ No newline at end of file
Property changes on: trunk/admin/editor/cmseditor/editor/filemanager/browser/default/connectors/php/config.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.12
\ No newline at end of property
+1.13
\ No newline at end of property
Index: trunk/admin/editor/cmseditor/editor/filemanager/browser/default/frmresourceslist.html
===================================================================
--- trunk/admin/editor/cmseditor/editor/filemanager/browser/default/frmresourceslist.html (revision 4935)
+++ trunk/admin/editor/cmseditor/editor/filemanager/browser/default/frmresourceslist.html (revision 4936)
@@ -1,197 +1,344 @@
<!--
* FCKeditor - The text editor for internet
* Copyright (C) 2003-2004 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
*
* For further information visit:
* http://www.fckeditor.net/
*
* File Name: frmresourceslist.html
* This page shows all resources available in a folder in the File Browser.
*
* Version: 2.0 RC3
* Modified: 2005-02-25 22:01:23
*
* File Authors:
* Frederico Caldeira Knabben (fredck@fckeditor.net)
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<link href="Browser.css" type="text/css" rel="stylesheet">
<script type="text/javascript" src="js/common.js"></script>
<script language="javascript">
var oListManager = new Object() ;
-
+var current_sort_order = '_asc';
+var current_sort_by = 'name';
oListManager.Init = function()
{
this.Table = document.getElementById('tableFiles') ;
}
oListManager.Clear = function()
{
// Remove all other rows available.
while ( this.Table.rows.length > 0 )
this.Table.deleteRow(0) ;
}
+function is_msie()
+{
+ var browser = "";
+ browser = navigator.appName;
+ if (browser == 'Microsoft Internet Explorer')
+ return 1;
+ else
+ return 0;
+}
+
oListManager.AddFolder = function( folderName, folderPath )
{
// Create the new row.
var oRow = this.Table.insertRow(-1) ;
// Build the link to view the folder.
var sLink = '<a href="#" onclick="OpenFolder(\'' + folderPath + '\');return false;">' ;
var oCell = oRow.insertCell(-1);
oCell.width = 16;
// Add the folder icon cell.
var oCell = oRow.insertCell(-1) ;
oCell.width = 16 ;
oCell.innerHTML = sLink + '<img alt="" src="images/Folder.gif" width="16" height="16" border="0"></a>' ;
// Add the folder name cell.
oCell = oRow.insertCell(-1) ;
oCell.noWrap = true ;
- oCell.colSpan = 2 ;
+ oCell.colSpan = 3 ;
oCell.innerHTML = ' ' + sLink + folderName + '</a>' ;
}
-oListManager.AddFile = function( fileName, fileUrl, fileSize )
+oListManager.AddFile = function( fileName, fileUrl, fileSize, fileDate )
{
// Create the new row.
var oRow = this.Table.insertRow(-1) ;
// Build the link to view the folder.
var sLink = '<a href="#" onclick="OpenFile(\'' + fileUrl + '\',\''+fileSize+'\'); return false;">' ;
// Get the file icon.
var sIcon = oIcons.GetIcon( fileName ) ;
// Add the checkbox cell
var oCell = oRow.insertCell(-1);
- oCell.width = 16;
- oCell.innerHTML = '<input type="checkbox" name="file_checkbox" onclick="HandleCheckboxes()"/>';
+ oCell.width = 25;
+ oCell.innerHTML = '<input type="checkbox" name="file_checkbox" value='+fileName+' onclick="HandleCheckboxes()"/>';
// Add the file icon cell.
var oCell = oRow.insertCell(-1) ;
oCell.width = 16 ;
oCell.innerHTML = sLink + ' <img alt="" src="images/icons/' + sIcon + '.gif" width="16" height="16" border="0"></a>' ;
// Add the file name cell.
oCell = oRow.insertCell(-1) ;
oCell.innerHTML = ' ' + sLink + fileName + '</a>' ;
// Add the file size cell.
oCell = oRow.insertCell(-1) ;
oCell.width = 50;
oCell.noWrap = true ;
oCell.align = 'right' ;
oCell.innerHTML = ' ' + fileSize + ' KB' ;
//Add the file date cell.
oCell = oRow.insertCell(-1) ;
- oCell.width = 75;
+ oCell.width = 120;
oCell.noWrap = true ;
- oCell.align = 'right' ;
- oCell.innerHTML = '07-06-2006' ;
-
- oCell = oRow.insertCell(-1);
- oCell.width = 10;
+ oCell.align = 'center' ;
+ oCell.innerHTML = fileDate ;
}
+function GetCheckedFileName(method)
+{
+ checkboxes = document.getElementsByName('file_checkbox');
+ for (i in checkboxes) {
+ if (checkboxes[i].checked) {
+ if (method == 'first')
+ return checkboxes[i].value;
+ files = files+checkboxes[i].value+'|';
+ }
+ }
+ return files;
+}
+
function HandleCheckboxes(e) {
var checked_num = 0, i;
checkboxes = document.getElementsByName('file_checkbox');
for (i in checkboxes) {
if (checkboxes[i].checked) {
checked_num++;
}
}
if (checked_num > 0) {
window.parent.frames['frmUpload'].SetElementVisibility("none", "");
if (checked_num > 1) {
window.parent.frames['frmUpload'].SetButtonAvalability("rename", false);
}
else {
window.parent.frames['frmUpload'].SetButtonAvalability("rename", true);
}
}
else {
window.parent.frames['frmUpload'].SetElementVisibility("", "none");
}
}
function OpenFolder( folderPath )
{
// Load the resources list for this folder.
window.parent.frames['frmFolders'].LoadFolders( folderPath ) ;
}
function OpenFile( fileUrl, fileSize)
{
window.top.opener.SetUrl( fileUrl, '', '', '', fileSize);
window.close() ;
window.top.close() ;
window.top.opener.focus() ;
}
+function RenameFile(old_name,new_name)
+{
+ oConnector.SendCommand( 'RenameFile_'+old_name+'|'+new_name, null, RenameCallBack );
+}
+
+function RenameCallBack(fckXml)
+{
+ var oNode = fckXml.SelectSingleNode( 'Connector/Error' ) ;
+ var iErrorNumber = parseInt( oNode.attributes.getNamedItem('number').value ) ;
+ switch ( iErrorNumber )
+ {
+ case 0 :
+ window.parent.frames['frmResourcesList'].Refresh() ;
+ break ;
+ case 203 :
+ alert( 'Invalid file type for this foder' ) ;
+ break ;
+ case 204 :
+ alert( 'A file with the same name is already available' ) ;
+ break ;
+ default :
+ alert( 'Error on file upload. Error number: ' + errorNumber ) ;
+ break ;
+ }
+
+}
+
function LoadResources( resourceType, folderPath )
{
oListManager.Clear() ;
oConnector.ResourceType = resourceType ;
oConnector.CurrentFolder = folderPath
- oConnector.SendCommand( 'GetFoldersAndFiles', null, GetFoldersAndFilesCallBack ) ;
+ oConnector.SendCommand( 'GetFoldersAndFiles_'+current_sort_by+current_sort_order, null, GetFoldersAndFilesCallBack ) ;
}
function Refresh()
{
LoadResources( oConnector.ResourceType, oConnector.CurrentFolder ) ;
}
function GetFoldersAndFilesCallBack( fckXml )
{
// Get the current folder path.
var oNode = fckXml.SelectSingleNode( 'Connector/CurrentFolder' ) ;
var sCurrentFolderPath = oNode.attributes.getNamedItem('path').value ;
var sCurrentFolderUrl = oNode.attributes.getNamedItem('url').value ;
- // Add the Folders.
- var oNodes = fckXml.SelectNodes( 'Connector/Folders/Folder' ) ;
- for ( var i = 0 ; i < oNodes.length ; i++ )
- {
- var sFolderName = oNodes[i].attributes.getNamedItem('name').value ;
- oListManager.AddFolder( sFolderName, sCurrentFolderPath + sFolderName + "/" ) ;
+ if (current_sort_order == '_asc') {
+ // Add the Folders.
+ var oNodes = fckXml.SelectNodes( 'Connector/Folders/Folder' ) ;
+ for ( var i = 0 ; i < oNodes.length ; i++ )
+ {
+ var sFolderName = oNodes[i].attributes.getNamedItem('name').value ;
+ oListManager.AddFolder( sFolderName, sCurrentFolderPath + sFolderName + "/" ) ;
+ }
+ // Add the Files.
+ var oNodes = fckXml.SelectNodes( 'Connector/Files/File' ) ;
+ for ( var i = 0 ; i < oNodes.length ; i++ )
+ {
+ var sFileName = oNodes[i].attributes.getNamedItem('name').value ;
+ var sFileSize = oNodes[i].attributes.getNamedItem('size').value ;
+ var sFileDate = oNodes[i].attributes.getNamedItem('date').value;
+ oListManager.AddFile( sFileName, sCurrentFolderUrl + sFileName, sFileSize, sFileDate) ;
+ }
+
+ } else {
+ // Add the Files.
+ var oNodes = fckXml.SelectNodes( 'Connector/Files/File' ) ;
+ for ( var i = 0 ; i < oNodes.length ; i++ )
+ {
+ var sFileName = oNodes[i].attributes.getNamedItem('name').value ;
+ var sFileSize = oNodes[i].attributes.getNamedItem('size').value ;
+ var sFileDate = oNodes[i].attributes.getNamedItem('date').value;
+ oListManager.AddFile( sFileName, sCurrentFolderUrl + sFileName, sFileSize, sFileDate) ;
+ }
+ // Add the Folders.
+ var oNodes = fckXml.SelectNodes( 'Connector/Folders/Folder' ) ;
+ for ( var i = 0 ; i < oNodes.length ; i++ )
+ {
+ var sFolderName = oNodes[i].attributes.getNamedItem('name').value ;
+ oListManager.AddFolder( sFolderName, sCurrentFolderPath + sFolderName + "/" ) ;
+ }
+
}
-
- // Add the Files.
- var oNodes = fckXml.SelectNodes( 'Connector/Files/File' ) ;
- for ( var i = 0 ; i < oNodes.length ; i++ )
- {
- var sFileName = oNodes[i].attributes.getNamedItem('name').value ;
- var sFileSize = oNodes[i].attributes.getNamedItem('size').value ;
- oListManager.AddFile( sFileName, sCurrentFolderUrl + sFileName, sFileSize ) ;
+ UpdateDivSize();
+}
+
+function UpdateDivSize()
+{
+ table_height = document.getElementById('tableFiles').clientHeight;
+ if(is_msie())
+ window_height = document.body.outerHeight;
+ else
+ window_height = window.outerHeight - 165;
+ document.getElementById('data_div').style.height = window_height;
+ //alert(document.getElementById('tableFiles').clientWidth);
+
+ if (window_height < table_height) {
+ document.getElementById('data_div').scroll = 'yes';
+ document.getElementById('sortFiles').style.width = document.getElementById('tableFiles').clientWidth;
+ } else {
+ document.getElementById('data_div').scroll = 'yes';
+ document.getElementById('sortFiles').style.width = document.getElementById('tableFiles').clientWidth;
}
}
window.onload = function()
{
oListManager.Init() ;
window.top.IsLoadedResourcesList = true ;
}
- </script>
+
+function sortBy(sort_by)
+{
+ if (sort_by == current_sort_by)
+ current_sort_order = (current_sort_order == '_asc')?'_desc':'_asc';
+ else {
+ document.getElementById('sort_'+current_sort_by).src = document.getElementById('_no').src;
+ current_sort_by = sort_by;
+ current_sort_order = '_asc';
+ }
+ document.getElementById('sort_'+current_sort_by).src = document.getElementById(current_sort_order).src;
+ //alert('GetFoldersAndFiles_'+current_sort_by+current_sort_order);
+ LoadResources( oConnector.ResourceType, oConnector.CurrentFolder ) ;
+}
+
+window.onresize = UpdateDivSize;
+
+</script>
</head>
- <body class="FileArea" bottomMargin="10" leftMargin="10" topMargin="10" rightMargin="10">
- <table id="tableFiles" cellSpacing="1" cellPadding="0" width="100%" border="0">
+ <body class="FileArea" bottomMargin="10" leftMargin="10" topMargin="3" rightMargin="10">
+ <div id="sort_div" style="padding: 0; border: none; overflow: hidden; width: 100%; position: relative;">
+ <table id="sortFiles" border="0" cellSpacing="1" cellPadding="0" width="100%" border="0" style="border-bottom:1px solid #000000; margin-bottom:0px; padding-bottom:0px;">
+ <tr>
+ <td width="25"> </td>
+ <td width="5"> </td>
+ <td>
+ <table border="0" cellSpacing="0" cellPadding="0"border="0">
+ <tr>
+ <td><a href="javascript:sortBy('name');"><img id="sort_name" src="images/sort_asc.gif" alt="" border="0"></a></td>
+ <td><a href="javascript:sortBy('name');" class='order-link'> File Name</a></td>
+ </tr>
+ </table>
+ </td>
+ <td width="50" align="center">
+ <table border="0" cellSpacing="0" cellPadding="0"border="0">
+ <tr>
+ <td><a href="javascript:sortBy('size');"><img id="sort_size" src="images/sort_no.gif" alt="" border="0"></a></td>
+ <td><a href="javascript:sortBy('size');" class='order-link'> Size</a></td>
+ </tr>
+ </table>
+ </td>
+ <td width="120" align="center">
+ <table border="0" cellSpacing="0" cellPadding="0"border="0">
+ <tr>
+ <td><a href="javascript:sortBy('date');"><img id="sort_date" src="images/sort_no.gif" alt="" border="0"></a></td>
+ <td><a href="javascript:sortBy('date');" class='order-link'> Date</a></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
</table>
+ </div>
+ <div id="data_div" style="padding: 0; border: none; overflow: auto; width: 100%; position: relative;">
+ <img src="images/s.gif" width="1" height="3"><br />
+ <table id="tableFiles" border="0" cellSpacing="1" cellPadding="0" width="100%" border="0" style="padding-top:0px;">
+ </table>
+ </div>
+ <div style="display:none">
+ <img id='_desc' src="images/sort_desc.gif" alt="" border="0">
+ <img id='_asc' src="images/sort_asc.gif" alt="" border="0">
+ <img id='_no' src="images/sort_no.gif" alt="" border="0">
+
+ </div>
</body>
</html>
Property changes on: trunk/admin/editor/cmseditor/editor/filemanager/browser/default/frmresourceslist.html
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.4
\ No newline at end of property
+1.5
\ No newline at end of property
Event Timeline
Log In to Comment