return self::GRAVITY_UNKNOWN; // Should not happen
}
- private static function prepareOriginPost(array $item): array
- {
- $item = DI::contentItem()->initializePost($item);
- $item = DI::contentItem()->finalizePost($item, false);
-
- return $item;
- }
-
/**
* Inserts item record
*
*/
public static function insert(array $item, int $notify = 0, bool $post_local = true): int
{
+ $itemInserter = new ItemInserter(DI::contentItem());
+
$orig_item = $item;
$priority = Worker::PRIORITY_HIGH;
// If it is a posting where users should get notifications, then define it as wall posting
if ($notify) {
- $item = self::prepareOriginPost($item);
+ $item = $itemInserter->prepareOriginPost($item);
if (is_int($notify) && in_array($notify, Worker::PRIORITIES)) {
$priority = $notify;
--- /dev/null
+<?php
+
+// Copyright (C) 2010-2024, the Friendica project
+// SPDX-FileCopyrightText: 2010-2024 the Friendica project
+//
+// SPDX-License-Identifier: AGPL-3.0-or-later
+
+namespace Friendica\Model;
+
+use Friendica\Content\Item as ItemContent;
+
+/**
+ * A helper class for inserting an Item Model
+ *
+ * @see Item::insert()
+ */
+final class ItemInserter
+{
+ private ItemContent $itemContent;
+
+ public function __construct(ItemContent $itemContent)
+ {
+ $this->itemContent = $itemContent;
+ }
+
+ 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