$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'] ?? '';
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);
*/
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;
+ }
+}