From 05eb9ceaba9f87776b61a51a49a967cc578ef58a Mon Sep 17 00:00:00 2001 From: Friendika Date: Mon, 13 Jun 2011 20:42:37 -0700 Subject: [PATCH] avoid returning events from getting posted again --- include/event.php | 5 ++--- include/items.php | 2 ++ mod/dfrn_notify.php | 1 + 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/include/event.php b/include/event.php index 208ba1e1..2cfc5240 100644 --- a/include/event.php +++ b/include/event.php @@ -193,6 +193,7 @@ function event_store($arr) { $arr['edited'] = (($arr['edited']) ? $arr['edited'] : datetime_convert()); $arr['type'] = (($arr['type']) ? $arr['type'] : 'event' ); $arr['cid'] = ((intval($arr['cid'])) ? intval($arr['cid']) : 0); + $arr['uri'] = (x($arr,'uri') ? $arr['uri'] : item_new_uri($a->get_hostname(),$arr['uid'])); if($arr['cid']) $c = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1", @@ -250,14 +251,12 @@ function event_store($arr) { } else { - $uri = item_new_uri($a->get_hostname(),local_user()); - $r = q("INSERT INTO `event` ( `uid`,`cid`,`uri`,`created`,`edited`,`start`,`finish`,`desc`,`location`,`type`, `adjust`,`nofinish`,`allow_cid`,`allow_gid`,`deny_cid`,`deny_gid`) VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', '%s', '%s', '%s' ) ", intval($arr['uid']), intval($arr['cid']), - dbesc($uri), + dbesc($arr['uri']), dbesc($arr['created']), dbesc($arr['edited']), dbesc($arr['start']), diff --git a/include/items.php b/include/items.php index 514bd1ef..dc177c46 100644 --- a/include/items.php +++ b/include/items.php @@ -1338,6 +1338,8 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $secure_fee $ev = bbtoevent($datarray['body']); if(x($ev,'desc') && x($ev,'start')) { $ev['uid'] = $importer['uid']; + $ev['uri'] = $item_id; + if(is_array($contact)) $ev['cid'] = $contact['id']; $r = q("SELECT * FROM `event` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1", diff --git a/mod/dfrn_notify.php b/mod/dfrn_notify.php index 949d9f9a..6ca3f9fc 100644 --- a/mod/dfrn_notify.php +++ b/mod/dfrn_notify.php @@ -599,6 +599,7 @@ function dfrn_notify_post(&$a) { if(x($ev,'desc') && x($ev,'start')) { $ev['cid'] = $importer['id']; $ev['uid'] = $importer['uid']; + $ev['uri'] = $item_id; $r = q("SELECT * FROM `event` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1", dbesc($item_id),