diff --git a/extensions/tags/src/Access/DiscussionPolicy.php b/extensions/tags/src/Access/DiscussionPolicy.php index 4d82c9102..65494b390 100755 --- a/extensions/tags/src/Access/DiscussionPolicy.php +++ b/extensions/tags/src/Access/DiscussionPolicy.php @@ -92,10 +92,10 @@ class DiscussionPolicy extends AbstractPolicy { // Hide discussions which have tags that the user is not allowed to see. $query->whereNotExists(function ($query) use ($actor) { - return $query->select(new Expression(1)) + return $query->selectRaw('1') ->from('discussions_tags') ->whereIn('tag_id', Tag::getIdsWhereCannot($actor, 'viewDiscussions')) - ->where('discussions.id', new Expression('discussion_id')); + ->whereRaw('discussions.id = discussion_id'); }); // Hide discussions with no tags if the user doesn't have that global diff --git a/extensions/tags/src/Access/FlagPolicy.php b/extensions/tags/src/Access/FlagPolicy.php index 6d9f94506..f5363f6a6 100755 --- a/extensions/tags/src/Access/FlagPolicy.php +++ b/extensions/tags/src/Access/FlagPolicy.php @@ -16,7 +16,6 @@ use Flarum\Tags\Tag; use Flarum\User\AbstractPolicy; use Flarum\User\User; use Illuminate\Database\Eloquent\Builder; -use Illuminate\Database\Query\Expression; class FlagPolicy extends AbstractPolicy { @@ -36,10 +35,10 @@ class FlagPolicy extends AbstractPolicy ->leftJoin('posts', 'posts.id', '=', 'flags.post_id') ->leftJoin('discussions', 'discussions.id', '=', 'posts.discussion_id') ->whereNotExists(function ($query) use ($actor) { - return $query->select(new Expression(1)) + return $query->selectRaw('1') ->from('discussions_tags') ->whereIn('tag_id', Tag::getIdsWhereCannot($actor, 'discussion.viewFlags')) - ->where('discussions.id', new Expression('discussion_id')); + ->whereRaw('discussions.id = discussion_id'); }); } } diff --git a/extensions/tags/src/Gambit/TagGambit.php b/extensions/tags/src/Gambit/TagGambit.php index 12bd49c17..875df8e4a 100644 --- a/extensions/tags/src/Gambit/TagGambit.php +++ b/extensions/tags/src/Gambit/TagGambit.php @@ -14,7 +14,6 @@ namespace Flarum\Tags\Gambit; use Flarum\Search\AbstractRegexGambit; use Flarum\Search\AbstractSearch; use Flarum\Tags\TagRepository; -use Illuminate\Database\Query\Expression; class TagGambit extends AbstractRegexGambit { @@ -48,17 +47,17 @@ class TagGambit extends AbstractRegexGambit foreach ($slugs as $slug) { if ($slug === 'untagged') { $query->orWhereNotExists(function ($query) { - $query->select(new Expression(1)) + $query->selectRaw('1') ->from('discussions_tags') - ->where('discussions.id', new Expression('discussion_id')); + ->whereRaw('discussions.id = discussion_id'); }); } else { $id = $this->tags->getIdForSlug($slug); $query->orWhereExists(function ($query) use ($id) { - $query->select(new Expression(1)) + $query->selectRaw('1') ->from('discussions_tags') - ->where('discussions.id', new Expression('discussion_id')) + ->whereRaw('discussions.id = discussion_id') ->where('tag_id', $id); }); } diff --git a/extensions/tags/src/Listener/FilterDiscussionListByTags.php b/extensions/tags/src/Listener/FilterDiscussionListByTags.php index f5410e21d..5efef1765 100755 --- a/extensions/tags/src/Listener/FilterDiscussionListByTags.php +++ b/extensions/tags/src/Listener/FilterDiscussionListByTags.php @@ -16,7 +16,6 @@ use Flarum\Discussion\Event\Searching; use Flarum\Tags\Gambit\TagGambit; use Flarum\Tags\Tag; use Illuminate\Contracts\Events\Dispatcher; -use Illuminate\Database\Query\Expression; class FilterDiscussionListByTags { @@ -51,10 +50,10 @@ class FilterDiscussionListByTags } $query->whereNotExists(function ($query) { - return $query->select(new Expression(1)) + return $query->selectRaw('1') ->from('discussions_tags') ->whereIn('tag_id', Tag::where('is_hidden', 1)->pluck('id')) - ->where('discussions.id', new Expression('discussion_id')); + ->whereRaw('discussions.id = discussion_id'); }); } }