diff options
| author | 2023-04-14 14:23:45 +0200 | |
|---|---|---|
| committer | 2023-04-14 14:23:45 +0200 | |
| commit | b3121709d62d9fadf890e523b9c9dba7cf702d25 (patch) | |
| tree | 17da25c780ca11a76e0e456584790937cb993203 /app/Models/EntryDAO.php | |
| parent | 61550b1d2d995896a6bf2ee854e19b6210026674 (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.php | 124 |
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()) { |
