The QBasic Forum      Other Subforums, Links and Downloads
 
 Return to Index  

Code for the "QBASIC Forum"

May 31 2008 at 8:19 AM
qbguy  (no login)
from IP address 76.210.141.14

START.EXE -- start thread
contentlength = VAL(ENVIRON$("CONTENT_LENGTH"))
x$ = INPUT$(7)
contentlength = contentlength - 7
x$ = UCASE$(x$)
IF x$ <> "AUTHOR=" THEN
  PRINT "Content-type: text/plain"
  PRINT
  PRINT "Invalid input"
  END
END IF
x$ = ""
author$ = ""
DO
x$ = INPUT$(1): contentlength = contentlength - 1
IF x$ = "&" THEN EXIT DO
IF x$ = "+" THEN
  author$ = author$ + "&#32;"
ELSEIF x$ = "%" THEN
  author$ = author$ + "&#x" + INPUT$(2) + ";"
  contentlength = contentlength - 2
ELSE
  author$ = author$ + "&#x" + HEX$(ASC(x$)) + ";"
END IF
LOOP
x$ = INPUT$(6)
contentlength = contentlength - 6
x$ = UCASE$(x$)
IF x$ <> "TITLE=" THEN
  PRINT "Content-type: text/plain"
  PRINT
  PRINT "Invalid input"
  END
END IF
x$ = ""
title$ = ""
DO
x$ = INPUT$(1): contentlength = contentlength - 1
IF x$ = "&" THEN EXIT DO
IF x$ = "+" THEN
  title$ = title$ + "&#32;"
ELSEIF x$ = "%" THEN
  title$ = title$ + "&#x" + INPUT$(2) + ";"
  contentlength = contentlength - 2
ELSE
  title$ = title$ + "&#x" + HEX$(ASC(x$)) + ";"
END IF
LOOP
x$ = INPUT$(8)
contentlength = contentlength - 8
x$ = UCASE$(x$)
IF x$ <> "CONTENT=" THEN
  PRINT "Content-type: text/plain"
  PRINT
  PRINT "Invalid input"
  END
END IF
x$ = ""
content$ = ""
WHILE contentlength > 0
x$ = INPUT$(1): contentlength = contentlength - 1
IF x$ = "+" THEN
  content$ = content$ + "&#32;"
ELSEIF x$ = "%" THEN
  content$ = content$ + "&#x" + INPUT$(2) + ";"
  contentlength = contentlength - 2
ELSE
  content$ = content$ + "&#x" + HEX$(ASC(x$)) + ";"
END IF
WEND
OPEN "c:\apache\apache\htdocs\threads\cur.txt" FOR INPUT AS #1
INPUT #1, z&
CLOSE #1
OPEN "c:\apache\apache\htdocs\threads\cur.txt" FOR OUTPUT AS #1
PRINT #1, z& + 1
CLOSE #1
OPEN "c:\apache\apache\htdocs\threads\" + HEX$(z&) + ".htm" FOR OUTPUT AS #1
PRINT #1, "<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01//EN'"
PRINT #1, "    'http://www.w3.org/TR/html4/strict.dtd'>"
PRINT #1, "<html>"
PRINT #1, "<head>"
PRINT #1, "<title>" + title$ + "</title>"
PRINT #1, "</head>"
PRINT #1, "<body>"
PRINT #1, "<h1>" + title$ + "</h1>"
PRINT #1, "<p>by " + author$ + "</p>"
PRINT #1, "<pre>"
PRINT #1, content$
PRINT #1, "</pre>"
PRINT #1, "<form method='post' action='/cgi-bin/reply.exe'>"
PRINT #1, "<p>Your Name <input type='text' name='author' size='50' maxlength='50'></p>"
PRINT #1, "<p>Post Title <input type='text' name='title' size='50' maxlength='50'></p>"
PRINT #1, "<p><textarea name='content' rows='25' cols='80'></textarea></p>"
PRINT #1, "<p><input type='hidden' name='replyto' value='" + HEX$(z&) + "'>"
PRINT #1, "<input type='hidden' name='replylevel' value='1'>"
PRINT #1, "<input type='submit'></p>"
PRINT #1, "</form>"
PRINT #1, "</body></html>"
CLOSE #1
OPEN "..\htdocs\forum.htm" FOR INPUT AS #1
OPEN "c:\apache\apache\htdocs\temp.tmp" FOR OUTPUT AS #2
DO
LINE INPUT #1, x$
PRINT #2, x$
LOOP UNTIL x$ = "<!-- stuff here -->"
PRINT #2, "<pre><a href='/threads/" + HEX$(z&) + ".htm'>" + title$ + " by " + author$ + "</a></pre>"
PRINT #2, "<!--" + HEX$(z&) + "-->"
WHILE NOT EOF(1)
LINE INPUT #1, x$
PRINT #2, x$
WEND
CLOSE
SHELL "cat c:\apache\apache\htdocs\temp.tmp > c:\apache\apache\htdocs\forum.htm"
PRINT "Status: 302 Found"
PRINT "Location: http://" + ENVIRON$("SERVER_NAME") + "/forum.htm"
END

