Просмотр исходного кода

Fix array_chunk key index bug (#3631)

* Fix array_chunk key index bug
#fix https://github.com/FreshRSS/FreshRSS/issues/3630
We still want array entries indexed sequentially from zero https://php.net/function.array-chunk

* One missing
Alexandre Alapetite 4 лет назад
Родитель
Сommit
8d8b792007
2 измененных файлов с 6 добавлено и 6 удалено
  1. 5 5
      app/Models/EntryDAO.php
  2. 1 1
      app/Models/TagDAO.php

+ 5 - 5
app/Models/EntryDAO.php

@@ -265,7 +265,7 @@ SQL;
 		if (count($ids) > FreshRSS_DatabaseDAO::MAX_VARIABLE_NUMBER) {
 		if (count($ids) > FreshRSS_DatabaseDAO::MAX_VARIABLE_NUMBER) {
 			// Split a query with too many variables parameters
 			// Split a query with too many variables parameters
 			$affected = 0;
 			$affected = 0;
-			$idsChunks = array_chunk($ids, FreshRSS_DatabaseDAO::MAX_VARIABLE_NUMBER, true);
+			$idsChunks = array_chunk($ids, FreshRSS_DatabaseDAO::MAX_VARIABLE_NUMBER);
 			foreach ($idsChunks as $idsChunk) {
 			foreach ($idsChunks as $idsChunk) {
 				$affected += $this->markFavorite($idsChunk, $is_favorite);
 				$affected += $this->markFavorite($idsChunk, $is_favorite);
 			}
 			}
@@ -356,7 +356,7 @@ SQL;
 			} elseif (count($ids) > FreshRSS_DatabaseDAO::MAX_VARIABLE_NUMBER) {
 			} elseif (count($ids) > FreshRSS_DatabaseDAO::MAX_VARIABLE_NUMBER) {
 				// Split a query with too many variables parameters
 				// Split a query with too many variables parameters
 				$affected = 0;
 				$affected = 0;
-				$idsChunks = array_chunk($ids, FreshRSS_DatabaseDAO::MAX_VARIABLE_NUMBER, true);
+				$idsChunks = array_chunk($ids, FreshRSS_DatabaseDAO::MAX_VARIABLE_NUMBER);
 				foreach ($idsChunks as $idsChunk) {
 				foreach ($idsChunks as $idsChunk) {
 					$affected += $this->markRead($idsChunk, $is_read);
 					$affected += $this->markRead($idsChunk, $is_read);
 				}
 				}
@@ -981,7 +981,7 @@ SQL;
 			yield false;
 			yield false;
 		} elseif (count($ids) > FreshRSS_DatabaseDAO::MAX_VARIABLE_NUMBER) {
 		} elseif (count($ids) > FreshRSS_DatabaseDAO::MAX_VARIABLE_NUMBER) {
 			// Split a query with too many variables parameters
 			// Split a query with too many variables parameters
-			$idsChunks = array_chunk($ids, FreshRSS_DatabaseDAO::MAX_VARIABLE_NUMBER, true);
+			$idsChunks = array_chunk($ids, FreshRSS_DatabaseDAO::MAX_VARIABLE_NUMBER);
 			foreach ($idsChunks as $idsChunk) {
 			foreach ($idsChunks as $idsChunk) {
 				foreach ($this->listByIds($idsChunk, $order) as $entry) {
 				foreach ($this->listByIds($idsChunk, $order) as $entry) {
 					yield $entry;
 					yield $entry;
@@ -1020,7 +1020,7 @@ SQL;
 			return $result;
 			return $result;
 		} elseif (count($guids) > FreshRSS_DatabaseDAO::MAX_VARIABLE_NUMBER) {
 		} elseif (count($guids) > FreshRSS_DatabaseDAO::MAX_VARIABLE_NUMBER) {
 			// Split a query with too many variables parameters
 			// Split a query with too many variables parameters
-			$guidsChunks = array_chunk($guids, FreshRSS_DatabaseDAO::MAX_VARIABLE_NUMBER, true);
+			$guidsChunks = array_chunk($guids, FreshRSS_DatabaseDAO::MAX_VARIABLE_NUMBER);
 			foreach ($guidsChunks as $guidsChunk) {
 			foreach ($guidsChunks as $guidsChunk) {
 				$result += $this->listHashForFeedGuids($id_feed, $guidsChunk);
 				$result += $this->listHashForFeedGuids($id_feed, $guidsChunk);
 			}
 			}
@@ -1055,7 +1055,7 @@ SQL;
 		} elseif (count($guids) > FreshRSS_DatabaseDAO::MAX_VARIABLE_NUMBER) {
 		} elseif (count($guids) > FreshRSS_DatabaseDAO::MAX_VARIABLE_NUMBER) {
 			// Split a query with too many variables parameters
 			// Split a query with too many variables parameters
 			$affected = 0;
 			$affected = 0;
-			$guidsChunks = array_chunk($guids, FreshRSS_DatabaseDAO::MAX_VARIABLE_NUMBER, true);
+			$guidsChunks = array_chunk($guids, FreshRSS_DatabaseDAO::MAX_VARIABLE_NUMBER);
 			foreach ($guidsChunks as $guidsChunk) {
 			foreach ($guidsChunks as $guidsChunk) {
 				$affected += $this->updateLastSeen($id_feed, $guidsChunk, $mtime);
 				$affected += $this->updateLastSeen($id_feed, $guidsChunk, $mtime);
 			}
 			}

+ 1 - 1
app/Models/TagDAO.php

@@ -342,7 +342,7 @@ SQL;
 		if (is_array($entries) && count($entries) > 0) {
 		if (is_array($entries) && count($entries) > 0) {
 			if (count($entries) > FreshRSS_DatabaseDAO::MAX_VARIABLE_NUMBER) {
 			if (count($entries) > FreshRSS_DatabaseDAO::MAX_VARIABLE_NUMBER) {
 				// Split a query with too many variables parameters
 				// Split a query with too many variables parameters
-				$idsChunks = array_chunk($entries, FreshRSS_DatabaseDAO::MAX_VARIABLE_NUMBER, true);
+				$idsChunks = array_chunk($entries, FreshRSS_DatabaseDAO::MAX_VARIABLE_NUMBER);
 				foreach ($idsChunks as $idsChunk) {
 				foreach ($idsChunks as $idsChunk) {
 					$values += $this->getTagsForEntries($idsChunk);
 					$values += $this->getTagsForEntries($idsChunk);
 				}
 				}