From 96f17e7d17ff44671d11f73b8eb5adfafd81eef4 Mon Sep 17 00:00:00 2001 From: Matthias Benkard Date: Sun, 7 Oct 2007 19:03:00 +0200 Subject: Hide spam comments. darcs-hash:857a0fd8096dff8f61c30ee9dce15abbddbe2387 --- journal-content.lisp | 24 +++++++++++++++++------- journal.lisp | 3 ++- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/journal-content.lisp b/journal-content.lisp index 92c5d6c..630599e 100644 --- a/journal-content.lisp +++ b/journal-content.lisp @@ -154,15 +154,25 @@ (defgeneric comments-about (thing &key ordered-p)) (defgeneric (setf comments-about) (new-value thing &key ordered-p)) -(defmethod comments-about ((journal-entry journal-entry) &key ordered-p) +(defmethod comments-about ((journal-entry journal-entry) &key ordered-p ham-p) #.(locally-enable-sql-reader-syntax) (prog1 (if ordered-p - (select 'journal-comment - :where [= [slot-value 'journal-comment 'entry-id] - (id-of journal-entry)] - :order-by '([date]) - :flatp t) - (%comments-about journal-entry)) + (if ham-p + (select 'journal-comment + :where [and [= [slot-value 'journal-comment 'entry-id] + (id-of journal-entry)] + [not [= [slot-value 'journal-comment 'spam-p] + "t"]]] + :order-by '([date]) + :flatp t) + (select 'journal-comment + :where [= [slot-value 'journal-comment 'entry-id] + (id-of journal-entry)] + :order-by '([date]) + :flatp t)) + (if ham-p + (remove-if #'spamp (%comments-about journal-entry)) + (%comments-about journal-entry))) #.(restore-sql-reader-syntax-state))) diff --git a/journal.lisp b/journal.lisp index 8e612e5..1d9aa43 100755 --- a/journal.lisp +++ b/journal.lisp @@ -126,7 +126,8 @@ (with-slots (id title body categories date) journal-entry (show-journal-entry-with-components id title body categories date (comments-about journal-entry - :ordered-p t) + :ordered-p t + :ham-p t) comments-p))) -- cgit v1.2.3