Index: trunk/admin/editor/cmseditor/editor/filemanager/browser/default/browser.html
===================================================================
diff -u -r1455 -r4936
--- trunk/admin/editor/cmseditor/editor/filemanager/browser/default/browser.html (.../browser.html) (revision 1455)
+++ trunk/admin/editor/cmseditor/editor/filemanager/browser/default/browser.html (.../browser.html) (revision 4936)
@@ -66,7 +66,7 @@
if ( params ) sUrl += '&' + params ;
var oXML = new FCKXml() ;
-
+ //alert(sUrl);
if ( callBackFunction )
oXML.LoadUrl( sUrl, callBackFunction ) ; // Asynchronous load.
else
@@ -101,12 +101,12 @@
Index: trunk/admin/editor/cmseditor/editor/filemanager/browser/default/connectors/php/commands.php
===================================================================
diff -u -r4699 -r4936
--- trunk/admin/editor/cmseditor/editor/filemanager/browser/default/connectors/php/commands.php (.../commands.php) (revision 4699)
+++ trunk/admin/editor/cmseditor/editor/filemanager/browser/default/connectors/php/commands.php (.../commands.php) (revision 4936)
@@ -213,9 +213,21 @@
';
*/
-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();
@@ -240,23 +252,55 @@
$aFileSizes[] = ($size < 1)? 1:$size;// round( $iFileSize / 1024 ) ;
} else
$aFileSizes[] = $iFileSize;
- $aFiles[] = $sFile;
+ $aFiles[] = $sFile;
+ $aFileDate[] = filectime($sServerDir.$sFile);
//$sFiles .= '' ;
}
}
}
if (count($aFolders) > 0) {
natcasesort($aFolders);
+ switch ($aParams[1])
+ {
+ case 'desc' :
+ $aFolders = array_reverse($aFolders, true);
+ break ;
+ }
foreach($aFolders AS $k=>$v) {
$sFolders .= '' ;
}
}
- if (count($sFiles) > 0) {
- natcasesort($aFiles);
- foreach($aFiles AS $fk=>$fv) {
- $sFiles .= '' ;
+ 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 .= '' ;
+ }
+ }elseif ($aParams[0] == 'size') {
+ natcasesort($aFileSizes);
+ if ($aParams[1] == 'desc')
+ {
+ $aFileSizes = array_reverse($aFileSizes, true);
+ }
+ foreach($aFileSizes AS $fk=>$fv) {
+ $sFiles .= '' ;
+ }
+ } elseif ($aParams[0] == 'date') {
+ natcasesort($aFileDate);
+ if ($aParams[1] == 'desc')
+ {
+ $aFileDate = array_reverse($aFileDate, true);
+ }
+ foreach($aFileDate AS $fk=>$fv) {
+ $sFiles .= '' ;
+ }
}
- }
+ }
/* while ( $sFile = readdir( $oCurrentFolder ) )
{
if ( $sFile != '.' && $sFile != '..' && $sFile != 'CVS')
@@ -276,13 +320,18 @@
}
*/
-
- echo $sFolders ;
- // Close the "Folders" node.
- echo '' ;
- echo $sFiles ;
- // Close the "Files" node.
- echo '' ;
+ if ($aParams[1] == "desc")
+ {
+ echo $sFiles ;
+ echo '' ;
+ echo $sFolders ;
+ echo '' ;
+ } else {
+ echo $sFolders ;
+ echo '' ;
+ echo $sFiles ;
+ echo '' ;
+ }
}
function CreateFolder( $resourceType, $currentFolder )
{
@@ -319,6 +368,59 @@
// Create the "Error" node.
echo '' ;
}
+
+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 '' ;
+ }
+}
+
function FileUpload( $resourceType, $currentFolder )
{
$sErrorNumber = '0' ;
@@ -353,7 +455,7 @@
if ( is_file( $sFilePath ) )
{
$oldumask = umask(0) ;
- chmod( $sFilePath, 0777 ) ;
+ chmod( $sFilePath, 0666 ) ;
umask( $oldumask ) ;
}
break ;
Index: trunk/admin/editor/cmseditor/editor/filemanager/browser/default/frmupload.html
===================================================================
diff -u -r4863 -r4936
--- trunk/admin/editor/cmseditor/editor/filemanager/browser/default/frmupload.html (.../frmupload.html) (revision 4863)
+++ trunk/admin/editor/cmseditor/editor/filemanager/browser/default/frmupload.html (.../frmupload.html) (revision 4936)
@@ -48,21 +48,7 @@
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 = '' ;
- 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 :
@@ -75,12 +61,35 @@
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 = '' ;
+ 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 ;
@@ -101,7 +110,14 @@
}
}
-
+function RenameFile()
+{
+ filename = window.parent.frames['frmResourcesList'].GetCheckedFileName('first');
+ f=prompt('Rename file "'+filename+'"?',filename);
+ if (f) {
+ window.parent.frames['frmResourcesList'].RenameFile(filename,f);
+ }
+}
@@ -120,7 +136,7 @@

-
+
Index: trunk/admin/editor/cmseditor/editor/filemanager/browser/default/connectors/php/connector.php
===================================================================
diff -u -r4818 -r4936
--- trunk/admin/editor/cmseditor/editor/filemanager/browser/default/connectors/php/connector.php (.../connector.php) (revision 4818)
+++ trunk/admin/editor/cmseditor/editor/filemanager/browser/default/connectors/php/connector.php (.../connector.php) (revision 4936)
@@ -69,8 +69,17 @@
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') ;
@@ -83,6 +92,7 @@
header( 'Content-Type:text/xml; charset=utf-8' ) ;
CreateXmlHeader( $sCommand, $sResourceType, $sCurrentFolder ) ;
// Execute the required command.
+
switch ( $sCommand )
{
case 'GetCmsTree' :
@@ -92,11 +102,14 @@
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;
Index: trunk/admin/editor/cmseditor/editor/filemanager/browser/default/frmresourceslist.html
===================================================================
diff -u -r4862 -r4936
--- trunk/admin/editor/cmseditor/editor/filemanager/browser/default/frmresourceslist.html (.../frmresourceslist.html) (revision 4862)
+++ trunk/admin/editor/cmseditor/editor/filemanager/browser/default/frmresourceslist.html (.../frmresourceslist.html) (revision 4936)
@@ -26,7 +26,8 @@
+
+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;
+
+
-
-
+
+
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+
+

+
+
+
Index: trunk/admin/editor/cmseditor/editor/filemanager/browser/default/connectors/php/config.php
===================================================================
diff -u -r4820 -r4936
--- trunk/admin/editor/cmseditor/editor/filemanager/browser/default/connectors/php/config.php (.../config.php) (revision 4820)
+++ trunk/admin/editor/cmseditor/editor/filemanager/browser/default/connectors/php/config.php (.../config.php) (revision 4936)
@@ -29,6 +29,7 @@
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 {
Index: trunk/admin/editor/cmseditor/editor/filemanager/browser/default/Browser.css
===================================================================
diff -u -r1415 -r4936
--- trunk/admin/editor/cmseditor/editor/filemanager/browser/default/Browser.css (.../Browser.css) (revision 1415)
+++ trunk/admin/editor/cmseditor/editor/filemanager/browser/default/Browser.css (.../Browser.css) (revision 4936)
@@ -82,4 +82,19 @@
.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;
+}