Move Item::prepareItemData() into ItemInserter
This commit is contained in:
parent
61a975bf36
commit
27ba28237a
2 changed files with 29 additions and 29 deletions
|
@ -876,7 +876,7 @@ class Item
|
||||||
$item['network'] = trim(($item['network'] ?? '') ?: Protocol::PHANTOM);
|
$item['network'] = trim(($item['network'] ?? '') ?: Protocol::PHANTOM);
|
||||||
}
|
}
|
||||||
|
|
||||||
$item = self::prepareItemData($item, (bool) $notify);
|
$item = $itemInserter->prepareItemData($item, (bool) $notify);
|
||||||
|
|
||||||
// Store conversation data
|
// Store conversation data
|
||||||
$source = $item['source'] ?? '';
|
$source = $item['source'] ?? '';
|
||||||
|
@ -1364,27 +1364,6 @@ class Item
|
||||||
return $post_user_id;
|
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
|
private static function validateItemData(array $item): array
|
||||||
{
|
{
|
||||||
$item['wall'] = intval($item['wall'] ?? 0);
|
$item['wall'] = intval($item['wall'] ?? 0);
|
||||||
|
|
|
@ -16,18 +16,39 @@ use Friendica\Content\Item as ItemContent;
|
||||||
*/
|
*/
|
||||||
final class ItemInserter
|
final class ItemInserter
|
||||||
{
|
{
|
||||||
private ItemContent $itemContent;
|
private ItemContent $itemContent;
|
||||||
|
|
||||||
public function __construct(ItemContent $itemContent)
|
public function __construct(ItemContent $itemContent)
|
||||||
{
|
{
|
||||||
$this->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->initializePost($item);
|
||||||
$item = $this->itemContent->finalizePost($item, false);
|
$item = $this->itemContent->finalizePost($item, false);
|
||||||
|
|
||||||
return $item;
|
return $item;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue