X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fitems.php;h=3832b80b318f30f51a0f8b716d87c752f65ac855;hb=26eceaacbe883b7ece20c0cfb5c724c8ba1a7d99;hp=e56b17aec2b2bf20cf63ee419b63909bffabc19c;hpb=3b9a8daeeb2994cbf8f88dd07aa8334ca6527fde;p=friendica.git diff --git a/include/items.php b/include/items.php index e56b17aec2..3832b80b31 100644 --- a/include/items.php +++ b/include/items.php @@ -12,6 +12,7 @@ require_once('include/email.php'); require_once('include/ostatus_conversation.php'); require_once('include/threads.php'); require_once('include/socgraph.php'); +require_once('mod/share.php'); function get_feed_for(&$a, $dfrn_id, $owner_nick, $last_update, $direction = 0) { @@ -838,10 +839,7 @@ function get_atom_elements($feed, $item, $contact = array()) { logger('get_atom_elements: fixing sender of repeated message.'); if (!intval(get_config('system','wall-to-wall_share'))) { - $prefix = "[share author='".str_replace("'", "'",$name). - "' profile='".$uri. - "' avatar='".$avatar. - "' link='".$orig_uri."']"; + $prefix = share_header($name, $uri, $avatar, "", "", $orig_uri); $res["body"] = $prefix.html2bbcode($message)."[/share]"; } else { @@ -1183,9 +1181,9 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa $arr['owner-avatar'] = ((x($arr,'owner-avatar')) ? notags(trim($arr['owner-avatar'])) : ''); $arr['created'] = ((x($arr,'created') !== false) ? datetime_convert('UTC','UTC',$arr['created']) : datetime_convert()); $arr['edited'] = ((x($arr,'edited') !== false) ? datetime_convert('UTC','UTC',$arr['edited']) : datetime_convert()); - $arr['commented'] = datetime_convert(); - $arr['received'] = datetime_convert(); - $arr['changed'] = datetime_convert(); + $arr['commented'] = ((x($arr,'commented') !== false) ? datetime_convert('UTC','UTC',$arr['commented']) : datetime_convert()); + $arr['received'] = ((x($arr,'received') !== false) ? datetime_convert('UTC','UTC',$arr['received']) : datetime_convert()); + $arr['changed'] = ((x($arr,'changed') !== false) ? datetime_convert('UTC','UTC',$arr['changed']) : datetime_convert()); $arr['title'] = ((x($arr,'title')) ? notags(trim($arr['title'])) : ''); $arr['location'] = ((x($arr,'location')) ? notags(trim($arr['location'])) : ''); $arr['coord'] = ((x($arr,'coord')) ? notags(trim($arr['coord'])) : ''); @@ -1210,8 +1208,8 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa $arr['attach'] = ((x($arr,'attach')) ? notags(trim($arr['attach'])) : ''); $arr['app'] = ((x($arr,'app')) ? notags(trim($arr['app'])) : ''); $arr['origin'] = ((x($arr,'origin')) ? intval($arr['origin']) : 0 ); - $arr['guid'] = ((x($arr,'guid')) ? notags(trim($arr['guid'])) : get_guid(30)); $arr['network'] = ((x($arr,'network')) ? trim($arr['network']) : ''); + $arr['guid'] = ((x($arr,'guid')) ? notags(trim($arr['guid'])) : get_guid(32, $arr['network'])); $arr['postopts'] = ((x($arr,'postopts')) ? trim($arr['postopts']) : ''); $arr['resource-id'] = ((x($arr,'resource-id')) ? trim($arr['resource-id']) : ''); $arr['event-id'] = ((x($arr,'event-id')) ? intval($arr['event-id']) : 0 ); @@ -1346,6 +1344,20 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa return 0; } + // Is this item available in the global items (with uid=0)? + if ($arr["uid"] == 0) { + $arr["global"] = true; + + q("UPDATE `item` SET `global` = 1 WHERE `guid` = '%s'", dbesc($arr["guid"])); + } else { + $isglobal = q("SELECT `global` FROM `item` WHERE `uid` = 0 AND `guid` = '%s'", dbesc($arr["guid"])); + + $arr["global"] = (count($isglobal) > 0); + } + + // Fill the cache field + put_item_in_cache($arr); + call_hooks('post_remote',$arr); if(x($arr,'cancel')) { @@ -1478,9 +1490,6 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa // in it. if (!$deleted AND !$dontcache) { - // Store the fresh generated item into the cache - put_item_in_cache($arr); - $r = q('SELECT * FROM `item` WHERE id = %d', intval($current_post)); if (count($r) == 1) { call_hooks('post_remote_end', $r[0]); @@ -1550,8 +1559,10 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa )); logger('item_store: Notification sent for contact '.$arr['contact-id'].' and post '.$current_post, LOGGER_DEBUG); } - } else + } else { update_thread($parent_id); + add_shadow_entry($arr); + } if ($notify) proc_run('php', "include/notifier.php", $notify_type, $current_post); @@ -1576,11 +1587,11 @@ function item_body_set_hashtags(&$item) { $URLSearchString = "^\[\]"; // All hashtags should point to the home server - $item["body"] = preg_replace("/#\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", - "#[url=".$a->get_baseurl()."/search?tag=$2]$2[/url]", $item["body"]); + //$item["body"] = preg_replace("/#\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", + // "#[url=".$a->get_baseurl()."/search?tag=$2]$2[/url]", $item["body"]); - $item["tag"] = preg_replace("/#\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", - "#[url=".$a->get_baseurl()."/search?tag=$2]$2[/url]", $item["tag"]); + //$item["tag"] = preg_replace("/#\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", + // "#[url=".$a->get_baseurl()."/search?tag=$2]$2[/url]", $item["tag"]); // mask hashtags inside of url, bookmarks and attachments to avoid urls in urls $item["body"] = preg_replace_callback("/\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism",