aboutsummaryrefslogtreecommitdiffstats
path: root/include/bb2diaspora.php
diff options
context:
space:
mode:
Diffstat (limited to 'include/bb2diaspora.php')
-rw-r--r--include/bb2diaspora.php66
1 files changed, 55 insertions, 11 deletions
diff --git a/include/bb2diaspora.php b/include/bb2diaspora.php
index 7f7b8748d..ca0c961b3 100644
--- a/include/bb2diaspora.php
+++ b/include/bb2diaspora.php
@@ -16,7 +16,10 @@ function diaspora2bb($s) {
$s = preg_replace("/\*(.+?)\*/", '[i]$1[/i]', $s);
$s = preg_replace("/\_(.+?)\_/", '[i]$1[/i]', $s);
$s = str_replace(array('-^doublestar^-','-^doublescore-^','-^star^-','-^score^-'), array('**','__','*','_'), $s);
+ $s = preg_replace('/\!\[(.+?)\]\((.+?)\)/','[img]$2[/img]',$s);
$s = preg_replace('/\[(.+?)\]\((.+?)\)/','[url=$2]$1[/url]',$s);
+ $s = preg_replace('/\@\{(.+?)\; (.+?)\@(.+?)\}/','@[url=https://$3/u/$2]$1[/url]',$s);
+
$s = escape_tags($s);
return $s;
@@ -40,6 +43,11 @@ function bb2diaspora($Text,$preserve_nl = false) {
$Text = str_replace("<", "&lt;", $Text);
$Text = str_replace(">", "&gt;", $Text);
+ // If we find any event code, turn it into an event.
+ // After we're finished processing the bbcode we'll
+ // replace all of the event code with a reformatted version.
+
+ $ev = bbtoevent($Text);
if($preserve_nl)
$Text = str_replace(array("\n","\r"), array('',''),$Text);
@@ -54,8 +62,9 @@ function bb2diaspora($Text,$preserve_nl = false) {
// [img]pathtoimage[/img]
- $Text = preg_replace("/\[url\]([$URLSearchString]*)\[\/url\]/", '[$1]($1)', $Text);
- $Text = preg_replace("(\[url\=([$URLSearchString]*)\](.*?)\[/url\])", '[$2]($1)', $Text);
+ $Text = preg_replace("/\[url\]([$URLSearchString]*)\[\/url\]/ism", '[$1]($1)', $Text);
+ $Text = preg_replace("/\#\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", '[#$2]($1)', $Text);
+ $Text = preg_replace("/\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", '[$2]($1)', $Text);
// $Text = preg_replace("/\[img\](.*?)\[\/img\]/", t('Image/photo: ') . '$1', $Text);
// $Text = preg_replace("/\[img\](.*?)\[\/img\]/", t('image/photo'), $Text);
@@ -156,19 +165,20 @@ function bb2diaspora($Text,$preserve_nl = false) {
// oembed tag
-// $Text = oembed_bbcode2html($Text);
+ // $Text = oembed_bbcode2html($Text);
// If we found an event earlier, strip out all the event code and replace with a reformatted version.
-// if(x($ev,'desc') && x($ev,'start')) {
-// $sub = format_event_html($ev);
+ if(x($ev,'desc') && x($ev,'start')) {
- // $Text = preg_replace("/\[event\-description\](.*?)\[\/event\-description\]/is",$sub,$Text);
- //$Text = preg_replace("/\[event\-start\](.*?)\[\/event\-start\]/is",'',$Text);
-// $Text = preg_replace("/\[event\-finish\](.*?)\[\/event\-finish\]/is",'',$Text);
-// $Text = preg_replace("/\[event\-location\](.*?)\[\/event\-location\]/is",'',$Text);
-// $Text = preg_replace("/\[event\-adjust\](.*?)\[\/event\-adjust\]/is",'',$Text);
-// }
+ $sub = format_event_diaspora($ev);
+
+ $Text = preg_replace("/\[event\-description\](.*?)\[\/event\-description\]/is",$sub,$Text);
+ $Text = preg_replace("/\[event\-start\](.*?)\[\/event\-start\]/is",'',$Text);
+ $Text = preg_replace("/\[event\-finish\](.*?)\[\/event\-finish\]/is",'',$Text);
+ $Text = preg_replace("/\[event\-location\](.*?)\[\/event\-location\]/is",'',$Text);
+ $Text = preg_replace("/\[event\-adjust\](.*?)\[\/event\-adjust\]/is",'',$Text);
+ }
@@ -176,3 +186,37 @@ function bb2diaspora($Text,$preserve_nl = false) {
return $Text;
}
+
+function format_event_diaspora($ev) {
+
+ if(! ((is_array($ev)) && count($ev)))
+ return '';
+
+ $bd_format = t('l F d, Y \@ g:i A') ; // Friday January 18, 2011 @ 8 AM
+
+ $o = 'Friendika event notification:' . "\n";
+
+ $o .= '**' . bb2diaspora($ev['desc']) . '**' . "\n";
+
+ $o .= t('Starts:') . ' '
+ . (($ev['adjust']) ? day_translate(datetime_convert('UTC', 'UTC',
+ $ev['start'] , $bd_format ))
+ : day_translate(datetime_convert('UTC', 'UTC',
+ $ev['start'] , $bd_format)))
+ . "\n";
+
+ if(! $ev['nofinish'])
+ $o .= t('Finishes:') . ' '
+ . (($ev['adjust']) ? day_translate(datetime_convert('UTC', 'UTC',
+ $ev['finish'] , $bd_format ))
+ : day_translate(datetime_convert('UTC', 'UTC',
+ $ev['finish'] , $bd_format )))
+ . "\n";
+
+ if(strlen($ev['location']))
+ $o .= t('Location:') . bb2diaspora($ev['location'])
+ . "\n";
+
+ $o .= "\n";
+ return $o;
+}