From a4caaefd32ca68f45f7526dde61d17e8ca3dc3af Mon Sep 17 00:00:00 2001 From: redmatrix Date: Wed, 19 Aug 2015 16:50:32 -0700 Subject: event integration improvements --- include/event.php | 11 +++++++++++ include/zot.php | 15 +++++++++++++-- 2 files changed, 24 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/event.php b/include/event.php index 1ae0d06ef..5eaeca813 100644 --- a/include/event.php +++ b/include/event.php @@ -850,6 +850,17 @@ function event_store_item($arr, $event) { $item_arr['item_origin'] = $item_origin; $item_arr['item_thread_top'] = $item_thread_top;; + $attach = array(array( + 'href' => z_root() . '/events/ical/' . urlencode($event['event_hash']), + 'length' => 0, + 'type' => 'text/calendar', + 'title' => t('event') . '-' . $event['event_hash'], + 'revision' => '' + )); + + $item_arr['attach'] = $attach; + + if(array_key_exists('term', $arr)) $item_arr['term'] = $arr['term']; diff --git a/include/zot.php b/include/zot.php index bae20b4f0..17330838b 100644 --- a/include/zot.php +++ b/include/zot.php @@ -1688,7 +1688,7 @@ function process_delivery($sender, $arr, $deliveries, $relay, $public = false, $ $result[] = array($d['hash'],'update ignored',$channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>',$arr['mid']); } else { - update_imported_item($sender,$arr,$channel['channel_id']); + update_imported_item($sender,$arr,$r[0],$channel['channel_id']); $result[] = array($d['hash'],'updated',$channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>',$arr['mid']); if(! $relay) add_source_route($item_id,$sender['hash']); @@ -1825,9 +1825,20 @@ function remove_community_tag($sender, $arr, $uid) { * @param array $item * @param int $uid (unused) */ -function update_imported_item($sender, $item, $uid) { +function update_imported_item($sender, $item, $orig, $uid) { + $x = item_store_update($item); + + // If we're updating an event that we've saved locally, we store the item info first + // because event_addtocal will parse the body to get the 'new' event details + + if($orig['resource_type'] === 'event') { + $res = event_addtocal($orig['id'],$uid); + if(! $res) + logger('update event: failed'); + } + if(! $x['item_id']) logger('update_imported_item: failed: ' . $x['message']); else -- cgit v1.2.3