This commit is contained in:
friendica 2013-09-23 18:28:07 -07:00
commit 32416a915a

View File

@ -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