aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--boot.php2
-rw-r--r--include/event.php5
-rw-r--r--include/zot.php29
-rw-r--r--install/database.sql1
-rw-r--r--install/update.php8
5 files changed, 37 insertions, 8 deletions
diff --git a/boot.php b/boot.php
index fab29db51..4bf3eecd7 100644
--- a/boot.php
+++ b/boot.php
@@ -16,7 +16,7 @@ require_once('include/features.php');
define ( 'FRIENDICA_PLATFORM', 'Friendica Red');
define ( 'FRIENDICA_VERSION', trim(file_get_contents('version.inc')) . 'R');
define ( 'ZOT_REVISION', 1 );
-define ( 'DB_UPDATE_VERSION', 1019 );
+define ( 'DB_UPDATE_VERSION', 1020 );
define ( 'EOL', '<br />' . "\r\n" );
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
diff --git a/include/event.php b/include/event.php
index 88efe2517..e5a62ceec 100644
--- a/include/event.php
+++ b/include/event.php
@@ -209,10 +209,7 @@ function event_store($arr) {
$arr['edited'] = (($arr['edited']) ? $arr['edited'] : datetime_convert());
$arr['type'] = (($arr['type']) ? $arr['type'] : 'event' );
$arr['event_xchan'] = (($arr['event_xchan']) ? $arr['event_xchan'] : '');
- $arr['message_id'] = (x($arr,'message_id') ? $arr['message_id'] : item_message_id());
- $arr['private'] = ((x($arr,'private')) ? intval($arr['private']) : 0);
-
-
+
// Existing event being modified
if($arr['id']) {
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'])
diff --git a/install/database.sql b/install/database.sql
index c8b9d4867..914add2d8 100644
--- a/install/database.sql
+++ b/install/database.sql
@@ -224,7 +224,6 @@ CREATE TABLE IF NOT EXISTS `event` (
`uid` int(11) NOT NULL,
`event_xchan` char(255) NOT NULL DEFAULT '',
`event_hash` char(255) NOT NULL DEFAULT '',
- `message_id` char(255) NOT NULL,
`created` datetime NOT NULL,
`edited` datetime NOT NULL,
`start` datetime NOT NULL,
diff --git a/install/update.php b/install/update.php
index 5479f1e26..a6fecbef5 100644
--- a/install/update.php
+++ b/install/update.php
@@ -1,6 +1,6 @@
<?php
-define( 'UPDATE_VERSION' , 1019 );
+define( 'UPDATE_VERSION' , 1020 );
/**
*
@@ -279,3 +279,9 @@ ADD INDEX ( `event_hash` )");
}
+function update_r1019() {
+ $r = q"ALTER TABLE `event` DROP `message_id` ");
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}