remove some duplicated code

This commit is contained in:
zotlabs 2017-06-14 20:20:18 -07:00 committed by Mario Vavti
parent 0d7e7ac657
commit bb9557a9ae

View File

@ -259,7 +259,7 @@ function get_atom_elements($feed, $item, &$author) {
if(substr($author['author_link'],-1,1) == '/') if(substr($author['author_link'],-1,1) == '/')
$author['author_link'] = substr($author['author_link'],0,-1); $author['author_link'] = substr($author['author_link'],0,-1);
$res['mid'] = unxmlify($item->get_id()); $res['mid'] = normalise_id(unxmlify($item->get_id()));
$res['title'] = unxmlify($item->get_title()); $res['title'] = unxmlify($item->get_title());
$res['body'] = unxmlify($item->get_content()); $res['body'] = unxmlify($item->get_content());
$res['plink'] = unxmlify($item->get_link(0)); $res['plink'] = unxmlify($item->get_link(0));
@ -390,7 +390,7 @@ function get_atom_elements($feed, $item, &$author) {
$rawcnv = $item->get_item_tags(NAMESPACE_OSTATUS, 'conversation'); $rawcnv = $item->get_item_tags(NAMESPACE_OSTATUS, 'conversation');
if($rawcnv) { if($rawcnv) {
$ostatus_conversation = unxmlify($rawcnv[0]['attribs']['']['ref']); $ostatus_conversation = normalise_id(unxmlify($rawcnv[0]['attribs']['']['ref']));
set_iconfig($res,'ostatus','conversation',$ostatus_conversation,true); set_iconfig($res,'ostatus','conversation',$ostatus_conversation,true);
} }
@ -938,7 +938,6 @@ function consume_feed($xml, $importer, &$contact, $pass = 0) {
foreach($items as $item) { foreach($items as $item) {
$is_reply = false; $is_reply = false;
$item_id = normalise_id($item->get_id());
logger('processing ' . $item->get_id(), LOGGER_DEBUG); logger('processing ' . $item->get_id(), LOGGER_DEBUG);
@ -955,12 +954,11 @@ function consume_feed($xml, $importer, &$contact, $pass = 0) {
// Have we seen it? If not, import it. // Have we seen it? If not, import it.
$item_id = normalise_id($item->get_id());
$author = array(); $author = array();
$datarray = get_atom_elements($feed,$item,$author); $datarray = get_atom_elements($feed,$item,$author);
if($datarray['mid']) if(! $datarray['mid'])
$datarray['mid'] = normalise_id($item->get_id()); continue;
if($contact['xchan_network'] === 'rss') { if($contact['xchan_network'] === 'rss') {
$datarray['public_policy'] = 'specific'; $datarray['public_policy'] = 'specific';
@ -987,7 +985,7 @@ function consume_feed($xml, $importer, &$contact, $pass = 0) {
$datarray['owner_xchan'] = $contact['xchan_hash']; $datarray['owner_xchan'] = $contact['xchan_hash'];
$r = q("SELECT edited FROM item WHERE mid = '%s' AND uid = %d LIMIT 1", $r = q("SELECT edited FROM item WHERE mid = '%s' AND uid = %d LIMIT 1",
dbesc($item_id), dbesc($datarray['mid']),
intval($importer['channel_id']) intval($importer['channel_id'])
); );
@ -1010,6 +1008,9 @@ function consume_feed($xml, $importer, &$contact, $pass = 0) {
$pmid = ''; $pmid = '';
$conv_id = get_iconfig($datarray,'ostatus','conversation'); $conv_id = get_iconfig($datarray,'ostatus','conversation');
// match conversations - first try ostatus:conversation
// next try thr:in_reply_to
if($conv_id) { if($conv_id) {
$c = q("select parent_mid from item left join iconfig on item.id = iconfig.iid where iconfig.cat = 'ostatus' and iconfig.k = 'conversation' and iconfig.v = '%s' and item.uid = %d order by item.id limit 1", $c = q("select parent_mid from item left join iconfig on item.id = iconfig.iid where iconfig.cat = 'ostatus' and iconfig.k = 'conversation' and iconfig.v = '%s' and item.uid = %d order by item.id limit 1",
dbesc($conv_id), dbesc($conv_id),
@ -1020,7 +1021,7 @@ function consume_feed($xml, $importer, &$contact, $pass = 0) {
$datarray['parent_mid'] = $pmid; $datarray['parent_mid'] = $pmid;
} }
} }
else { if(! $pmid) {
$x = q("select parent_mid from item where mid = '%s' and uid = %d limit 1", $x = q("select parent_mid from item where mid = '%s' and uid = %d limit 1",
dbesc($parent_mid), dbesc($parent_mid),
intval($importer['channel_id']) intval($importer['channel_id'])
@ -1056,12 +1057,11 @@ function consume_feed($xml, $importer, &$contact, $pass = 0) {
// Head post of a conversation. Have we seen it? If not, import it. // Head post of a conversation. Have we seen it? If not, import it.
$item_id = normalise_id($item->get_id());
$author = array(); $author = array();
$datarray = get_atom_elements($feed,$item,$author); $datarray = get_atom_elements($feed,$item,$author);
if($datarray['mid']) if(! $datarray['mid'])
$datarray['mid'] = normalise_id($item->get_id()); continue;
if($contact['xchan_network'] === 'rss') { if($contact['xchan_network'] === 'rss') {
$datarray['public_policy'] = 'specific'; $datarray['public_policy'] = 'specific';
@ -1116,7 +1116,7 @@ function consume_feed($xml, $importer, &$contact, $pass = 0) {
$r = q("SELECT edited FROM item WHERE mid = '%s' AND uid = %d LIMIT 1", $r = q("SELECT edited FROM item WHERE mid = '%s' AND uid = %d LIMIT 1",
dbesc($item_id), dbesc($datarray['mid']),
intval($importer['channel_id']) intval($importer['channel_id'])
); );
@ -1136,7 +1136,7 @@ function consume_feed($xml, $importer, &$contact, $pass = 0) {
continue; continue;
} }
$datarray['parent_mid'] = $item_id; $datarray['parent_mid'] = $datarray['mid'];
$datarray['uid'] = $importer['channel_id']; $datarray['uid'] = $importer['channel_id'];
$datarray['aid'] = $importer['channel_account_id']; $datarray['aid'] = $importer['channel_account_id'];