[原创]让FCKeditor的File manager支持”删除” (php),该怎么处理

WBOY
Release: 2016-06-13 13:41:58
Original
1190 people have browsed it

[原创]让FCKeditor的File manager支持”删除” (php)
FCKeditor是一款很好用的所见即所得编辑器, 内置的File manager也实现了基本的文件管理功能, 唯一遗憾的是, 不支持删除…

没关系, 其实只需以下几步就可以实现删除文件和文件夹:

1, fckeditor\editor\filemanager\browser\default\frmresourceslist.html, 编辑:

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->oListManager.GetFolderRowHtml = function( folderName, folderPath, folderUrl )
{
// Build the link to view the folder.
var sLink = '<a href="#" onclick="OpenFolder(\'' + ProtectPath( folderPath ) + '\');return false;">' ;

return '<tr>' +
'<td width="16">' +
sLink +
'<img alt="" src="images/Folder.gif"    style="max-width:90%"  style="max-width:90%" border="0">' +
'</td>
<td nowrap colspan="2"> ' +
sLink +
folderName +
'' +
'</td>
<td align="right" width="45">- <a href="#" onclick="DeleteFolder(\''+folderName+'\',\''+ folderUrl.replace( /'/g, '\\\'') + '\');return false;">Delete</a>
</td>' ;
}
<br>2,  fckeditor\editor\filemanager\browser\default\frmresourceslist.html, 编辑:<br><dl class="code">PHP code<pre class="brush:php;toolbar:false">
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->oListManager.GetFileRowHtml = function( fileName, fileUrl, fileSize )
{
// Build the link to view the folder.
var sLink = '<a href="#" onclick="OpenFile(\'' + ProtectPath( fileUrl ) + '\');return false;">' ;

// Get the file icon.
var sIcon = oIcons.GetIcon( fileName ) ;

return '<tr>' +
'<td width="16">' +
sLink +
'<img alt="" src="images/icons/'%20+%20sIcon%20+%20'.gif"    style="max-width:90%"  style="max-width:90%" border="0">' +
'</td>
<td> ' +
sLink +
fileName +
'' +
'</td>
<td align="right" nowrap> ' +
fileSize +
' KB' +
'</td>
<td align="right" width="45">- <a href="#" onclick="DeleteFile(\''+fileName+'\',\'' + fileUrl.replace( /'/g, '\\\'') + '\');return false;">Delete</a>
</td>' ;
}
<br>3,  fckeditor\editor\filemanager\browser\default\frmresourceslist.html, 增加:<br><dl class="code">PHP code<pre class="brush:php;toolbar:false">
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->function DeleteFile( fileName, fileUrl )
{
if (confirm('Are you sure you wish to delete ' + fileName + '?')) {
oConnector.SendCommand( 'DeleteFile', "FileUrl=" + escape( fileUrl ), Refresh ) ;
}
}

function DeleteFolder( folderName, folderPath )
{
if (confirm('Are you sure you wish to delete \'' + folderName + '\' and all files in it?')) {
oConnector.SendCommand( 'DeleteFolder', "FolderName=" + escape( folderPath + folderName ), Refresh ) ;
}
}
Copy after login

4, fckeditor\editor\filemanager\browser\default\frmresourceslist.html, 编辑:
PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->oHtml.Append( oListManager.GetFolderRowHtml( sFolderName, sCurrentFolderPath + sFolderName + "/", sCurrentFolderUrl ) ) ;
Copy after login

 

5, fckeditor\editor\filemanager\connectors\php\commands.php, 添加:
PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->function DeleteFile( $resourceType, $currentFolder ) {
$file = $_SERVER['DOCUMENT_ROOT'].$_GET['FileUrl'];
if (is_file($file)) {
unlink($file);
} else {
echo '<error number="1? originaldescription=”unable to locate file">';
}
}

function DeleteFolder( $resourceType, $currentFolder ) {
$folder = $_SERVER['DOCUMENT_ROOT'].$_GET['FolderName'];
if (is_dir($folder) ) {
DELETE_RECURSIVE_DIRS($folder);
} else {
echo '<error number="2? originaldescription=" unable to locate folder>';
}
}

function DELETE_RECURSIVE_DIRS($dirname) { // recursive function to delete
// all subdirectories and contents:
if(is_dir($dirname))$dir_handle=opendir($dirname);
while($file=readdir($dir_handle)) {
if($file!="." && $file!="..") {
if(!is_dir($dirname."/".$file)) {
unlink ($dirname."/".$file);
} else {
DELETE_RECURSIVE_DIRS($dirname."/".$file);
}
}
}
closedir($dir_handle);
rmdir($dirname);
}
 <div class="clear">
                 
              
              
        
            </div></error></error>
Copy after login
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template