|
@@ 225-241 (lines=17) @@
|
| 222 |
|
$criteria->remove('query'); |
| 223 |
|
} |
| 224 |
|
|
| 225 |
|
if ($criteria->has('exclude_source') && !empty($criteria->get('exclude_source'))) { |
| 226 |
|
$articleSourcesQueryBuilder = $this->getEntityManager() |
| 227 |
|
->createQueryBuilder() |
| 228 |
|
->select('excluded_article.id') |
| 229 |
|
->from(ArticleSourceReference::class, 'excluded_asr') |
| 230 |
|
->join('excluded_asr.article', 'excluded_article') |
| 231 |
|
->join('excluded_asr.articleSource', 'excluded_articleSource'); |
| 232 |
|
|
| 233 |
|
$orX = $queryBuilder->expr()->orX(); |
| 234 |
|
foreach ((array) $criteria->get('exclude_source') as $value) { |
| 235 |
|
$orX->add($articleSourcesQueryBuilder->expr()->eq('excluded_articleSource.name', $articleSourcesQueryBuilder->expr()->literal($value))); |
| 236 |
|
} |
| 237 |
|
$articleSourcesQueryBuilder->andWhere($orX); |
| 238 |
|
$queryBuilder->andWhere($queryBuilder->expr()->notIn('a.id', $articleSourcesQueryBuilder->getQuery()->getDQL())); |
| 239 |
|
|
| 240 |
|
$criteria->remove('exclude_source'); |
| 241 |
|
} |
| 242 |
|
|
| 243 |
|
if ($criteria->has('source') && !empty($criteria->get('source'))) { |
| 244 |
|
$articleSourcesQueryBuilder = $this->getEntityManager() |
|
@@ 243-258 (lines=16) @@
|
| 240 |
|
$criteria->remove('exclude_source'); |
| 241 |
|
} |
| 242 |
|
|
| 243 |
|
if ($criteria->has('source') && !empty($criteria->get('source'))) { |
| 244 |
|
$articleSourcesQueryBuilder = $this->getEntityManager() |
| 245 |
|
->createQueryBuilder() |
| 246 |
|
->select('article.id') |
| 247 |
|
->from(ArticleSourceReference::class, 'asr') |
| 248 |
|
->join('asr.article', 'article') |
| 249 |
|
->join('asr.articleSource', 'articleSource'); |
| 250 |
|
$orX = $queryBuilder->expr()->orX(); |
| 251 |
|
foreach ((array) $criteria->get('source') as $value) { |
| 252 |
|
$orX->add($articleSourcesQueryBuilder->expr()->eq('articleSource.name', $articleSourcesQueryBuilder->expr()->literal($value))); |
| 253 |
|
} |
| 254 |
|
$articleSourcesQueryBuilder->andWhere($orX); |
| 255 |
|
$queryBuilder->andWhere($queryBuilder->expr()->in('a.id', $articleSourcesQueryBuilder->getQuery()->getDQL())); |
| 256 |
|
|
| 257 |
|
$criteria->remove('source'); |
| 258 |
|
} |
| 259 |
|
|
| 260 |
|
if ($criteria->has('author') && !empty($criteria->get('author'))) { |
| 261 |
|
$orX = $queryBuilder->expr()->orX(); |