diff options
Diffstat (limited to 'mod')
-rw-r--r-- | mod/dfrn_notify.php | 20 | ||||
-rw-r--r-- | mod/events.php | 130 | ||||
-rw-r--r-- | mod/pubsub.php | 8 |
3 files changed, 48 insertions, 110 deletions
diff --git a/mod/dfrn_notify.php b/mod/dfrn_notify.php index 12e7ff7ce..949d9f9ab 100644 --- a/mod/dfrn_notify.php +++ b/mod/dfrn_notify.php @@ -2,6 +2,9 @@ require_once('simplepie/simplepie.inc'); require_once('include/items.php'); +require_once('include/event.php'); + + function dfrn_notify_post(&$a) { $dfrn_id = ((x($_POST,'dfrn_id')) ? notags(trim($_POST['dfrn_id'])) : ''); @@ -591,6 +594,23 @@ function dfrn_notify_post(&$a) { $item_id = $item->get_id(); $datarray = get_atom_elements($feed,$item); + if((x($datarray,'object-type')) && ($datarray['object-type'] === ACTIVITY_OBJ_EVENT)) { + $ev = bbtoevent($datarray['body']); + if(x($ev,'desc') && x($ev,'start')) { + $ev['cid'] = $importer['id']; + $ev['uid'] = $importer['uid']; + + $r = q("SELECT * FROM `event` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1", + dbesc($item_id), + intval($importer['uid']) + ); + if(count($r)) + $ev['id'] = $r[0]['id']; + $xyz = event_store($ev); + continue; + } + } + $r = q("SELECT `uid`, `last-child`, `edited`, `body` FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1", dbesc($item_id), intval($importer['importer_uid']) diff --git a/mod/events.php b/mod/events.php index bdc4b8d87..a4809607c 100644 --- a/mod/events.php +++ b/mod/events.php @@ -67,113 +67,28 @@ function events_post(&$a) { $str_group_allow = $str_contact_deny = $str_group_deny = ''; } - if($event_id) { - $r = q("UPDATE `event` SET - `edited` = '%s', - `start` = '%s', - `finish` = '%s', - `desc` = '%s', - `location` = '%s', - `type` = '%s', - `adjust` = %d, - `nofinish` = %d, - `allow_cid` = '%s', - `allow_gid` = '%s', - `deny_cid` = '%s', - `deny_gid` = '%s' - WHERE `id` = %d AND `uid` = %d LIMIT 1", - - dbesc(datetime_convert()), - dbesc($start), - dbesc($finish), - dbesc($desc), - dbesc($location), - dbesc($type), - intval($adjust), - intval($nofinish), - dbesc($str_contact_allow), - dbesc($str_group_allow), - dbesc($str_contact_deny), - dbesc($str_group_deny), - intval($event_id), - intval($local_user()) - ); - - } - else { - $uri = item_new_uri($a->get_hostname(),local_user()); + $datarray = array(); + $datarray['start'] = $start; + $datarray['finish'] = $finish; + $datarray['desc'] = $desc; + $datarray['location'] = $location; + $datarray['type'] = $type; + $datarray['adjust'] = $adjust; + $datarray['nofinish'] = $nofinish; + $datarray['uid'] = $uid; + $datarray['cid'] = 0; + $datarray['allow_cid'] = $str_contact_allow; + $datarray['allow_gid'] = $str_group_allow; + $datarray['deny_cid'] = $str_contact_deny; + $datarray['deny_gid'] = $str_group_deny; + $datarray['id'] = $event_id; + $datarray['created'] = $created; + $datarray['edited'] = $edited; + + $item_id = event_store($datarray); + proc_run('php',"include/notifier.php","event","$item_id"); - $r = q("INSERT INTO `event` ( `uid`,`uri`,`created`,`edited`,`start`,`finish`,`desc`,`location`,`type`, - `adjust`,`nofinish`,`allow_cid`,`allow_gid`,`deny_cid`,`deny_gid`) - VALUES ( %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', '%s', '%s', '%s' ) ", - intval(local_user()), - dbesc($uri), - dbesc(datetime_convert()), - dbesc(datetime_convert()), - dbesc($start), - dbesc($finish), - dbesc($desc), - dbesc($location), - dbesc($type), - intval($adjust), - intval($nofinish), - dbesc($str_contact_allow), - dbesc($str_group_allow), - dbesc($str_contact_deny), - dbesc($str_group_deny) - - ); - - $r = q("SELECT * FROM `event` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1", - dbesc($uri), - intval(local_user()) - ); - if(count($r)) - $event = $r[0]; - - $arr = array(); - - $arr['uid'] = local_user(); - $arr['uri'] = $uri; - $arr['parent-uri'] = $uri; - $arr['type'] = 'activity'; - $arr['wall'] = 1; - $arr['contact-id'] = $a->contact['id']; - $arr['owner-name'] = $a->contact['name']; - $arr['owner-link'] = $a->contact['url']; - $arr['owner-avatar'] = $a->contact['thumb']; - $arr['author-name'] = $a->contact['name']; - $arr['author-link'] = $a->contact['url']; - $arr['author-avatar'] = $a->contact['thumb']; - $arr['title'] = ''; - $arr['allow_cid'] = $str_contact_allow; - $arr['allow_gid'] = $str_group_allow; - $arr['deny_cid'] = $str_contact_deny; - $arr['deny_gid'] = $str_group_deny; - $arr['last-child'] = 1; - $arr['visible'] = 1; - $arr['verb'] = ACTIVITY_POST; - $arr['object-type'] = ACTIVITY_OBJ_EVENT; - - $arr['body'] = format_event_bbcode($event); - - - $arr['object'] = '<object><type>' . xmlify(ACTIVITY_OBJ_EVENT) . '</type><title></title><id>' . xmlify($uri) . '</id>'; - $arr['object'] .= '<content>' . xmlify(format_event_bbcode($event)) . '</content>'; - $arr['object'] .= '</object>' . "\n"; - - $item_id = item_store($arr); - if($item_id) { - q("UPDATE `item` SET `plink` = '%s', `event-id` = %d WHERE `uid` = %d AND `id` = %d LIMIT 1", - dbesc($a->get_baseurl() . '/display/' . $owner_record['nickname'] . '/' . $item_id), - intval($event['id']), - intval(local_user()), - intval($item_id) - ); - proc_run('php',"include/notifier.php","tag","$item_id"); - } - } } @@ -245,7 +160,8 @@ function events_content(&$a) { $adjust_finish = datetime_convert('UTC', date_default_timezone_get(), $finish); - $r = q("SELECT * FROM `event` WHERE `uid` = %d + $r = q("SELECT `event`.*, `item`.`id` AS `itemid`,`item`.`plink` FROM `event` LEFT JOIN `item` ON `item`.`event-id` = `event`.`id` + WHERE `event`.`uid` = %d AND (( `adjust` = 0 AND `start` >= '%s' AND `finish` <= '%s' ) OR ( `adjust` = 1 AND `start` >= '%s' AND `finish` <= '%s' )) ", intval(local_user()), @@ -269,6 +185,8 @@ function events_content(&$a) { $o .= '<hr /><div class="event-list-date">' . $d . '</div>'; $last_date = $d; $o .= format_event_html($rr); + if($rr['plink']) + $o .= get_plink($rr) . '<br />'; } } return $o; diff --git a/mod/pubsub.php b/mod/pubsub.php index f829eb4d9..edb0a7fe1 100644 --- a/mod/pubsub.php +++ b/mod/pubsub.php @@ -91,10 +91,10 @@ function pubsub_post(&$a) { logger('pubsub: user-agent: ' . $_SERVER['HTTP_USER_AGENT'] ); logger('pubsub: data: ' . $xml, LOGGER_DATA); - if(! stristr($xml,'<?xml')) { - logger('pubsub_post: bad xml'); - hub_post_return(); - } +// if(! stristr($xml,'<?xml')) { +// logger('pubsub_post: bad xml'); +// hub_post_return(); +// } $nick = (($a->argc > 1) ? notags(trim($a->argv[1])) : ''); $contact_id = (($a->argc > 2) ? intval($a->argv[2]) : 0 ); |