From: Art4 Date: Thu, 9 Jan 2025 21:04:12 +0000 (+0000) Subject: Move Item::prepareItemData() into ItemInserter X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=27ba28237aa20aa72219c84c3af591c11b9091e6;p=friendica.git Move Item::prepareItemData() into ItemInserter --- diff --git a/src/Model/Item.php b/src/Model/Item.php index 782c497ab2..8035d89631 100644 --- a/src/Model/Item.php +++ b/src/Model/Item.php @@ -876,7 +876,7 @@ class Item $item['network'] = trim(($item['network'] ?? '') ?: Protocol::PHANTOM); } - $item = self::prepareItemData($item, (bool) $notify); + $item = $itemInserter->prepareItemData($item, (bool) $notify); // Store conversation data $source = $item['source'] ?? ''; @@ -1364,27 +1364,6 @@ class Item return $post_user_id; } - private static function prepareItemData(array $item, bool $notify): array - { - $item['guid'] = self::guid($item, $notify); - $item['uri'] = substr(trim($item['uri'] ?? '') ?: self::newURI($item['guid']), 0, 255); - - // Store URI data - $item['uri-id'] = ItemURI::insert(['uri' => $item['uri'], 'guid' => $item['guid']]); - - // Backward compatibility: parent-uri used to be the direct parent uri. - // If it is provided without a thr-parent, it probably is the old behavior. - if (empty($item['thr-parent']) || empty($item['parent-uri'])) { - $item['thr-parent'] = trim($item['thr-parent'] ?? $item['parent-uri'] ?? $item['uri']); - $item['parent-uri'] = $item['thr-parent']; - } - - $item['thr-parent-id'] = ItemURI::getIdByURI($item['thr-parent']); - $item['parent-uri-id'] = ItemURI::getIdByURI($item['parent-uri']); - - return $item; - } - private static function validateItemData(array $item): array { $item['wall'] = intval($item['wall'] ?? 0); diff --git a/src/Model/ItemInserter.php b/src/Model/ItemInserter.php index 6db36f8ed5..a19a5be46c 100644 --- a/src/Model/ItemInserter.php +++ b/src/Model/ItemInserter.php @@ -16,18 +16,39 @@ use Friendica\Content\Item as ItemContent; */ final class ItemInserter { - private ItemContent $itemContent; + private ItemContent $itemContent; - public function __construct(ItemContent $itemContent) - { - $this->itemContent = $itemContent; - } + public function __construct(ItemContent $itemContent) + { + $this->itemContent = $itemContent; + } - public function prepareOriginPost(array $item): array + public function prepareOriginPost(array $item): array { $item = $this->itemContent->initializePost($item); $item = $this->itemContent->finalizePost($item, false); return $item; } -} \ No newline at end of file + + public function prepareItemData(array $item, bool $notify): array + { + $item['guid'] = Item::guid($item, $notify); + $item['uri'] = substr(trim($item['uri'] ?? '') ?: Item::newURI($item['guid']), 0, 255); + + // Store URI data + $item['uri-id'] = ItemURI::insert(['uri' => $item['uri'], 'guid' => $item['guid']]); + + // Backward compatibility: parent-uri used to be the direct parent uri. + // If it is provided without a thr-parent, it probably is the old behavior. + if (empty($item['thr-parent']) || empty($item['parent-uri'])) { + $item['thr-parent'] = trim($item['thr-parent'] ?? $item['parent-uri'] ?? $item['uri']); + $item['parent-uri'] = $item['thr-parent']; + } + + $item['thr-parent-id'] = ItemURI::getIdByURI($item['thr-parent']); + $item['parent-uri-id'] = ItemURI::getIdByURI($item['parent-uri']); + + return $item; + } +}