From c094a6b8e06e9495ffa844268eeb35a22a913557 Mon Sep 17 00:00:00 2001 From: hylom Date: Wed, 3 Apr 2019 20:54:23 +0900 Subject: [PATCH] /tags/: hide preview item --- src/newslash_web/lib/Newslash/Model/Cowrapper.pm | 1 + src/newslash_web/lib/Newslash/Model/Firehose.pm | 9 +++++++-- src/newslash_web/lib/Newslash/Web/Controller/Tag.pm | 1 + 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/newslash_web/lib/Newslash/Model/Cowrapper.pm b/src/newslash_web/lib/Newslash/Model/Cowrapper.pm index 89023db9..9b39689b 100644 --- a/src/newslash_web/lib/Newslash/Model/Cowrapper.pm +++ b/src/newslash_web/lib/Newslash/Model/Cowrapper.pm @@ -519,6 +519,7 @@ sub _parse_where_clause { return ("$k < ?", $v->{lt}) if defined $v->{lt}; return ("$k >= ?", $v->{ge}) if defined $v->{ge}; return ("$k <= ?", $v->{le}) if defined $v->{le}; + return ("$k != ?", $v->{ne}) if defined $v->{ne}; } die "invalid query parameter: $k, $v"; diff --git a/src/newslash_web/lib/Newslash/Model/Firehose.pm b/src/newslash_web/lib/Newslash/Model/Firehose.pm index e91d8dc6..64672050 100644 --- a/src/newslash_web/lib/Newslash/Model/Firehose.pm +++ b/src/newslash_web/lib/Newslash/Model/Firehose.pm @@ -24,7 +24,7 @@ sub key_definition { body_length word_count srcname thumb mediatype offmainpage sprite sprite_info - preview tags.tagnameid + preview tags.tagnameid globj_types.maintable )], aliases => { firehose_id => "id", globj_id => "globjid", @@ -34,6 +34,7 @@ sub key_definition { tag_name_id => "tags.tagnameid", tagname_id => "tags.tagnameid", tagnameid => "tags.tagnameid", + maintable => "globj_types.maintable", } }; } @@ -92,13 +93,15 @@ sub select { my $dbh = $self->connect_db; my $sql = <<"EOSQL"; SELECT DISTINCT firehose.id AS firehose_id, firehose.*, firehose_text.*, topics.tid, stories.sid, - users.nickname AS author, urls.url + users.nickname AS author, urls.url, globj_types.maintable FROM firehose LEFT JOIN topics ON firehose.tid = topics.tid LEFT JOIN firehose_text ON firehose.id = firehose_text.id LEFT JOIN stories ON firehose.type = "story" AND firehose.srcid = stories.stoid LEFT JOIN urls ON firehose.type = "submission" AND firehose.url_id = urls.url_id LEFT JOIN users ON firehose.uid = users.uid + LEFT JOIN globjs ON firehose.globjid = globjs.globjid + LEFT JOIN globj_types ON globjs.gtid = globj_types.gtid $join_clause $where_clause $orderby_clause @@ -128,6 +131,8 @@ SELECT tags.*, tagnames.tagname FROM firehose LEFT JOIN topics ON firehose.tid = topics.tid LEFT JOIN firehose_text ON firehose.id = firehose_text.id + LEFT JOIN globjs ON firehose.globjid = globjs.globjid + LEFT JOIN globj_types ON globjs.gtid = globj_types.gtid $join_clause $where_clause $orderby_clause diff --git a/src/newslash_web/lib/Newslash/Web/Controller/Tag.pm b/src/newslash_web/lib/Newslash/Web/Controller/Tag.pm index dd1b538a..fda86855 100644 --- a/src/newslash_web/lib/Newslash/Web/Controller/Tag.pm +++ b/src/newslash_web/lib/Newslash/Web/Controller/Tag.pm @@ -85,6 +85,7 @@ sub list_tagged_items { order_by => {create_time => "DESC"}, limit => $limit + 1, offset => $offset, + maintable => { ne => "preview"}, hide_future => !$show_future, public_only => !$show_nonpublic, ); -- 2.11.0