X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fitems.php;h=3261e9468385d59a4a2cd1266e3bd654b308579f;hb=11905c0bec823d7ceb657c99a1ab8d4180ccba51;hp=5c7aa52e6fa70df0822da0aa9eb873bd3f06826c;hpb=9e2b62b0823089129f0226f307de6e81076b0ce8;p=friendica.git diff --git a/include/items.php b/include/items.php index 5c7aa52e6f..3261e94683 100644 --- a/include/items.php +++ b/include/items.php @@ -2381,6 +2381,19 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0) $contact_updated = $photo_timestamp; require_once("include/Photo.php"); + $photos = import_profile_photo($photo_url,$contact['uid'],$contact['id']); + + q("UPDATE `contact` SET `avatar-date` = '%s', `photo` = '%s', `thumb` = '%s', `micro` = '%s' + WHERE `uid` = %d AND `id` = %d", + dbesc(datetime_convert()), + dbesc($photos[0]), + dbesc($photos[1]), + dbesc($photos[2]), + intval($contact['uid']), + intval($contact['id']) + ); + + /* $photo_failure = false; $have_photo = false; @@ -2433,7 +2446,7 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0) intval($contact['uid']), intval($contact['id']) ); - } + }*/ } if((is_array($contact)) && ($name_updated) && (strlen($new_name)) && ($name_updated > $contact['name-date'])) { @@ -2558,6 +2571,11 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0) if(! $item['deleted']) logger('consume_feed: deleting item ' . $item['id'] . ' uri=' . $item['uri'], LOGGER_DEBUG); + if($item['object-type'] === ACTIVITY_OBJ_EVENT) { + logger("Deleting event ".$item['event-id'], LOGGER_DEBUG); + event_delete($item['event-id']); + } + if(($item['verb'] === ACTIVITY_TAG) && ($item['object-type'] === ACTIVITY_OBJ_TAGTERM)) { $xo = parse_xml_string($item['object'],false); $xt = parse_xml_string($item['target'],false); @@ -2765,7 +2783,11 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0) $datarray['parent-uri'] = $parent_uri; $datarray['uid'] = $importer['uid']; $datarray['contact-id'] = $contact['id']; - if((activity_match($datarray['verb'],ACTIVITY_LIKE)) || (activity_match($datarray['verb'],ACTIVITY_DISLIKE))) { + if(($datarray['verb'] === ACTIVITY_LIKE) + || ($datarray['verb'] === ACTIVITY_DISLIKE) + || ($datarray['verb'] === ACTIVITY_ATTEND) + || ($datarray['verb'] === ACTIVITY_ATTENDNO) + || ($datarray['verb'] === ACTIVITY_ATTENDMAYBE)) { $datarray['type'] = 'activity'; $datarray['gravity'] = GRAVITY_LIKE; // only one like or dislike per person @@ -2845,11 +2867,12 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0) if((x($datarray,'object-type')) && ($datarray['object-type'] === ACTIVITY_OBJ_EVENT)) { $ev = bbtoevent($datarray['body']); - if(x($ev,'desc') && x($ev,'start')) { + if((x($ev,'desc') || x($ev,'summary')) && x($ev,'start')) { $ev['uid'] = $importer['uid']; $ev['uri'] = $item_id; $ev['edited'] = $datarray['edited']; $ev['private'] = $datarray['private']; + $ev['guid'] = $datarray['guid']; if(is_array($contact)) $ev['cid'] = $contact['id']; @@ -3109,6 +3132,21 @@ function local_delivery($importer,$data) { logger('local_delivery: Updating photo for ' . $importer['name']); require_once("include/Photo.php"); + + $photos = import_profile_photo($photo_url,$importer['importer_uid'],$importer['id']); + + q("UPDATE `contact` SET `avatar-date` = '%s', `photo` = '%s', `thumb` = '%s', `micro` = '%s' + WHERE `uid` = %d AND `id` = %d", + dbesc(datetime_convert()), + dbesc($photos[0]), + dbesc($photos[1]), + dbesc($photos[2]), + intval($importer['importer_uid']), + intval($importer['id']) + ); + + + /* $photo_failure = false; $have_photo = false; @@ -3161,7 +3199,7 @@ function local_delivery($importer,$data) { intval($importer['importer_uid']), intval($importer['id']) ); - } + } */ } if(($name_updated) && (strlen($new_name)) && ($name_updated > $importer['name-date'])) { @@ -3539,6 +3577,11 @@ function local_delivery($importer,$data) { logger('local_delivery: deleting item ' . $item['id'] . ' uri=' . $item['uri'], LOGGER_DEBUG); + if($item['object-type'] === ACTIVITY_OBJ_EVENT) { + logger("Deleting event ".$item['event-id'], LOGGER_DEBUG); + event_delete($item['event-id']); + } + if(($item['verb'] === ACTIVITY_TAG) && ($item['object-type'] === ACTIVITY_OBJ_TAGTERM)) { $xo = parse_xml_string($item['object'],false); $xt = parse_xml_string($item['target'],false); @@ -3752,7 +3795,11 @@ function local_delivery($importer,$data) { $datarray['owner-avatar'] = $own[0]['thumb']; $datarray['contact-id'] = $importer['id']; - if(($datarray['verb'] === ACTIVITY_LIKE) || ($datarray['verb'] === ACTIVITY_DISLIKE)) { + if(($datarray['verb'] === ACTIVITY_LIKE) + || ($datarray['verb'] === ACTIVITY_DISLIKE) + || ($datarray['verb'] === ACTIVITY_ATTEND) + || ($datarray['verb'] === ACTIVITY_ATTENDNO) + || ($datarray['verb'] === ACTIVITY_ATTENDMAYBE)) { $is_like = true; $datarray['type'] = 'activity'; $datarray['gravity'] = GRAVITY_LIKE; @@ -3941,7 +3988,11 @@ function local_delivery($importer,$data) { $datarray['parent-uri'] = $parent_uri; $datarray['uid'] = $importer['importer_uid']; $datarray['contact-id'] = $importer['id']; - if(($datarray['verb'] == ACTIVITY_LIKE) || ($datarray['verb'] == ACTIVITY_DISLIKE)) { + if(($datarray['verb'] === ACTIVITY_LIKE) + || ($datarray['verb'] === ACTIVITY_DISLIKE) + || ($datarray['verb'] === ACTIVITY_ATTEND) + || ($datarray['verb'] === ACTIVITY_ATTENDNO) + || ($datarray['verb'] === ACTIVITY_ATTENDMAYBE)) { $datarray['type'] = 'activity'; $datarray['gravity'] = GRAVITY_LIKE; // only one like or dislike per person @@ -4061,12 +4112,13 @@ function local_delivery($importer,$data) { if((x($datarray,'object-type')) && ($datarray['object-type'] === ACTIVITY_OBJ_EVENT)) { $ev = bbtoevent($datarray['body']); - if(x($ev,'desc') && x($ev,'start')) { + if((x($ev,'desc') || x($ev,'summary')) && x($ev,'start')) { $ev['cid'] = $importer['id']; $ev['uid'] = $importer['uid']; $ev['uri'] = $item_id; $ev['edited'] = $datarray['edited']; $ev['private'] = $datarray['private']; + $ev['guid'] = $datarray['guid']; $r = q("SELECT * FROM `event` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1", dbesc($item_id), @@ -4368,7 +4420,7 @@ function subscribe_to_hub($url,$importer,$contact,$hubmode = 'subscribe') { } -function atom_author($tag,$name,$uri,$h,$w,$photo) { +function atom_author($tag,$name,$uri,$h,$w,$photo,$geo) { $o = ''; if(! $tag) return $o; @@ -4386,6 +4438,10 @@ function atom_author($tag,$name,$uri,$h,$w,$photo) { $o .= "\t".'' . "\r\n"; if ($tag == "author") { + + if($geo) + $o .= ''.xmlify($geo).''."\r\n"; + $r = q("SELECT `profile`.`locality`, `profile`.`region`, `profile`.`country-name`, `profile`.`name`, `profile`.`pub_keywords`, `profile`.`about`, `profile`.`homepage`,`contact`.`nick` FROM `profile` @@ -4449,11 +4505,11 @@ function atom_entry($item,$type,$author,$owner,$comment = false,$cid = 0) { $o = "\r\n\r\n\r\n"; if(is_array($author)) - $o .= atom_author('author',$author['name'],$author['url'],80,80,$author['thumb']); + $o .= atom_author('author',$author['name'],$author['url'],80,80,$author['thumb'], $item['coord']); else - $o .= atom_author('author',(($item['author-name']) ? $item['author-name'] : $item['name']),(($item['author-link']) ? $item['author-link'] : $item['url']),80,80,(($item['author-avatar']) ? $item['author-avatar'] : $item['thumb'])); + $o .= atom_author('author',(($item['author-name']) ? $item['author-name'] : $item['name']),(($item['author-link']) ? $item['author-link'] : $item['url']),80,80,(($item['author-avatar']) ? $item['author-avatar'] : $item['thumb']), $item['coord']); if(strlen($item['owner-name'])) - $o .= atom_author('dfrn:owner',$item['owner-name'],$item['owner-link'],80,80,$item['owner-avatar']); + $o .= atom_author('dfrn:owner',$item['owner-name'],$item['owner-link'],80,80,$item['owner-avatar'], $item['coord']); if(($item['parent'] != $item['id']) || ($item['parent-uri'] !== $item['uri']) || (($item['thr-parent'] !== '') && ($item['thr-parent'] !== $item['uri']))) { $parent = q("SELECT `guid` FROM `item` WHERE `id` = %d", intval($item["parent"]));