aboutsummaryrefslogtreecommitdiff
path: root/app/Models/EntryDAO.php
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2023-04-14 14:23:45 +0200
committerGravatar GitHub <noreply@github.com> 2023-04-14 14:23:45 +0200
commitb3121709d62d9fadf890e523b9c9dba7cf702d25 (patch)
tree17da25c780ca11a76e0e456584790937cb993203 /app/Models/EntryDAO.php
parent61550b1d2d995896a6bf2ee854e19b6210026674 (diff)
PHPStan Level 6 FreshRSS_Search FreshRSS_Entry (#5292)
* PHPStan Level 6 FreshRSS_Search FreshRSS_Entry * Minor fix * Type fix * Apply suggestions from code review Co-authored-by: Luc SANCHEZ <4697568+ColonelMoutarde@users.noreply.github.com> * Minor types syntax Compatibility Intelephense --------- Co-authored-by: Luc SANCHEZ <4697568+ColonelMoutarde@users.noreply.github.com>
Diffstat (limited to 'app/Models/EntryDAO.php')
-rw-r--r--app/Models/EntryDAO.php124
1 files changed, 54 insertions, 70 deletions
diff --git a/app/Models/EntryDAO.php b/app/Models/EntryDAO.php
index 739e10247..6fa673f22 100644
--- a/app/Models/EntryDAO.php
+++ b/app/Models/EntryDAO.php
@@ -787,26 +787,22 @@ SQL;
// Searches are combined by OR and are not recursive
$sub_search = '';
if ($filter->getEntryIds()) {
- foreach ($filter->getEntryIds() as $entry_ids) {
- $sub_search .= 'AND ' . $alias . 'id IN (';
- foreach ($entry_ids as $entry_id) {
- $sub_search .= '?,';
- $values[] = $entry_id;
- }
- $sub_search = rtrim($sub_search, ',');
- $sub_search .= ') ';
+ $sub_search .= 'AND ' . $alias . 'id IN (';
+ foreach ($filter->getEntryIds() as $entry_id) {
+ $sub_search .= '?,';
+ $values[] = $entry_id;
}
+ $sub_search = rtrim($sub_search, ',');
+ $sub_search .= ') ';
}
if ($filter->getNotEntryIds()) {
- foreach ($filter->getNotEntryIds() as $entry_ids) {
- $sub_search .= 'AND ' . $alias . 'id NOT IN (';
- foreach ($entry_ids as $entry_id) {
- $sub_search .= '?,';
- $values[] = $entry_id;
- }
- $sub_search = rtrim($sub_search, ',');
- $sub_search .= ') ';
+ $sub_search .= 'AND ' . $alias . 'id NOT IN (';
+ foreach ($filter->getNotEntryIds() as $entry_id) {
+ $sub_search .= '?,';
+ $values[] = $entry_id;
}
+ $sub_search = rtrim($sub_search, ',');
+ $sub_search .= ') ';
}
if ($filter->getMinDate()) {
@@ -859,80 +855,68 @@ SQL;
}
if ($filter->getFeedIds()) {
- foreach ($filter->getFeedIds() as $feed_ids) {
- $sub_search .= 'AND ' . $alias . 'id_feed IN (';
- foreach ($feed_ids as $feed_id) {
- $sub_search .= '?,';
- $values[] = $feed_id;
- }
- $sub_search = rtrim($sub_search, ',');
- $sub_search .= ') ';
+ $sub_search .= 'AND ' . $alias . 'id_feed IN (';
+ foreach ($filter->getFeedIds() as $feed_id) {
+ $sub_search .= '?,';
+ $values[] = $feed_id;
}
+ $sub_search = rtrim($sub_search, ',');
+ $sub_search .= ') ';
}
if ($filter->getNotFeedIds()) {
- foreach ($filter->getNotFeedIds() as $feed_ids) {
- $sub_search .= 'AND ' . $alias . 'id_feed NOT IN (';
- foreach ($feed_ids as $feed_id) {
- $sub_search .= '?,';
- $values[] = $feed_id;
- }
- $sub_search = rtrim($sub_search, ',');
- $sub_search .= ') ';
+ $sub_search .= 'AND ' . $alias . 'id_feed NOT IN (';
+ foreach ($filter->getNotFeedIds() as $feed_id) {
+ $sub_search .= '?,';
+ $values[] = $feed_id;
}
+ $sub_search = rtrim($sub_search, ',');
+ $sub_search .= ') ';
}
if ($filter->getLabelIds()) {
- foreach ($filter->getLabelIds() as $label_ids) {
- if ($label_ids === '*') {
- $sub_search .= 'AND EXISTS (SELECT et.id_tag FROM `_entrytag` et WHERE et.id_entry = ' . $alias . 'id) ';
- } else {
- $sub_search .= 'AND ' . $alias . 'id IN (SELECT et.id_entry FROM `_entrytag` et WHERE et.id_tag IN (';
- foreach ($label_ids as $label_id) {
- $sub_search .= '?,';
- $values[] = $label_id;
- }
- $sub_search = rtrim($sub_search, ',');
- $sub_search .= ')) ';
+ if ($filter->getLabelIds() === '*') {
+ $sub_search .= 'AND EXISTS (SELECT et.id_tag FROM `_entrytag` et WHERE et.id_entry = ' . $alias . 'id) ';
+ } else {
+ $sub_search .= 'AND ' . $alias . 'id IN (SELECT et.id_entry FROM `_entrytag` et WHERE et.id_tag IN (';
+ foreach ($filter->getLabelIds() as $label_id) {
+ $sub_search .= '?,';
+ $values[] = $label_id;
}
+ $sub_search = rtrim($sub_search, ',');
+ $sub_search .= ')) ';
}
}
if ($filter->getNotLabelIds()) {
- foreach ($filter->getNotLabelIds() as $label_ids) {
- if ($label_ids === '*') {
- $sub_search .= 'AND NOT EXISTS (SELECT et.id_tag FROM `_entrytag` et WHERE et.id_entry = ' . $alias . 'id) ';
- } else {
- $sub_search .= 'AND ' . $alias . 'id NOT IN (SELECT et.id_entry FROM `_entrytag` et WHERE et.id_tag IN (';
- foreach ($label_ids as $label_id) {
- $sub_search .= '?,';
- $values[] = $label_id;
- }
- $sub_search = rtrim($sub_search, ',');
- $sub_search .= ')) ';
+ if ($filter->getNotLabelIds() === '*') {
+ $sub_search .= 'AND NOT EXISTS (SELECT et.id_tag FROM `_entrytag` et WHERE et.id_entry = ' . $alias . 'id) ';
+ } else {
+ $sub_search .= 'AND ' . $alias . 'id NOT IN (SELECT et.id_entry FROM `_entrytag` et WHERE et.id_tag IN (';
+ foreach ($filter->getNotLabelIds() as $label_id) {
+ $sub_search .= '?,';
+ $values[] = $label_id;
}
+ $sub_search = rtrim($sub_search, ',');
+ $sub_search .= ')) ';
}
}
if ($filter->getLabelNames()) {
- foreach ($filter->getLabelNames() as $label_names) {
- $sub_search .= 'AND ' . $alias . 'id IN (SELECT et.id_entry FROM `_entrytag` et, `_tag` t WHERE et.id_tag = t.id AND t.name IN (';
- foreach ($label_names as $label_name) {
- $sub_search .= '?,';
- $values[] = $label_name;
- }
- $sub_search = rtrim($sub_search, ',');
- $sub_search .= ')) ';
+ $sub_search .= 'AND ' . $alias . 'id IN (SELECT et.id_entry FROM `_entrytag` et, `_tag` t WHERE et.id_tag = t.id AND t.name IN (';
+ foreach ($filter->getLabelNames() as $label_name) {
+ $sub_search .= '?,';
+ $values[] = $label_name;
}
+ $sub_search = rtrim($sub_search, ',');
+ $sub_search .= ')) ';
}
if ($filter->getNotLabelNames()) {
- foreach ($filter->getNotLabelNames() as $label_names) {
- $sub_search .= 'AND ' . $alias . 'id NOT IN (SELECT et.id_entry FROM `_entrytag` et, `_tag` t WHERE et.id_tag = t.id AND t.name IN (';
- foreach ($label_names as $label_name) {
- $sub_search .= '?,';
- $values[] = $label_name;
- }
- $sub_search = rtrim($sub_search, ',');
- $sub_search .= ')) ';
+ $sub_search .= 'AND ' . $alias . 'id NOT IN (SELECT et.id_entry FROM `_entrytag` et, `_tag` t WHERE et.id_tag = t.id AND t.name IN (';
+ foreach ($filter->getNotLabelNames() as $label_name) {
+ $sub_search .= '?,';
+ $values[] = $label_name;
}
+ $sub_search = rtrim($sub_search, ',');
+ $sub_search .= ')) ';
}
if ($filter->getAuthor()) {