diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/bbcode.php | 9 | ||||
-rw-r--r-- | include/event.php | 16 |
2 files changed, 22 insertions, 3 deletions
diff --git a/include/bbcode.php b/include/bbcode.php index 2e201344c..66b63d395 100644 --- a/include/bbcode.php +++ b/include/bbcode.php @@ -950,14 +950,21 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true, $cache = false) // start which is always required). Allow desc with a missing summary for compatibility. if ((x($ev,'desc') || x($ev,'summary')) && x($ev,'start')) { + $sub = format_event_html($ev); + $sub = str_replace('$',"\0",$sub); + + $Text = preg_replace("/\[event\-start\](.*?)\[\/event\-start\]/ism",$sub,$Text); + $Text = preg_replace("/\[event\-summary\](.*?)\[\/event\-summary\]/ism",'',$Text); $Text = preg_replace("/\[event\-description\](.*?)\[\/event\-description\]/ism",'',$Text); - $Text = preg_replace("/\[event\-start\](.*?)\[\/event\-start\]/ism",$sub,$Text); $Text = preg_replace("/\[event\-finish\](.*?)\[\/event\-finish\]/ism",'',$Text); $Text = preg_replace("/\[event\-location\](.*?)\[\/event\-location\]/ism",'',$Text); $Text = preg_replace("/\[event\-adjust\](.*?)\[\/event\-adjust\]/ism",'',$Text); + + $Text = str_replace("\0",'$',$Text); + } // Unhide all [noparse] contained bbtags unspacefying them diff --git a/include/event.php b/include/event.php index 2796ea712..4393e6854 100644 --- a/include/event.php +++ b/include/event.php @@ -18,6 +18,7 @@ function format_event_html($ev) { if(! ((is_array($ev)) && count($ev))) return ''; + $bd_format = t('l F d, Y \@ g:i A') ; // Friday January 18, 2011 @ 8:01 AM $o = '<div class="vevent">' . "\r\n"; @@ -165,7 +166,18 @@ function bbtoevent($s) { $match = ''; if(preg_match("/\[event\-adjust\](.*?)\[\/event\-adjust\]/is",$s,$match)) $ev['adjust'] = $match[1]; - $ev['nofinish'] = (((x($ev, 'start') && $ev['start']) && (!x($ev, 'finish') || !$ev['finish'])) ? 1 : 0); + if(array_key_exists('start',$ev)) { + if(array_key_exists('finish',$ev)) { + if($ev['finish'] === $ev['start']) + $ev['nofinish'] = 1; + elseif($ev['finish']) + $ev['nofinish'] = 0; + else + $ev['nofinish'] = 1; + } + else + $ev['nofinish'] = 1; + } return $ev; } @@ -483,7 +495,7 @@ function event_import_ical($ical, $uid) { $ev['private'] = 1; $ev['allow_cid'] = '<' . $channel['channel_hash'] . '>'; -// logger('storing event: ' . print_r($ev,true), LOGGER_ALL); + logger('storing event: ' . print_r($ev,true), LOGGER_ALL); $event = event_store_event($ev); if($event) { $item_id = event_store_item($ev,$event); |