Merge branch 'dev' into 'dev'

Dev sync

See merge request kostikov/core!1
This commit is contained in:
Max Kostikov 2019-10-06 19:26:23 +02:00
commit d017e34795
3 changed files with 16 additions and 3 deletions

View File

@ -202,6 +202,11 @@ class Activity {
$ev = bbtoevent($x['content']); $ev = bbtoevent($x['content']);
if($ev) { if($ev) {
if (! $ev['timezone']) {
$ev['timezone'] = 'UTC';
}
$actor = null; $actor = null;
if(array_key_exists('author',$x) && array_key_exists('link',$x['author'])) { if(array_key_exists('author',$x) && array_key_exists('link',$x['author'])) {
$actor = $x['author']['link'][0]['href']; $actor = $x['author']['link'][0]['href'];
@ -212,14 +217,14 @@ class Activity {
'name' => $ev['summary'], 'name' => $ev['summary'],
// 'summary' => bbcode($ev['summary'], [ 'cache' => true ]), // 'summary' => bbcode($ev['summary'], [ 'cache' => true ]),
// RFC3339 Section 4.3 // RFC3339 Section 4.3
'startTime' => (($ev['adjust']) ? datetime_convert('UTC','UTC',$ev['dtstart'], ATOM_TIME) : datetime_convert('UTC','UTC',$ev['dtstart'],'Y-m-d\\TH:i:s-00:00')), 'startTime' => (($ev['adjust']) ? datetime_convert($ev['timezone'],'UTC',$ev['dtstart'], ATOM_TIME) : datetime_convert('UTC','UTC',$ev['dtstart'],'Y-m-d\\TH:i:s-00:00')),
'content' => bbcode($ev['description'], [ 'cache' => true ]), 'content' => bbcode($ev['description'], [ 'cache' => true ]),
'location' => [ 'type' => 'Place', 'content' => bbcode($ev['location'], [ 'cache' => true ]) ], 'location' => [ 'type' => 'Place', 'content' => bbcode($ev['location'], [ 'cache' => true ]) ],
'source' => [ 'content' => format_event_bbcode($ev), 'mediaType' => 'text/bbcode' ], 'source' => [ 'content' => format_event_bbcode($ev), 'mediaType' => 'text/bbcode' ],
'actor' => $actor, 'actor' => $actor,
]; ];
if(! $ev['nofinish']) { if(! $ev['nofinish']) {
$y['endTime'] = (($ev['adjust']) ? datetime_convert('UTC','UTC',$ev['dtend'], ATOM_TIME) : datetime_convert('UTC','UTC',$ev['dtend'],'Y-m-d\\TH:i:s-00:00')); $y['endTime'] = (($ev['adjust']) ? datetime_convert($ev['timezone'],'UTC',$ev['dtend'], ATOM_TIME) : datetime_convert('UTC','UTC',$ev['dtend'],'Y-m-d\\TH:i:s-00:00'));
} }
// copy attachments from the passed object - these are already formatted for ActivityStreams // copy attachments from the passed object - these are already formatted for ActivityStreams
@ -1688,11 +1693,12 @@ class Activity {
} }
if($act->obj['type'] === 'Event') { if($act->obj['type'] === 'Event') {
$s['obj'] = []; $s['obj'] = [];
$s['obj']['asld'] = $act->obj; $s['obj']['asld'] = $act->obj;
$s['obj']['type'] = ACTIVITY_OBJ_EVENT; $s['obj']['type'] = ACTIVITY_OBJ_EVENT;
$s['obj']['id'] = $act->obj['id']; $s['obj']['id'] = $act->obj['id'];
$s['obj']['title'] = $act->obj['summary']; $s['obj']['title'] = $act->obj['name'];
if(strpos($act->obj['startTime'],'Z')) if(strpos($act->obj['startTime'],'Z'))
$s['obj']['adjust'] = true; $s['obj']['adjust'] = true;

View File

@ -1346,6 +1346,7 @@ function bbcode($Text, $options = []) {
$Text = preg_replace("/\[event\-finish\](.*?)\[\/event\-finish\]/ism",'',$Text); $Text = preg_replace("/\[event\-finish\](.*?)\[\/event\-finish\]/ism",'',$Text);
$Text = preg_replace("/\[event\-id\](.*?)\[\/event\-id\]/ism",'',$Text); $Text = preg_replace("/\[event\-id\](.*?)\[\/event\-id\]/ism",'',$Text);
$Text = preg_replace("/\[event\-location\](.*?)\[\/event\-location\]/ism",'',$Text); $Text = preg_replace("/\[event\-location\](.*?)\[\/event\-location\]/ism",'',$Text);
$Text = preg_replace("/\[event\-timezone\](.*?)\[\/event\-timezone\]/ism",'',$Text);
$Text = preg_replace("/\[event\-adjust\](.*?)\[\/event\-adjust\]/ism",'',$Text); $Text = preg_replace("/\[event\-adjust\](.*?)\[\/event\-adjust\]/ism",'',$Text);
$Text = str_replace("\0",'$',$Text); $Text = str_replace("\0",'$',$Text);

View File

@ -276,6 +276,9 @@ function format_event_bbcode($ev) {
if($ev['event_hash']) if($ev['event_hash'])
$o .= '[event-id]' . $ev['event_hash'] . '[/event-id]'; $o .= '[event-id]' . $ev['event_hash'] . '[/event-id]';
if($ev['timezone'])
$o .= '[event-timezone]' . $ev['timezone'] . '[/event-timezone]';
if($ev['adjust']) if($ev['adjust'])
$o .= '[event-adjust]' . $ev['adjust'] . '[/event-adjust]'; $o .= '[event-adjust]' . $ev['adjust'] . '[/event-adjust]';
@ -324,6 +327,9 @@ function bbtoevent($s) {
if(preg_match("/\[event\-id\](.*?)\[\/event\-id\]/is",$s,$match)) if(preg_match("/\[event\-id\](.*?)\[\/event\-id\]/is",$s,$match))
$ev['event_hash'] = $match[1]; $ev['event_hash'] = $match[1];
$match = ''; $match = '';
if(preg_match("/\[event\-timezone\](.*?)\[\/event\-timezone\]/is",$s,$match))
$ev['timezone'] = $match[1];
$match = '';
if(preg_match("/\[event\-adjust\](.*?)\[\/event\-adjust\]/is",$s,$match)) if(preg_match("/\[event\-adjust\](.*?)\[\/event\-adjust\]/is",$s,$match))
$ev['adjust'] = $match[1]; $ev['adjust'] = $match[1];
if(array_key_exists('dtstart',$ev)) { if(array_key_exists('dtstart',$ev)) {