diff options
Diffstat (limited to 'webstats/server.lisp')
-rw-r--r-- | webstats/server.lisp | 34 |
1 files changed, 25 insertions, 9 deletions
diff --git a/webstats/server.lisp b/webstats/server.lisp index cff23f7..0c80060 100644 --- a/webstats/server.lisp +++ b/webstats/server.lisp @@ -1,8 +1,14 @@ -(ql:quickload '(hunchentoot spinneret cl-yesql cl-yesql/sqlite)) +(ql:quickload '(hunchentoot spinneret cl-yesql cl-yesql/sqlite parenscript)) (defpackage :webstats (:use :common-lisp :hunchentoot :spinneret)) +(defpackage :webstats-js + (:use :cl :parenscript)) + +(in-package :webstats-js) +(setf *js-target-version* "1.9") + (in-package :webstats) (overlord:set-package-base "/home/titan/dev/scratch/webstats/") @@ -48,26 +54,36 @@ (referer) (user-agent)))) -(hunchentoot:define-easy-handler (visit :uri "/visit") () +(hunchentoot:define-easy-handler + (visit :uri "/visit" :default-request-type :both) + (title page referer click) (sqlite:with-open-database (db "test.db") (format nil "you are our visit ~d" (insert db - :click nil - :page (script-name*) - :referer (referer) + :click click + :page page + :referer referer :ip (remote-addr*) :user-agent (user-agent) - :title "try")) - )) + :title title)))) +(hunchentoot:define-easy-handler (stat-js :uri "/stats.js") () + (ps:ps-compile-file "stats.paren")) + (hunchentoot:define-easy-handler (link :uri "/link") () (with-html-string (:doctype) (:html - (:header (:title "hu yu ipi")) + (:header (:title "hu yu ipi") + (:script :src "/stats.js")) (:body (:p "learning " (:a :href "vars" "some explodiert") - (:a :href "visit" "count visit")))) + (:a :href "visit" "count visit")) + + (:form :action "/visit" + :method "post" + (:input :type "text" :name "title") + (:input :type "submit" :value "submit" :name "submit")))) )) |