diff options
Diffstat (limited to 'cgi-bin/guest_book_scm.cgi')
-rwxr-xr-x | cgi-bin/guest_book_scm.cgi | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/cgi-bin/guest_book_scm.cgi b/cgi-bin/guest_book_scm.cgi deleted file mode 100755 index 3963b25..0000000 --- a/cgi-bin/guest_book_scm.cgi +++ /dev/null @@ -1,104 +0,0 @@ -#! /usr/bin/guile \ --e main -s -!# - -(use-modules (ice-9 exceptions)) -(use-modules (json)) - -(define guest-book-json-file "cgi-bin/guest_book.json") - -;; Display a guest in the guest book -(define (display-guest guest) - (let ((date (cdr (list-ref guest 0))) - (message (cdr (list-ref guest 1))) - (url (cdr (list-ref guest 2))) - (name (cdr (list-ref guest 3)))) - (format #t " <table border=\"1\" width=\"60%\">\n\ - <tr><td>\n\ - <b>~a</b> <a href=\"~a\" target=\"_blank\">~a</a> --- signed ~a\n\ - </td></tr>\n\ - <tr><td>\n\ - <p>~a</p>\n\ - </table>\n\n" name url url date message))) - -;; Display pretty much everything -(define (display-guest-book) - (display "Content-Type: text/html\n\n\ -<!DOCTYPE html>\n\ -<html>\n\ -<head>\n\ - <title>Guest Book</title>\n\ - <style>\n\ -body {\n\ - color: black;\n\ - background-image: url('../images/guest_book_background.png');\n\ -}\n\ -\n\ -table {\n\ - color: black;\n\ - background-color: #bebebe;\n\ - margin-top: 10px;\n\ - margin-bottom: 10px;\n\ - margin-left: 10px;\n\ - margin-right: 10px;\n\ -}\n\ -</style>\n\ -</head>\n\ -<body>\n\ - <a href=\"../index.html\"><img src=\"../images/back_home.png\"\n\ - alt=\"Back to home page\"/></a>\n\ - <center>\n\ - <table border=\"1\" width=\"60%\">\n\ - <tr>\n\ - <td>\n\ - <h3>Sign my fucking guest book</h3>\n\ - <form action = \"guest_book.cgi\" method = \"get\">\n\ - <lable for = \"name\" maxlength=\"100\">Name</lable>\n\ - <input type = \"text\" name = \"name\"/>\n\ - <br/>\n\ - <lable for = \"url\" maxlength=\"256\">Website (Optional)\n\ - </lable>\n\ - <input type = \"text\" name = \"url\"/>\n\ - <br/><br/>\n\ - <lable for = \"message\">Write a little silly something</lable>\n\ - <br/>\n\ - <textarea type = \"text\" name = \"message\" rows = \"4\"\n\ - cols = \"40\" maxlength=\"512\"></textarea>\n\ - <br/>\n\ - <input type = \"submit\" value = \"Fucking submit\">\n\ - <b>You can't delete/edit it afterwards</b>\n\ - </form>\n\ - <p>\n\ - <b>Be nice! Dont be a fucking ass.</b>\n\ - </p>\n\ - </td>\n\ - </tr>\n\ - </table>\n\n") - - ;; Try to read the guest book json - (with-exception-handler - (lambda (error) - (display " <table border=\"1\" width=\"60%\">\n\ - <tr><td>\n\ - <p>No guest have been added ): But you can be the first!</p>\n\ - </td></tr>\n\ - </table>\n")) - (lambda () - (call-with-input-file guest-book-json-file - (lambda (fp) - (letrec ((guest-book (json->scm fp)) - (guest-loop - (lambda (index) - (display-guest (vector-ref guest-book index)) - (if (< index (- (vector-length guest-book) 1)) - (guest-loop (+ index 1)))))) - (guest-loop 0))))) - #:unwind? #t) - - (display " </center>\n\ -</body>\n\ -</html>\n")) - -(define (main args) - (display-guest-book)) - |