Source of file ForumSpamPostExtension.php
Size: 1,033 Bytes - Last Modified: 2021-12-23T10:30:31+00:00
/var/www/docs.ssmods.com/process/src/code/extensions/ForumSpamPostExtension.php
1234567891011121314151617181920212223242526272829303132333435 | <?php class ForumSpamPostExtension extends DataExtension { public function augmentSQL(SQLQuery &$query) { if (Config::inst()->forClass('Post')->allow_reading_spam) { return; } $member = Member::currentUser(); $forum = $this->owner->Forum(); // Do Status filtering if ($member && is_numeric($forum->ID) && $member->ID == $forum->Moderator()->ID) { $filter = "\"Post\".\"Status\" IN ('Moderated', 'Awaiting')"; } else { $filter = "\"Post\".\"Status\" = 'Moderated'"; } $query->addWhere($filter); // Exclude Ghost member posts, but show Ghost members their own posts $authorStatusFilter = '"AuthorID" IN (SELECT "ID" FROM "Member" WHERE "ForumStatus" = \'Normal\')'; if ($member && $member->ForumStatus == 'Ghost') { $authorStatusFilter .= ' OR "AuthorID" = ' . $member->ID; } $query->addWhere($authorStatusFilter); $query->setDistinct(false); } } |