diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2011-06-20 13:05:27 +0300 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2011-06-20 13:05:27 +0300 |
commit | 2bf7460851d3d03274d1b5f979b943cb00f1813e (patch) | |
tree | 70533c308dd6e2376e72753859120ea1a8d29ae0 /src/cgi-bin | |
parent | b56552e3260023593a3bf80315edf0f069eebac1 (diff) | |
download | ellinika-2bf7460851d3d03274d1b5f979b943cb00f1813e.tar.gz ellinika-2bf7460851d3d03274d1b5f979b943cb00f1813e.tar.bz2 |
Improve coupling between dict and conj.
* po/pl.po: Update
* src/cgi-bin/conj.scm4: Use cgi-program-name to generate
references to dict.
* src/cgi-bin/dict.scm4: Add a reference to conjugator (for verbs).
* src/ellinika/Makefile.am: Define SCRIP_SUFFIX
* src/ellinika/cgi.scm4 (cgi-program-name): New function.
* style.css: Update.
Diffstat (limited to 'src/cgi-bin')
-rw-r--r-- | src/cgi-bin/conj.scm4 | 9 | ||||
-rw-r--r-- | src/cgi-bin/dict.scm4 | 35 |
2 files changed, 24 insertions, 20 deletions
diff --git a/src/cgi-bin/conj.scm4 b/src/cgi-bin/conj.scm4 index 72da00e..fec7eca 100644 --- a/src/cgi-bin/conj.scm4 +++ b/src/cgi-bin/conj.scm4 @@ -245,11 +245,6 @@ ifelse(IFACE,[CGI],(cgi:init)) result) (return #f)))) -(define (dict-cgi-name) - (let* ((my-name cgi-script-name) - (slpos (string-rindex my-name #\/))) - (string-append (substring my-name 0 slpos) "/dict.SCRIPT_SUFFIX"))) - (define (show-conjugation verb) (catch #t (lambda () @@ -266,7 +261,7 @@ ifelse(IFACE,[CGI],(cgi:init)) ((and descr (not (null? descr))) (format #t "<h2 class=\"verb\"><a href=\"~A\">~A - ~A</a></h2>" (make-cgi-name - (dict-cgi-name) "ident" (dict:encode-string verb)) + (cgi-program-name "dict") "ident" (dict:encode-string verb)) verb (caar descr))) (else (format #t @@ -328,7 +323,7 @@ ifelse(IFACE,[CGI],(cgi:init)) "SELECT DISTINCT word\ FROM dict\ WHERE sound LIKE ~Q\ - AND (pos & 1048576) = 1048576 ORDER BY 1" + AND (pos & 1048576) <> 0 ORDER BY 1" (ellinika:sounds-like key)))) (cond ((null? result) diff --git a/src/cgi-bin/dict.scm4 b/src/cgi-bin/dict.scm4 index de6b8c5..77c1b3a 100644 --- a/src/cgi-bin/dict.scm4 +++ b/src/cgi-bin/dict.scm4 @@ -233,14 +233,16 @@ ifelse(IFACE,[CGI],(cgi:init)) ;; (define (display-results rlist) - (let ((x (car rlist))) - (display "<table class=\"noframe\">") - (display "<tr><td>") - (display (car x)) + (let* ((x (car rlist)) + (word (car x)) + (isverb (> (string->number (list-ref x 6)) 0))) + (display "<table class=\"dict-result\">") + (display "<tr><td class=\"dict-word\">") + (display word) (display "</td>") (cond ((list-ref x 3) - (display "<td>") + (display "<td class=\"dict-word-forms\">") (let ((href (assoc (list-ref x 2) word-forms-reference))) (cond (href @@ -259,18 +261,25 @@ ifelse(IFACE,[CGI],(cgi:init)) (else (display (list-ref x 3))))) (display "</td>"))) - (display "<td>") + (display "<td class=\"dict-pos\">") (display (list-ref x 2)) - (display "</td></tr>")) + (display "</td>") + (if isverb + (format #t "<td class=\"conj-ref\"><a href=\"~A\">~A</a></td>" + (make-cgi-name + (cgi-program-name "conj") "key" (dict:encode-string word)) + (_ "κλίση"))) + (display "</tr>")) + (display "</table>") + (newline) + (display "<ol class=\"dict-articles\">") (for-each (lambda (x) - (display "<tr><td>") - (display (1+ (string->number (list-ref x 4)))) - (display "</td><td>") + (display "<li>") (display (replace-tilde (car x) (list-ref x 5))) - (display ";</td></tr>")) + (display ";</li>")) rlist) - (display "</table>") + (display "</ol>") (newline)) (define (display-cross-reference word) @@ -435,7 +444,7 @@ ifelse(IFACE,[CGI],(cgi:init)) (let* ((key (ellinika:translate-input keyval)) (result (ellinika:sql-query "SELECT dict.word,dict.ident,pos.abbr,\ -dict.forms,articles.subindex,articles.meaning\ +dict.forms,articles.subindex,articles.meaning,(dict.pos & conv(\"100000\",16,10))\ FROM dict,articles,pos WHERE dict.word=~Q\ AND dict.ident=articles.ident\ AND articles.lang=~Q\ |