Skip to content

Commit

Permalink
Make sure query filter works with database prefix, too.
Browse files Browse the repository at this point in the history
  • Loading branch information
franzliedke committed Aug 29, 2015
1 parent e51465f commit b17eac4
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 4 deletions.
6 changes: 4 additions & 2 deletions src/Gambits/TagGambit.php
Expand Up @@ -3,6 +3,7 @@
use Flarum\Tags\TagRepository;
use Flarum\Core\Search\Search;
use Flarum\Core\Search\RegexGambit;
use Illuminate\Database\Query\Expression;

class TagGambit extends RegexGambit
{
Expand Down Expand Up @@ -32,15 +33,16 @@ protected function conditions(Search $search, array $matches, $negate)
$query->orWhereNotExists(function ($query) {
$query->select(app('flarum.db')->raw(1))
->from('discussions_tags')
->whereRaw('discussion_id = discussions.id');
->where('discussions.id', new Expression('discussion_id'));
});
} else {
$id = $this->tags->getIdForSlug($slug);

$query->orWhereExists(function ($query) use ($id) {
$query->select(app('flarum.db')->raw(1))
->from('discussions_tags')
->whereRaw('discussion_id = discussions.id AND tag_id = ?', [$id]);
->where('discussions.id', new Expression('discussion_id'))
->where('tag_id', $id);
});
}
}
Expand Down
3 changes: 2 additions & 1 deletion src/Listeners/AddTagGambit.php
Expand Up @@ -5,6 +5,7 @@
use Illuminate\Contracts\Events\Dispatcher;
use Flarum\Tags\Gambits\TagGambit;
use Flarum\Tags\Tag;
use Illuminate\Database\Query\Expression;

class AddTagGambit
{
Expand Down Expand Up @@ -33,7 +34,7 @@ public function hideTags(DiscussionSearchWillBePerformed $event)
return $query->select(app('flarum.db')->raw(1))
->from('discussions_tags')
->whereIn('tag_id', Tag::where('is_hidden', 1)->lists('id'))
->whereRaw('discussion_id = ' . app('flarum.db')->getQueryGrammar()->wrap('discussions.id'));
->where('discussions.id', new Expression('discussion_id'));
});
}
}
3 changes: 2 additions & 1 deletion src/Listeners/ConfigureDiscussionPermissions.php
Expand Up @@ -4,6 +4,7 @@
use Flarum\Events\ModelAllow;
use Flarum\Core\Discussions\Discussion;
use Flarum\Tags\Tag;
use Illuminate\Database\Query\Expression;

class ConfigureDiscussionPermissions
{
Expand All @@ -21,7 +22,7 @@ public function scopeDiscussionVisibility(ScopeModelVisibility $event)
return $query->select(app('flarum.db')->raw(1))
->from('discussions_tags')
->whereIn('tag_id', Tag::getNotVisibleTo($event->actor))
->whereRaw('discussion_id = ' . app('flarum.db')->getQueryGrammar()->wrap('discussions.id'));
->where('discussions.id', new Expression('discussion_id'));
});
}
}
Expand Down

0 comments on commit b17eac4

Please sign in to comment.