diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/bbcode.php | 14 | ||||
-rw-r--r-- | include/html2bbcode.php | 100 | ||||
-rw-r--r-- | include/items.php | 1 | ||||
-rw-r--r-- | include/nav.php | 4 |
4 files changed, 71 insertions, 48 deletions
diff --git a/include/bbcode.php b/include/bbcode.php index 351510f6d..ef31f5a66 100644 --- a/include/bbcode.php +++ b/include/bbcode.php @@ -1,10 +1,13 @@ <?php + // BBcode 2 HTML was written by WAY2WEB.net - // Made to work with Mistpark/Friendika - Mike Macgirvin + // extended to work with Mistpark/Friendika - Mike Macgirvin function bbcode($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 + $Text = str_replace("<", "<", $Text); $Text = str_replace(">", ">", $Text); @@ -74,6 +77,13 @@ function bbcode($Text) { // Images // [img]pathtoimage[/img] $Text = preg_replace("/\[img\](.+?)\[\/img\]/", '<img src="$1">', $Text); + + // html5 video and audio + + $Text = preg_replace("/\[video\](.+?)\[\/video\]/", '<video src="$1" controls="controls" width="425" height="350"><a href="$1">$1</a></video>', $Text); + + $Text = preg_replace("/\[audio\](.+?)\[\/audio\]/", '<audio src="$1" controls="controls"><a href="$1">$1</a></audio>', $Text); + // [img=widthxheight]image source[/img] $Text = preg_replace("/\[img\=([0-9]*)x([0-9]*)\](.+?)\[\/img\]/", '<img src="$3" height="$2" width="$1">', $Text); @@ -82,5 +92,7 @@ function bbcode($Text) { $Text = preg_replace("/\[youtube\]http:\/\/www.youtube.com\/watch\?v\=(.+?)\[\/youtube\]/",'[youtube]$1[/youtube]',$Text); $Text = preg_replace("/\[youtube\](.+?)\[\/youtube\]/", '<object width="425" height="350" type="application/x-shockwave-flash" data="http://www.youtube.com/v/$1" ><param name="movie" value="http://www.youtube.com/v/$1"></param><!--[if IE]><embed src="http://www.youtube.com/v/$1" type="application/x-shockwave-flash" width="425" height="350" /><![endif]--></object>', $Text); + call_hooks('bbcode',$Text); + return $Text; } diff --git a/include/html2bbcode.php b/include/html2bbcode.php index a2e53a81b..688c01452 100644 --- a/include/html2bbcode.php +++ b/include/html2bbcode.php @@ -1,50 +1,62 @@ <?php +/** + * html2bbcode + */ + function html2bbcode($s) { + // Tags to Find + + $htmltags = array( + '/\n/is', + '/\<b\>(.*?)\<\/b\>/is', + '/\<i\>(.*?)\<\/i\>/is', + '/\<u\>(.*?)\<\/u\>/is', + '/\<ul\>(.*?)\<\/ul\>/is', + '/\<li\>(.*?)\<\/li\>/is', + '/\<img(.*?) src=\"(.*?)\" (.*?)\>/is', + '/\<div(.*?)\>(.*?)\<\/div\>/is', + '/\<br(.*?)\>/is', + '/\<strong\>(.*?)\<\/strong\>/is', + '/\<a href=\"(.*?)\"(.*?)\>(.*?)\<\/a\>/is', + '/\<code\>(.*?)\<\/code\>/is', + '/\<span style=\"color:(.*?)\"\>(.*?)\<\/span\>/is', + '/\<blockquote\>(.*?)\<\/blockquote\>/is', + '/\<video(.*?) src=\"(.*?)\" (.*?)\>(.*?)\<\/video\>/is', + '/\<audio(.*?) src=\"(.*?)\" (.*?)\>(.*?)\<\/audio\>/is', + + ); + + // Replace with + + $bbtags = array( + '', + '[b]$1[/b]', + '[i]$1[/i]', + '[u]$1[/u]', + '[list]$1[/list]', + '[*]$1', + '[img]$2[/img]', + '$2', + "\n", + '[b]$1[/b]', + '[url=$1]$3[/url]', + '[code]$1[/code]', + '[color="$1"]$2[/color]', + '[quote]$1[/quote]', + '[video]$1[/video]', + '[audio]$1[/audio]', + ); + + // Replace $htmltags in $text with $bbtags + $text = preg_replace ($htmltags, $bbtags, $s); + + call_hooks('html2bbcode', $text); + + // Strip all other HTML tags + $text = strip_tags($text); + return $text; +} -// Tags to Find -$htmltags = array( - '/\n/is', - '/\<b\>(.*?)\<\/b\>/is', - '/\<i\>(.*?)\<\/i\>/is', - '/\<u\>(.*?)\<\/u\>/is', - '/\<ul\>(.*?)\<\/ul\>/is', - '/\<li\>(.*?)\<\/li\>/is', - '/\<img(.*?) src=\"(.*?)\" (.*?)\>/is', - '/\<div(.*?)\>(.*?)\<\/div\>/is', - '/\<br(.*?)\>/is', - '/\<strong\>(.*?)\<\/strong\>/is', - '/\<a href=\"(.*?)\"(.*?)\>(.*?)\<\/a\>/is', - '/\<code\>(.*?)\<\/code\>/is', - '/\<span style=\"color:(.*?)\"\>(.*?)\<\/span\>/is', - '/\<blockquote\>(.*?)\<\/blockquote\>/is', - - ); - -// Replace with -$bbtags = array( - '', - '[b]$1[/b]', - '[i]$1[/i]', - '[u]$1[/u]', - '[list]$1[/list]', - '[*]$1', - '[img]$2[/img]', - '$2', - "\n", - '[b]$1[/b]', - '[url=$1]$3[/url]', - '[code]$1[/code]', - '[color="$1"]$2[/color]', - '[quote]$1[/quote]', - ); - -// Replace $htmltags in $text with $bbtags -$text = preg_replace ($htmltags, $bbtags, $s); - -// Strip all other HTML tags -$text = strip_tags($text); -return $text; -}
\ No newline at end of file diff --git a/include/items.php b/include/items.php index 22d47d44f..6f73984e2 100644 --- a/include/items.php +++ b/include/items.php @@ -157,7 +157,6 @@ function get_feed_for(&$a, $dfrn_id, $owner_id, $last_update, $direction = 0) { '$namdate' => xmlify(datetime_convert('UTC','UTC',$owner['name-date'] . '+00:00' , ATOM_TIME)) )); - call_hooks('atom_feed', $atom); if(! count($items)) { diff --git a/include/nav.php b/include/nav.php index af0c58710..74b4defc3 100644 --- a/include/nav.php +++ b/include/nav.php @@ -49,7 +49,6 @@ $a->page['nav'] .= '<a id="nav-contacts-link" class="nav-link" href="contacts">' . t('Contacts') . "</a>\r\n"; - } @@ -57,9 +56,10 @@ $banner = get_config('system','banner'); - if($banner === false) $banner .= '<a href="http://friendika.com"><img id="logo-img" src="images/ff-32.jpg" alt="logo" /></a><span id="logo-text"><a href="http://friendika.com">Friendika</a></span>'; $a->page['nav'] .= '<span id="banner">' . $banner . '</span>'; + + call_hooks('page_header', $a->page['nav']); |