<?php
/**
- * @copyright Copyright (C) 2020, Friendica
+ * @copyright Copyright (C) 2010-2023, the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
namespace Friendica\Worker;
use Friendica\Core\Logger;
-use Friendica\Model\Item;
use Friendica\Model\Post;
-use Friendica\Model\Tag;
class DelayedPublish
{
/**
* Publish a post, used for delayed postings
*
- * @param array $item
- * @param integer $notify
- * @param array $taglist
- * @param array $attachments
+ * @param array $item
+ * @param int $notify
+ * @param array $taglist
+ * @param array $attachments
+ * @param int $preparation_mode
+ * @param string $uri
* @return void
*/
- public static function execute(array $item, int $notify = 0, array $taglist = [], array $attachments = [])
+ public static function execute(array $item, int $notify = 0, array $taglist = [], array $attachments = [], int $preparation_mode = Post\Delayed::PREPARED, string $uri = '')
{
- $id = Item::insert($item, $notify);
-
- Logger::notice('Post stored', ['id' => $id, 'uid' => $item['uid'], 'cid' => $item['contact-id']]);
-
- if (!empty($id) && (!empty($taglist) || !empty($attachments))) {
- $feeditem = Item::selectFirst(['uri-id'], ['id' => $id]);
- foreach ($taglist as $tag) {
- Tag::store($feeditem['uri-id'], Tag::HASHTAG, $tag);
- }
- foreach ($attachments as $attachment) {
- $attachment['uri-id'] = $feeditem['uri-id'];
- Post\Media::insert($attachment);
- }
- }
-
+ $id = Post\Delayed::publish($item, $notify, $taglist, $attachments, $preparation_mode, $uri);
+ Logger::notice('Post published', ['id' => $id, 'uid' => $item['uid'], 'notify' => $notify, 'unprepared' => $preparation_mode]);
}
}