We now transmit event data as well
This commit is contained in:
parent
ca0e6cba02
commit
483f34c4ce
1 changed files with 63 additions and 10 deletions
|
@ -1914,18 +1914,18 @@ class Diaspora {
|
||||||
*
|
*
|
||||||
* @return string The XML
|
* @return string The XML
|
||||||
*/
|
*/
|
||||||
private function construct_new_friend_object($contact) {
|
private function construct_new_friend_object($contact) {
|
||||||
$objtype = ACTIVITY_OBJ_PERSON;
|
$objtype = ACTIVITY_OBJ_PERSON;
|
||||||
$link = '<link rel="alternate" type="text/html" href="'.$contact["url"].'" />'."\n".
|
$link = '<link rel="alternate" type="text/html" href="'.$contact["url"].'" />'."\n".
|
||||||
'<link rel="photo" type="image/jpeg" href="'.$contact["thumb"].'" />'."\n";
|
'<link rel="photo" type="image/jpeg" href="'.$contact["thumb"].'" />'."\n";
|
||||||
|
|
||||||
$xmldata = array("object" => array("type" => $objtype,
|
$xmldata = array("object" => array("type" => $objtype,
|
||||||
"title" => $contact["name"],
|
"title" => $contact["name"],
|
||||||
"id" => $contact["url"]."/".$contact["name"],
|
"id" => $contact["url"]."/".$contact["name"],
|
||||||
"link" => $link));
|
"link" => $link));
|
||||||
|
|
||||||
return xml::from_array($xmldata, $xml, true);
|
return xml::from_array($xmldata, $xml, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Processes incoming sharing notification
|
* @brief Processes incoming sharing notification
|
||||||
|
@ -2939,6 +2939,52 @@ class Diaspora {
|
||||||
return($ret);
|
return($ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Create an event array
|
||||||
|
*
|
||||||
|
* @param integer $event_id The id of the event
|
||||||
|
*
|
||||||
|
* @return array with event data
|
||||||
|
*/
|
||||||
|
private static function build_event($event_id) {
|
||||||
|
$r = q("SELECT `start`, `finish`, `summary`, `desc`, `location`, `adjust` FROM `event` WHERE `id` = %d", intval($event_id));
|
||||||
|
if (!dbm::is_result($r)) {
|
||||||
|
return array();
|
||||||
|
}
|
||||||
|
|
||||||
|
$eventdata = array();
|
||||||
|
|
||||||
|
/// @todo Timezone in start und end?
|
||||||
|
|
||||||
|
if ($r[0]['adjust']) {
|
||||||
|
$eventdata['timezone'] = 'UTC';
|
||||||
|
} else {
|
||||||
|
$eventdata['timezone'] = date_default_timezone_get();
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($r[0]['start']) {
|
||||||
|
$eventdata['start'] = datetime_convert("UTC", "UTC", $r[0]['start'], 'Y-m-d\TH:i:s\Z');
|
||||||
|
}
|
||||||
|
if ($r[0]['finish']) {
|
||||||
|
$eventdata['end'] = datetime_convert("UTC", "UTC", $r[0]['finish'], 'Y-m-d\TH:i:s\Z');
|
||||||
|
}
|
||||||
|
if ($r[0]['summary']) {
|
||||||
|
$eventdata['summary'] = html_entity_decode(bb2diaspora($r[0]['summary']));
|
||||||
|
}
|
||||||
|
if ($r[0]['desc']) {
|
||||||
|
$eventdata['description'] = html_entity_decode(bb2diaspora($r[0]['desc']));
|
||||||
|
}
|
||||||
|
if ($r[0]['location']) {
|
||||||
|
$location = array();
|
||||||
|
$location["address"] = html_entity_decode(bb2diaspora($r[0]['location']));
|
||||||
|
$location["lat"] = 0;
|
||||||
|
$location["lng"] = 0;
|
||||||
|
$eventdata['location'] = $location;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $eventdata;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Create a post (status message or reshare)
|
* @brief Create a post (status message or reshare)
|
||||||
*
|
*
|
||||||
|
@ -3012,6 +3058,13 @@ class Diaspora {
|
||||||
unset($message["location"]);
|
unset($message["location"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($item['event-id'] > 0) {
|
||||||
|
$event = self::build_event($item['event-id']);
|
||||||
|
if (count($event)) {
|
||||||
|
$message['event'] = $event;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$type = "status_message";
|
$type = "status_message";
|
||||||
}
|
}
|
||||||
return array("type" => $type, "message" => $message);
|
return array("type" => $type, "message" => $message);
|
||||||
|
|
Loading…
Reference in a new issue