diff options
Diffstat (limited to 'include/zot.php')
-rw-r--r-- | include/zot.php | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/include/zot.php b/include/zot.php index 55e2dbe92..f01b0f63f 100644 --- a/include/zot.php +++ b/include/zot.php @@ -885,13 +885,40 @@ function process_delivery($sender,$arr,$deliveries,$relay) { continue; } - if($arr['item_restrict'] & ITEM_DELETED) { delete_imported_item($sender,$arr,$channel['channel_id']); $result[] = array($d['hash'],'deleted'); continue; } + // for events, extract the event info and create and event linked to an item + + if((x($arr,'obj_type')) && (activity_compare($arr['obj_type'],ACTIVITY_OBJ_EVENT))) { + require_once('include/event.php'); + $ev = bbtoevent($arr['body']); + if(x($ev,'desc') && x($ev,'start')) { + $ev['event_xchan'] = $arr['author_xchan']; + $ev['uid'] = $channel['channel_id']; + $ev['account'] = $channel['channel_account_id']; + $ev['edited'] = $arr['edited']; + + // is this an edit? + + $r = q("SELECT * FROM event left join item on resource_id = event_hash WHERE resource_type = 'event' and + `uri` = '%s' AND `uid` = %d LIMIT 1", + dbesc($arr['uri']), + intval($importer['uid']) + ); + if($r) + $ev['event_hash'] = $r[0]['event_hash']; + $xyz = event_store($ev); + $result = array($d['hash'],'event processed'); + continue; + } + } + + + $r = q("select id, edited from item where uri = '%s' and uid = %d limit 1", dbesc($arr['uri']), intval($channel['channel_id']) |