*/
if (!$preview && !empty($_REQUEST['post_id_random'])) {
if (!empty($_SESSION['post-random']) && $_SESSION['post-random'] == $_REQUEST['post_id_random']) {
- Logger::info('item post: duplicate post');
+ Logger::warning('duplicate post');
item_post_return(DI::baseUrl(), $api_source, $return_path);
} else {
$_SESSION['post-random'] = $_REQUEST['post_id_random'];
// When commenting on a public post then store the post for the current user
// This enables interaction like starring and saving into folders
if ($toplevel_item['uid'] == 0) {
- $stored = Item::storeForUserByUriId($toplevel_item['uri-id'], local_user());
+ $stored = Item::storeForUserByUriId($toplevel_item['uri-id'], local_user(), ['post-reason' => Item::PR_ACTIVITY]);
Logger::info('Public item stored for user', ['uri-id' => $toplevel_item['uri-id'], 'uid' => $uid, 'stored' => $stored]);
if ($stored) {
$toplevel_item = Post::selectFirst(Item::ITEM_FIELDLIST, ['id' => $stored]);
// Now check that valid personal details have been provided
if (!Security::canWriteToUserWall($profile_uid) && !$allow_comment) {
- Logger::notice('Permission denied.', ['local' => local_user(), 'profile_uid' => $profile_uid, 'toplevel_item_id' => $toplevel_item_id, 'network' => $toplevel_item['network']]);
+ Logger::warning('Permission denied.', ['local' => local_user(), 'profile_uid' => $profile_uid, 'toplevel_item_id' => $toplevel_item_id, 'network' => $toplevel_item['network']]);
notice(DI::l10n()->t('Permission denied.'));
if ($return_path) {
DI::baseUrl()->redirect($return_path);
// Ensure to only modify attachments that you own
$srch = '<' . intval($contact_id) . '>';
- $condition = ['allow_cid' => $srch, 'allow_gid' => '', 'deny_cid' => '', 'deny_gid' => '',
- 'id' => $attach];
+ $condition = [
+ 'allow_cid' => $srch,
+ 'allow_gid' => '',
+ 'deny_cid' => '',
+ 'deny_gid' => '',
+ 'id' => $attach,
+ ];
if (!Attach::exists($condition)) {
continue;
}
$origin = $_REQUEST['origin'];
}
- $uri = Item::newURI($api_source ? $profile_uid : $uid, $guid);
+ $uri = Item::newURI($guid);
// Fallback so that we alway have a parent uri
if (!$thr_parent_uri || !$toplevel_item_id) {
$datarray['protocol'] = Conversation::PARCEL_DIRECT;
$datarray['direction'] = Conversation::PUSH;
- $conversation = DBA::selectFirst('conversation', ['conversation-uri', 'conversation-href'], ['item-uri' => $datarray['thr-parent']]);
- if (DBA::isResult($conversation)) {
- if ($conversation['conversation-uri'] != '') {
- $datarray['conversation-uri'] = $conversation['conversation-uri'];
- }
- if ($conversation['conversation-href'] != '') {
- $datarray['conversation-href'] = $conversation['conversation-href'];
- }
- }
-
if ($orig_post) {
$datarray['edit'] = true;
} else {
$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);
}
}
- Logger::info('post_complete');
+ Logger::debug('post_complete');
if ($api_source) {
return $post_id;
$json['reload'] = $baseurl . '/' . $_REQUEST['jsreload'];
}
- Logger::info('post_json', ['json' => $json]);
+ Logger::debug('post_json', ['json' => $json]);
System::jsonExit($json);
}
item_redirect_after_action($item, $return);
} else {
- Logger::notice('Permission denied.', ['local' => local_user(), 'uid' => $item['uid'], 'cid' => $contact_id]);
+ Logger::warning('Permission denied.', ['local' => local_user(), 'uid' => $item['uid'], 'cid' => $contact_id]);
notice(DI::l10n()->t('Permission denied.'));
DI::baseUrl()->redirect('display/' . $item['guid']);
//NOTREACHED