use Friendica\Core\Protocol;
use Friendica\Core\Session;
use Friendica\Core\System;
-use Friendica\Core\Worker;
use Friendica\Database\DBA;
use Friendica\DI;
use Friendica\Model\Attach;
use Friendica\Model\Contact;
use Friendica\Model\Conversation;
use Friendica\Model\FileTag;
-use Friendica\Model\Group;
use Friendica\Model\Item;
use Friendica\Model\ItemURI;
use Friendica\Model\Notification;
use Friendica\Security\Security;
use Friendica\Util\DateTimeFormat;
use Friendica\Util\ParseUrl;
-use Friendica\Worker\Delivery;
function item_post(App $a) {
if (!Session::isAuthenticated()) {
$datarray['author-link'] = $author['url'];
$datarray['author-avatar'] = $author['thumb'];
$datarray['author-id'] = Contact::getIdForURL($datarray['author-link']);
- $datarray['created'] = DateTimeFormat::utcNow();
- $datarray['edited'] = DateTimeFormat::utcNow();
- $datarray['commented'] = DateTimeFormat::utcNow();
+ $datarray['created'] = empty($_REQUEST['created_at']) ? DateTimeFormat::utcNow() : $_REQUEST['created_at'];
+ $datarray['edited'] = $datarray['created'];
+ $datarray['commented'] = $datarray['created'];
+ $datarray['changed'] = $datarray['created'];
$datarray['received'] = DateTimeFormat::utcNow();
- $datarray['changed'] = DateTimeFormat::utcNow();
$datarray['extid'] = $extid;
$datarray['guid'] = $guid;
$datarray['uri'] = $uri;
$datarray["id"] = -1;
$datarray["uri-id"] = -1;
$datarray["author-network"] = Protocol::DFRN;
+ $datarray["author-updated"] = '';
+ $datarray["author-gsid"] = 0;
+ $datarray["author-uri-id"] = ItemURI::getIdByURI($datarray["author-link"]);
+ $datarray["owner-updated"] = '';
+ $datarray["has-media"] = false;
$o = DI::conversation()->create([array_merge($contact_record, $datarray)], 'search', false, true);
$datarray['uri-id'] = ItemURI::getIdByURI($datarray['uri']);
if ($orig_post) {
- // Fill the cache field
- // This could be done in Item::update as well - but we have to check for the existance of some fields.
- Item::putInCache($datarray);
-
$fields = [
'title' => $datarray['title'],
'body' => $datarray['body'],
'attach' => $datarray['attach'],
'file' => $datarray['file'],
- 'rendered-html' => $datarray['rendered-html'],
- 'rendered-hash' => $datarray['rendered-hash'],
'edited' => DateTimeFormat::utcNow(),
- 'changed' => DateTimeFormat::utcNow()];
+ 'changed' => DateTimeFormat::utcNow()
+ ];
Item::update($fields, ['id' => $post_id]);
+ Item::updateDisplayCache($datarray['uri-id']);
if ($return_path) {
DI::baseUrl()->redirect($return_path);