OSDN Git Service

Model::Stories: fix select() to hide non-public (preview) firehose item
authorhylom <hylom@users.sourceforge.jp>
Fri, 8 Mar 2019 10:31:47 +0000 (19:31 +0900)
committerhylom <hylom@users.sourceforge.jp>
Fri, 8 Mar 2019 10:31:47 +0000 (19:31 +0900)
src/newslash_web/lib/Newslash/Model/Stories.pm

index 34fd361..77a443e 100644 (file)
@@ -169,7 +169,7 @@ SELECT stories.*, story_text.*, users.nickname as author, firehose.public,
     LEFT JOIN story_text ON stories.stoid = story_text.stoid
     LEFT JOIN users ON stories.uid = users.uid
     LEFT JOIN firehose 
-      ON (stories.stoid = firehose.srcid AND firehose.type = "story")
+      ON (stories.stoid = firehose.srcid AND firehose.type = "story" AND firehose.public = "yes")
     LEFT JOIN discussions ON firehose.discussion = discussions.id
     $where_clause
     $orderby_clause
@@ -196,7 +196,8 @@ EOSQL
     $sql = <<"EOSQL";
 SELECT tags.*, tagnames.tagname, target.stoid
   FROM (SELECT stories.stoid FROM stories 
-        LEFT JOIN firehose ON (stories.stoid = firehose.srcid AND firehose.type = "story")
+        LEFT JOIN firehose
+          ON (stories.stoid = firehose.srcid AND firehose.type = "story" AND firehose.public = "yes")
         $where_clause $orderby_clause $limit_clause) AS target
     LEFT JOIN globjs
       ON target.stoid = globjs.target_id
@@ -215,7 +216,8 @@ EOSQL
     $sql = <<"EOSQL";
 SELECT story_topics_rendered.*, story_topics_chosen.weight, topics.*
   FROM (SELECT stories.stoid FROM stories
-        LEFT JOIN firehose ON (stories.stoid = firehose.srcid AND firehose.type = "story")
+        LEFT JOIN firehose
+          ON (stories.stoid = firehose.srcid AND firehose.type = "story" AND firehose.public = "yes")
         $where_clause $orderby_clause $limit_clause) AS target
     LEFT JOIN story_topics_rendered
       ON target.stoid = story_topics_rendered.stoid
@@ -234,7 +236,8 @@ EOSQL
     $sql = <<"EOSQL";
 SELECT story_param.*
   FROM (SELECT stories.stoid FROM stories
-        LEFT JOIN firehose ON (stories.stoid = firehose.srcid AND firehose.type = "story")
+        LEFT JOIN firehose
+          ON (stories.stoid = firehose.srcid AND firehose.type = "story" AND firehose.public = "yes")
         $where_clause $orderby_clause $limit_clause) AS target
     LEFT JOIN story_param
       ON target.stoid = story_param.stoid