$item['network'] = trim(($item['network'] ?? '') ?: Protocol::PHANTOM);
}
- $uid = intval($item['uid']);
-
- $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']);
+ $item = self::prepareItemData($item, (bool) $notify);
// Store conversation data
$source = $item['source'] ?? '';
$defined_permissions = isset($item['allow_cid']) && isset($item['allow_gid']) && isset($item['deny_cid']) && isset($item['deny_gid']) && isset($item['private']);
+ $uid = intval($item['uid']);
+
// Communities aren't working with the Diaspora protocol
if (($uid != 0) && ($item['network'] == Protocol::DIASPORA)) {
$user = User::getById($uid, ['account-type']);
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);