(load "expand-string.lsp")
+(constant
+ 'USAGEFILE SITE:control.usage.dat
+ 'EXTRAFILE SITE:control.extra.dat
+ )
+
(when (= (env "REQUEST_METHOD") "POST")
(load "usage-extra.lsp")
)
-(define (get-remote-user)
- (and (regex "^([^:]+):" (base64-dec (6 (env "HTTP_AUTHORIZATION"))) 0) $1))
-
(constant
- 'ADMIN (member (get-remote-user) '("ralph" "lin"))
- 'USAGE (read-expr (read-file "../usage.dat"))
- 'extra-options '(0 10 30 60)
- 'EXTRAFILE "../control-extra.dat"
+ 'USAGE (read-expr (read-file USAGEFILE))
'EXTRATM (file-info EXTRAFILE 6)
- 'TM (date-value)
'EXTRA (and (regex "([0-9]+) ([0-9]+)" (or (read-file EXTRAFILE) "") 0)
(list (int $1 0 10) (int $2 0 10)))
+ 'TM (date-value)
+ 'extra-options '(0 10 30 60)
)
(define (tm2time tm)
- (if (> tm)
- (letn ((m (/ tm 60)) (h (/ m 60))) (list h (- m (* 60 h))))
+ (if (> tm) (letn ((m (/ tm 60)) (h (/ m 60))) (list h (- m (* 60 h))))
'(0 0))
)
(when (and EXTRATM EXTRA (>= TM EXTRATM))
(setf X (tm2time (- (+ EXTRATM (time2tm EXTRA)) TM))))
+(println "Status 200 OK\nContent-Type: text/html\n\n")
(println (expand-file "tmpl/usage-form.html" ))
(exit 0)