diff options
author | friendica <info@friendica.com> | 2013-09-23 18:28:07 -0700 |
---|---|---|
committer | friendica <info@friendica.com> | 2013-09-23 18:28:07 -0700 |
commit | 32416a915aafe37f342d40605d9f87b3a1a503a2 (patch) | |
tree | c46a9572e6e395679d132b730d163077050e6db4 | |
parent | 15ce90e69c9c50610116ea9a0abfe86ae7e92174 (diff) | |
parent | c1234d6f5f926fe6c8b37230d8ddb87aee101985 (diff) | |
download | volse-hubzilla-32416a915aafe37f342d40605d9f87b3a1a503a2.tar.gz volse-hubzilla-32416a915aafe37f342d40605d9f87b3a1a503a2.tar.bz2 volse-hubzilla-32416a915aafe37f342d40605d9f87b3a1a503a2.zip |
Merge https://github.com/friendica/red into zpull
-rw-r--r-- | include/bbcode.php | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/include/bbcode.php b/include/bbcode.php index 997cbac2e..30bfdad56 100644 --- a/include/bbcode.php +++ b/include/bbcode.php @@ -217,6 +217,18 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) { $ev = bbtoevent($Text); + // process [observer] tags before we do anything else because we might + // be stripping away stuff that then doesn't need to be worked on anymore + $observer = $a->get_observer(); + if (strpos($Text,'[/observer]') !== false) { + if ($observer) { + $Text = preg_replace("/\[observer(\=1)?\](.*?)\[\/observer\]/ism", '$2', $Text); + $Text = preg_replace("/\[observer\=0\].*?\[\/observer\]/ism", '', $Text); + } else { + $Text = preg_replace("/\[observer(\=1)?\].*?\[\/observer\]/ism", '', $Text); + $Text = preg_replace("/\[observer\=0\](.*?)\[\/observer\]/ism", '$1', $Text); + } + } // Replace any html brackets with HTML Entities to prevent executing HTML or script // Don't use strip_tags here because it breaks [url] search by replacing & with amp @@ -246,6 +258,14 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) { // Set up the parameters for a MAIL search string $MAILSearchString = $URLSearchString; + // replace [observer.baseurl] + if ($observer) { + $obsBaseURL = $observer['xchan_url']; + $obsBaseURL = preg_replace("/\/channel\/.*$/", '', $obsBaseURL); + $Text = str_replace('[observer.baseurl]', $obsBaseURL, $Text); + } else { + $Text = str_replace('[observer.baseurl]', '', $Text); + } // Perform URL Search |