diff options
Diffstat (limited to 'cgi-bin')
-rw-r--r-- | cgi-bin/dict.cgi.in | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/cgi-bin/dict.cgi.in b/cgi-bin/dict.cgi.in index 1b69d19..188e259 100644 --- a/cgi-bin/dict.cgi.in +++ b/cgi-bin/dict.cgi.in @@ -793,6 +793,34 @@ ;;; +(define (stat key) + (let ((stat-data #f)) + (if (not stat-data) + (set! stat-data (let ((conn (sql-connect + sql-iface sql-host sql-port sql-database + sql-username sql-password))) + (cond + (conn + (let ((x (sql-query conn + "SELECT count,updated from stat"))) + (sql-connect-close conn) + x)) + (else + '()))))) + + (if (null? stat-data) + "<>" + (case key + ((#:updated) + (list-ref (car stat-data) 1)) + ((#:count) + (list-ref (car stat-data) 0)) + (else + "<>"))))) + + +;;; + (define (dict-html) (do ((line (read-line) (read-line))) ((eof-object? line) #f) @@ -800,6 +828,15 @@ ((string=? line "@@dict@@") (main-form) (dict-search)) + ((string=? line "@@stat_updated@@") + (display (stat #:updated))) + ((string=? line "@@stat_count@@") + (display + (let ((s (stat #:count))) + (if (string=? s "<>") + s + (let ((n (string->number s))) + (string-append s " " (ngettext "λέξη" "λέξεις" n))))))) (else (display line) (newline))))) |