Page MenuHomeIn-Portal Phabricator

in-portal
No OneTemporary

File Metadata

Created
Fri, Sep 19, 6:04 AM

in-portal

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>&nbsp;<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("&","&amp;",$rs->fields['page_title']);
$page = ereg_replace("\"","&quot;",$page);
$page = ereg_replace("'","&#039;",$page);
$page = ereg_replace("<","&lt;",$page);
$page = ereg_replace(">","&gt;",$page);
// echo $page." <br>";
//$page = htmlentities($rs->fields['page_title'],ENT_QUOTES);
$page = $rs->fields['page_title'];
$page = ereg_replace("&atilde;","a",$page);
*/
$page = $rs->fields['page_title'];
$page = @html_entity_decode($page,ENT_NOQUOTES,'UTF-8');
$page = @htmlspecialchars($page);
//$page = ereg_replace("&atilde;","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 = '&nbsp;' + 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 = '&nbsp;' + sLink + fileName + '</a>' ;
// Add the file size cell.
oCell = oRow.insertCell(-1) ;
oCell.width = 50;
oCell.noWrap = true ;
oCell.align = 'right' ;
oCell.innerHTML = '&nbsp;' + 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'>&nbsp;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'>&nbsp;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'>&nbsp;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