========================

REPLY.EXE -- reply to thread
contentlength = VAL(ENVIRON$("CONTENT_LENGTH"))
x$ = INPUT$(7)
contentlength = contentlength - 7
x$ = UCASE$(x$)
IF x$ <> "AUTHOR=" THEN
  PRINT "Content-type: text/plain"
  PRINT
  PRINT "Invalid input"
  END
END IF
x$ = ""
author$ = ""
DO
x$ = INPUT$(1): contentlength = contentlength - 1
IF x$ = "&" THEN EXIT DO
IF x$ = "+" THEN
  author$ = author$ + "&#32;"
ELSEIF x$ = "%" THEN
  author$ = author$ + "&#x" + INPUT$(2) + ";"
  contentlength = contentlength - 2
ELSE
  author$ = author$ + "&#x" + HEX$(ASC(x$)) + ";"
END IF
LOOP
x$ = INPUT$(6)
contentlength = contentlength - 6
x$ = UCASE$(x$)
IF x$ <> "TITLE=" THEN
  PRINT "Content-type: text/plain"
  PRINT
  PRINT "Invalid input"
  END
END IF
x$ = ""
title$ = ""
DO
x$ = INPUT$(1): contentlength = contentlength - 1
IF x$ = "&" THEN EXIT DO
IF x$ = "+" THEN
  title$ = title$ + "&#32;"
ELSEIF x$ = "%" THEN
  title$ = title$ + "&#x" + INPUT$(2) + ";"
  contentlength = contentlength - 2
ELSE
  title$ = title$ + "&#x" + HEX$(ASC(x$)) + ";"
END IF
LOOP
x$ = INPUT$(8)
contentlength = contentlength - 8
x$ = UCASE$(x$)
IF x$ <> "CONTENT=" THEN
  PRINT "Content-type: text/plain"
  PRINT
  PRINT "Invalid input"
  END
END IF
x$ = ""
content$ = ""
DO
x$ = INPUT$(1): contentlength = contentlength - 1
IF x$ = "&" THEN EXIT DO
IF x$ = "+" THEN
  content$ = content$ + "&#32;"
ELSEIF x$ = "%" THEN
  content$ = content$ + "&#x" + INPUT$(2) + ";"
  contentlength = contentlength - 2
ELSE
  content$ = content$ + "&#x" + HEX$(ASC(x$)) + ";"
END IF
LOOP
x$ = INPUT$(8)
contentlength = contentlength - 8
x$ = UCASE$(x$)
IF x$ <> "REPLYTO=" THEN
  PRINT "Content-type: text/plain"
  PRINT
  PRINT "Invalid input"
  END
END IF
x$ = ""
replyto$ = ""
DO
x$ = INPUT$(1): contentlength = contentlength - 1
IF x$ = "&" THEN EXIT DO
IF x$ = "+" THEN
  replyto$ = replyto$ + " "
