Modificare il file:
\filemanager\sfmanager.asp
<%@ Language=VBScript%> <%option explicit%> <%Server.ScriptTimeout = 600%> <% Response.Buffer = True Response.Expires = 0 %> <!--#include file="config.asp"--> <!--#include file="./lib/common.asp"--> <% ' SFManager v.1.3 ' Author: Khristoforov Yuri ' http://www.activex.net.ru Dim action, fs action = Request.QueryString("action") Set fs = Server.CreateObject("Scripting.FileSystemObject") Dim curr_dir,curr_dir2, temp_arr curr_dir2 = Request.QueryString("dir") if InStr(1, curr_dir2, "..") <> 0 then Response.Write "Nome della cartella non valido !" Response.End end if Select Case action Case "delfolder" Call DelFolder() Case "delfile" Call DelFile() Case "newfolder" Call NewFolder() Case "renamefolder" Call RenameFolder() Case "renamefile" Call RenameFile() Case "download" Call Download() Case "viewdownload" Call ViewDownload() Case "" Call Main() End Select Set fs = Nothing Sub Main() %> <html> <STYLE TYPE="text/css"> <!-- A:link {text-decoration: none; color: #000080;} A:visited {text-decoration: none; color: #000080;} A:active {text-decoration: none;color:#dc143c; } A:hover {text-decoration:underline;color:#dc143c;} .esci { text-align: right; color: #F00; } --> </STYLE> <script language="javascript"> function del_folder(dir) { if (confirm('Sei sicuro di voler eliminare questa cartella?')) { document.location.href = "sfmanager.asp?action=delfolder&dir=" + escape(dir); } } function del_file(dir, file) { if (confirm('Sei sicuro di voler eliminare questo file?')) { document.location.href = "sfmanager.asp?action=delfile&dir=" + escape(dir) + "&file=" + escape(file); } } function new_folder(dir) { var d; d = prompt("Nome cartella: ", ""); if (d != null) { d = d.replace(/(^\s*)|(\s*$)/g, ""); } if (d != "" && d != null) { document.location.href = "sfmanager.asp?action=newfolder&dir=" + escape(dir) + "&newdir=" + escape(d); } } function rename_folder(dir, name) { var d; d = prompt("Nuovo nome Cartella: ", name); if (d != null) { d = d.replace(/(^\s*)|(\s*$)/g, ""); } if (d != "" && d != null && d != name && d.toLowerCase() != name.toLowerCase()) { document.location.href = "sfmanager.asp?action=renamefolder&dir=" + escape(dir) + "&oldname=" + escape(name) + "&newname=" + escape(d); } } function rename_file(dir, name) { var f; f = prompt("Nuovo nome file: ", name); if (f != null) { f = f.replace(/(^\s*)|(\s*$)/g, ""); } if (f != "" && f != null && f != name && f.toLowerCase() != name.toLowerCase()) { document.location.href = "sfmanager.asp?action=renamefile&dir=" + escape(dir) + "&oldname=" + escape(name) + "&newname=" + escape(f); } } </script> <title>File manager</title> <body bgcolor="#f5f5f5"> <% curr_dir = root_folder & curr_dir2 temp_arr = ShowDirList(curr_dir) temp_arr = SortStr(temp_arr) %> <table border=0 cellspacing=2 cellpadding=1 width="540" align=center> <tr> <td> </td><td width="100%"> </td><td> </td><td> </td><td> </td><td><a href="javascript: new_folder('<%=Replace(Replace(curr_dir2, "\", "\\"), "'", "\'")%>');"><img src="img/newfolder.gif" border=0 alt="Nuova cartella"></a></td><td><a href="upload.asp?dir=<%=Server.URLEncode(curr_dir2)%>"><img src="img/upload.gif" border=0 alt="Carica file"></a></td> </tr> <% Call Main_Print(temp_arr,1) temp_arr = ShowFilesList(curr_dir) temp_arr = SortStr(temp_arr) Call Main_Print(temp_arr,0) %> <tr><td colspan=4 bgcolor='#DDDDEE'><font size=2 class="esci">Cartella corrente: <%=Replace(curr_dir2, "\", "\ ")%> ...... >>> Click sulla casa per uscire</font></td> <% ' ###################### Modificare il percorso della HOME PAGE ###################################### %> <td align=center colspan=3 bgcolor='#DDDDEE'><a href="../Admin/default.asp"><img src="img/home.gif" border=0 alt="Home page"></a></td> <!--<td align=center colspan=3 bgcolor='#DDDDEE'><a href="sfmanager.asp"><img src="img/home.gif" border=0 alt="Home page"></a></td> --> </tr> </table> <% Erase temp_arr End Sub '#################################### Function ShowFilesList(folder) Dim f, f1, fc, i ReDim farr(0) Set f = fs.GetFolder(folder) Set fc = f.Files i=0 For Each f1 In fc farr(i) = CStr(f1.Name) i = i + 1 ReDim Preserve farr(i) Next ShowFilesList = farr End Function '#################################### Function ShowDirList(folder) Dim f, f1, fc, i ReDim dirarr(0) Set f = fs.GetFolder(folder) Set fc = f.SubFolders i=0 For Each f1 In fc dirarr(i) = CStr(f1.Name) i = i + 1 ReDim Preserve dirarr(i) Next ShowDirList = dirarr End Function '########################################################## Function SortStr(arr) Dim t,i,j For j = 0 To UBound(arr)-1 For i = j + 1 To UBound(arr)-1 If StrComp(CStr(arr(i)), CStr(arr(j)), vbTextCompare) < 0 Then t = arr(j) arr(j) = arr(i) arr(i) = t End If Next Next SortStr = arr End Function Sub Main_Print(arr,flag) ' flag=1 - êà òà ëîãè ' flag=0 - ôà éëû Dim i,k,tmp, edit_file i = 0 Select Case flag Case 1 If curr_dir2 <> "" Then k = InStrRev(curr_dir2,"\") If k <> 0 Then tmp = Mid(curr_dir2,1,k-1) Response.Write "<tr bgcolor='#D6D8E8'>" Response.Write "<td><img src='img/of.gif'></td>" Response.Write "<td><a href='" & Request("script_name") & "?dir=" & Server.URLEncode(tmp) & "' title='Vai alla cartella principale'>" & " <b>..</b> " & "</a></td><td> </td><td> </td><td colspan=3> </td></tr>" End If End If For i = 0 To UBound(arr)-1 Response.Write "<tr bgcolor='#D6D8E8'>" Response.Write "<td><img src='img/cf.gif'></td>" Response.Write "<td width='100%'><a href='" & Request("script_name") & "?dir=" & Server.URLEncode(curr_dir2 & "\" & arr(i)) & "'>" & arr(i) & _ "</a></td><td align=right nowrap><font size=2>" & GetFolderLastModified(root_folder & curr_dir2 & "\" & arr(i)) & "</font></td><td align=right><font size=2>" & FormatSize(GetFolderSize(root_folder & curr_dir2 & "\" & arr(i))) & "</font></td><td> </td><td align=center><a href=""javascript: rename_folder('" & Replace(Replace(curr_dir2, "\", "\\"), "'", "\'") & "', '" & Replace(arr(i), "'", "\'") & "');""><img src='img/rename.gif' border=0 alt='Rinomina cartella'></a></td><td align=center><a href=""javascript: del_folder('" & Replace(Replace(curr_dir2, "\", "\\"), "'", "\'") & "\\" & Replace(arr(i), "'", "\'") & "');""><img src='img/del.gif' border=0 alt='Cancella la cartella'></a></td></tr>" Next Case 0 For i = 0 To UBound(arr)-1 if (in_array(arrEditable, GetExt(root_folder & curr_dir2 & "\" & arr(i)))) then edit_file = "<a href=""" & "edit.asp" & "?dir=" & Server.URLEncode(curr_dir2) & "&file=" & Server.URLEncode(arr(i)) & """><img src='img/edit.gif' border=0 alt='Edit'></a>" else edit_file = " " end if Response.Write "<tr bgcolor='#EEEEEE'>" Response.Write "<td><a href=""" & Request("script_name") & "?action=download&dir=" & Server.URLEncode(curr_dir2) & "&file=" & Server.URLEncode(arr(i)) & """ target=""_blank""><img src='" & GetExtImg(root_folder & curr_dir2 & "\" & arr(i)) & "' border=0 alt='Download'></a></td>" Response.Write "<td width='100%'><a href=""" & Request("script_name") & "?action=viewdownload&dir=" & Server.URLEncode(curr_dir2) & "&file=" & Server.URLEncode(arr(i)) & """ target=""_blank"">" & arr(i) & "</a></td><td align=right><font size=2>" & GetFileLastModified(root_folder & curr_dir2 & "\" & arr(i)) & "</font></td><td align=right><font size=2>" & FormatSize(GetFileSize(root_folder & curr_dir2 & "\" & arr(i))) & "</font></td><td align=center>" & edit_file & "</td><td align=center><a href=""javascript: rename_file('" & Replace(Replace(curr_dir2, "\", "\\"), "'", "\'") & "', '" & Replace(arr(i), "'", "\'") & "');""><img src='img/rename.gif' border=0 alt='Rinomina file'></a></td><td align=center><a href=""javascript: del_file('" & Replace(Replace(curr_dir2, "\", "\\"), "'", "\'") & "', '" & Replace(arr(i), "'", "\'") & "');""><img src='img/del.gif' border=0 alt='Cancella'></a></td></tr>" Next End Select End Sub Sub DelFile() Dim fl, fl_path fl = Request.QueryString("file") fl_path = root_folder & curr_dir2 & "\" & fl if fl <> "" then fs.DeleteFile(fl_path) end if Response.Redirect "sfmanager.asp?dir=" & Server.URLEncode(curr_dir2) End Sub Sub DelFolder() Dim fl, dir_path, tmp, k ' tmp - îòÃîñ. ïóòü ê ïà ïêå âûøå óðîâÃåì If curr_dir2 <> "" Then k = InStrRev(curr_dir2,"\") If k <> 0 Then tmp = Mid(curr_dir2,1,k-1) end if end if if curr_dir2 <> "" then dir_path = root_folder & curr_dir2 fs.DeleteFolder(dir_path) end if Response.Redirect "sfmanager.asp?dir=" & Server.URLEncode(tmp) End Sub Sub NewFolder() Dim nd, nd_path nd = Request.QueryString("newdir") nd_path = root_folder & curr_dir2 & "\" & nd if nd <> "" then fs.CreateFolder(nd_path) end if Response.Redirect "sfmanager.asp?dir=" & Server.URLEncode(curr_dir2) End Sub Sub RenameFolder() Dim d, path1, path2, oldname, newname oldname = Request.QueryString("oldname") newname = Request.QueryString("newname") path1 = root_folder & curr_dir2 & "\" & oldname path2 = root_folder & curr_dir2 & "\" & newname if oldname <> "" And newname <> "" then if fs.FolderExists(path2) then fs.CopyFolder path1, path2, True fs.DeleteFolder(path1) else fs.MoveFolder path1, path2 end if end if Response.Redirect "sfmanager.asp?dir=" & Server.URLEncode(curr_dir2) End Sub Sub RenameFile() Dim d, path1, path2, oldname, newname oldname = Request.QueryString("oldname") newname = Request.QueryString("newname") path1 = root_folder & curr_dir2 & "\" & oldname path2 = root_folder & curr_dir2 & "\" & newname if oldname <> "" And newname <> "" then if fs.FileExists(path2) then fs.DeleteFile(path2) end if fs.MoveFile path1, path2 end if Response.Redirect "sfmanager.asp?dir=" & Server.URLEncode(curr_dir2) End Sub Sub Download() Dim fl, obj, name name = Request.QueryString("file") ' ïîëÃûé ïóòü ê ôà éëó äëÿ ñêà ÷èâà Ãèÿ fl = root_folder & curr_dir2 & "\" & name Set obj = Server.CreateObject("ADODB.Stream") obj.Open obj.Type = 1 obj.LoadFromFile(fl) Response.Clear Response.ContentType="application/octet-stream" Response.AddHeader "Content-disposition","attachment;filename=" & fs.GetFileName(fl) If obj.Size > 0 Then Response.BinaryWrite obj.Read End If obj.Close Set obj = Nothing End Sub Sub ViewDownload() Dim fl, obj, name name = Request.QueryString("file") ' ïîëÃûé ïóòü ê ôà éëó äëÿ ñêà ÷èâà Ãèÿ fl = root_folder & curr_dir2 & "\" & name Set obj = Server.CreateObject("ADODB.Stream") obj.Open obj.Type = 1 obj.LoadFromFile(fl) Response.Clear Response.ContentType="application/octet-stream" Response.AddHeader "Content-disposition","inline;filename=" & fs.GetFileName(fl) If obj.Size > 0 Then Response.BinaryWrite obj.Read End If obj.Close Set obj = Nothing End Sub Function FormatSize(Size) If NOT IsNumeric(Size) OR Size="" Then FormatSize="" ElseIf Size=0 Then FormatSize="0B" ElseIf Size>1024*1024*1024 Then FormatSize=Round(Size/1024/1024/1024,1) & "GB" ElseIf Size>10*1024*1024 Then FormatSize=Round(Size/1024/1024) & "MB" ElseIf Size>1024*1024 Then FormatSize=Round(Size/1024/1024,1) & "MB" ElseIf Size<100 Then FormatSize=Size & "B" ElseIf Size<1024 Then FormatSize="1kB" ElseIf Size>100*1024 AND Size<=1024*1024 Then FormatSize=Round(Size/1024/1024,1) & "MB" Else FormatSize=Round(Size/1024) & "kB" End If End Function Function GetFileSize(fl_path) Dim f Set f = fs.GetFile(fl_path) GetFileSize = f.Size End Function Function GetFileLastModified(fl_path) Dim f, d, fday, fmonth, fyear Set f = fs.GetFile(fl_path) d = f.DateLastModified fday = CStr(Day(d)) fmonth = CStr(Month(d)) fyear = CStr(Year(d)) If (Len(fmonth) = 1) Then fmonth = "0" & fmonth End If If (Len(fday) = 1) Then fday = "0" & fday End If GetFileLastModified = fday & "." & fmonth & "." & fyear End Function Function GetFolderLastModified(fo_path) Dim f, d, fday, fmonth, fyear Set f = fs.GetFolder(fo_path) d = f.DateLastModified fday = CStr(Day(d)) fmonth = CStr(Month(d)) fyear = CStr(Year(d)) If (Len(fmonth) = 1) Then fmonth = "0" & fmonth End If If (Len(fday) = 1) Then fday = "0" & fday End If GetFolderLastModified = fday & "." & fmonth & "." & fyear End Function Function GetFolderSize(fo_path) Dim f Set f = fs.GetFolder(fo_path) GetFolderSize = f.Size End Function Function GetExtImg(strIn) Dim ext, res ext = fs.GetExtensionName(strIn) res = "" if fs.FileExists(Server.MapPath("./img/" & ext & ".gif")) then res = "img/" & ext & ".gif" else res = "img/file.gif" end if GetExtImg = res End Function Function GetExt(strIn) Dim ext ext = LCase(fs.GetExtensionName(strIn)) GetExt = ext End Function %>
[
Íàçàä
]