From b3121709d62d9fadf890e523b9c9dba7cf702d25 Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Fri, 14 Apr 2023 14:23:45 +0200 Subject: 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> --- app/Models/EntryDAO.php | 124 +++++++++++++++++++++--------------------------- 1 file changed, 54 insertions(+), 70 deletions(-) (limited to 'app/Models/EntryDAO.php') 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()) { -- cgit v1.2.3