ELSEIF x$ = "%" THEN
  replyto$ = replyto$ + CHR$(VAL("&h" + INPUT$(2)))
  contentlength = contentlength - 2
ELSE
  replyto$ = replyto$ + x$
END IF
LOOP
x$ = INPUT$(11)
contentlength = contentlength - 11
x$ = UCASE$(x$)
IF x$ <> "REPLYLEVEL=" THEN
  PRINT "Content-type: text/plain"
  PRINT
  PRINT "Invalid input"
  END
END IF
x$ = ""
replylevel$ = ""
DO
x$ = INPUT$(1): contentlength = contentlength - 1
IF x$ = "+" THEN
  replylevel$ = replylevel$ + " "
ELSEIF x$ = "%" THEN
  replylevel$ = replylevel$ + CHR$(VAL("&h" + INPUT$(2)))
  contentlength = contentlength - 2
ELSE
  replylevel$ = replylevel$ + x$
END IF
LOOP UNTIL contentlength <= 0
replylevel = VAL(replylevel$)

OPEN "c:\apache\apache\htdocs\threads\cur.txt" FOR INPUT AS #1
INPUT #1, z&
CLOSE #1
OPEN "c:\apache\apache\htdocs\threads\cur.txt" FOR OUTPUT AS #1
PRINT #1, z& + 1
CLOSE #1
OPEN "c:\apache\apache\htdocs\threads\" + HEX$(z&) + ".htm" FOR OUTPUT AS #1
PRINT #1, "<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01//EN'"
PRINT #1, "    'http://www.w3.org/TR/html4/strict.dtd'>"
PRINT #1, "<html>"
PRINT #1, "<head>"
PRINT #1, "<link rel='stylesheet' type='text/css' href='/wrap.css'>"
PRINT #1, "<title>" + title$ + "</title>"
PRINT #1, "</head>"
PRINT #1, "<body>"
PRINT #1, "<h1>" + title$ + "</h1>"
PRINT #1, "<p>by " + author$ + "</p>"
PRINT #1, "<pre>"
PRINT #1, content$
PRINT #1, "</pre>"
PRINT #1, "<form method='post' action='/cgi-bin/reply.exe'>"
PRINT #1, "<p>Your Name <input type='text' name='author' size='50' maxlength='50'></p>"
PRINT #1, "<p>Post Title <input type='text' name='title' size='50' maxlength='50'></p>"
PRINT #1, "<p><textarea name='content' rows='25' cols='80'></textarea></p>"
PRINT #1, "<p><input type='hidden' name='replyto' value='" + HEX$(z&) + "'>"
PRINT #1, "<input type='hidden' name='replylevel' value='" + LTRIM$(RTRIM$(STR$(replylevel + 1))) + "'>"
PRINT #1, "<input type='submit'></p>"
PRINT #1, "</form>"
PRINT #1, "</body></html>"
CLOSE #1
OPEN "..\htdocs\forum.htm" FOR INPUT AS #1
OPEN "c:\apache\apache\htdocs\temp.tmp" FOR OUTPUT AS #2
DO
LINE INPUT #1, x$
PRINT #2, x$
LOOP UNTIL x$ = "<!--" + replyto$ + "-->"
PRINT #2, "<pre>" + SPACE$(4 * replylevel) + "<a href='/threads/" + HEX$(z&) + ".htm'>" + title$ + " by " + author$ + "</a></pre>"
PRINT #2, "<!--" + HEX$(z&) + "-->"
WHILE NOT EOF(1)
LINE INPUT #1, x$
PRINT #2, x$
WEND
CLOSE
SHELL "cat c:\apache\apache\htdocs\temp.tmp > c:\apache\apache\htdocs\forum.htm"
PRINT "Status: 302 Found"
PRINT "Location: http://" + ENVIRON$("SERVER_NAME") + "/forum.htm"
END


 
 Respond to this message   

Newbies usually go to www.qbasic.com and click on The QBasic Forum
Forum regulars have their own ways, which include The QBasic Community Forums