]> git.mxchange.org Git - friendica.git/commitdiff
fix some linebreak issues
authorFriendika <info@friendika.com>
Tue, 18 Jan 2011 03:50:18 +0000 (19:50 -0800)
committerFriendika <info@friendika.com>
Tue, 18 Jan 2011 03:50:18 +0000 (19:50 -0800)
include/html2bbcode.php
include/items.php

index 7cacadd65ce04464642e80f42ce29297a6f548ac..65cbcec41f66835acca21810cfe64200d43b87dd 100644 (file)
@@ -11,6 +11,9 @@ function html2bbcode($s) {
 
        $htmltags = array(
                '/\n/is',
+               '/\<pre\>(.*?)\<\/pre\>/is',
+               '/\<p(.*?)\>/is',
+               '/\<\/p\>/is',
                '/\<b\>(.*?)\<\/b\>/is',
                '/\<i\>(.*?)\<\/i\>/is',
                '/\<u\>(.*?)\<\/u\>/is',
@@ -32,6 +35,9 @@ function html2bbcode($s) {
        // Replace with
 
        $bbtags = array(
+               '',
+               '[code]$1[/code]',
+               '',
                "\n",
                '[b]$1[/b]',
                '[i]$1[/i]',
index c076e0fbf72529cc02daeb8f632739439d70c23b..beed024a1ceaed23e8e90537c6a073b4c8d4c288 100644 (file)
@@ -381,7 +381,7 @@ function get_atom_elements($feed,$item) {
 
        // It isn't certain at this point whether our content is plaintext or html and we'd be foolish to trust 
        // the content type. Our own network only emits text normally, though it might have been converted to 
-       // html if we used a pubsubhubbub transport. But if we see even one html open tag in our text, we will
+       // html if we used a pubsubhubbub transport. But if we see even one html tag in our text, we will
        // have to assume it is all html and needs to be purified.
 
        // It doesn't matter all that much security wise - because before this content is used anywhere, we are 
@@ -390,7 +390,7 @@ function get_atom_elements($feed,$item) {
        // html.
 
 
-       if(strpos($res['body'],'<')) {
+       if((strpos($res['body'],'<')) || (strpos($res['body'],'>'))) {
 
                $res['body'] = preg_replace('#<object[^>]+>.+?' . 'http://www.youtube.com/((?:v|cp)/[A-Za-z0-9\-_=]+).+?</object>#s',
                        '[youtube]$1[/youtube]', $res['body']);
@@ -404,11 +404,12 @@ function get_atom_elements($feed,$item) {
 
                $purifier = new HTMLPurifier($config);
                $res['body'] = $purifier->purify($res['body']);
-       }
 
+               $res['body'] = html2bbcode($res['body']);
+       }
+       else
+               $res['body'] = escape_tags($res['body']);
        
-       $res['body'] = html2bbcode($res['body']);
-
 
        $allow = $item->get_item_tags(NAMESPACE_DFRN,'comment-allow');
        if($allow && $allow[0]['data'] == 1)
@@ -496,7 +497,7 @@ function get_atom_elements($feed,$item) {
                                $body = $rawobj[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['summary'][0]['data'];
                        // preserve a copy of the original body content in case we later need to parse out any microformat information, e.g. events
                        $res['object'] .= '<orig>' . xmlify($body) . '</orig>' . "\n";
-                       if(strpos($body,'<')) {
+                       if((strpos($body,'<')) || (strpos($body,'>'))) {
 
                                $body = preg_replace('#<object[^>]+>.+?' . 'http://www.youtube.com/((?:v|cp)/[A-Za-z0-9\-_=]+).+?</object>#s',
                                        '[youtube]$1[/youtube]', $body);
@@ -506,9 +507,11 @@ function get_atom_elements($feed,$item) {
 
                                $purifier = new HTMLPurifier($config);
                                $body = $purifier->purify($body);
+                               $body = html2bbcode($body);
                        }
+                       else
+                               $body = escape_tags($body);
 
-                       $body = html2bbcode($body);
                        $res['object'] .= '<content>' . $body . '</content>' . "\n";
                }
 
@@ -535,7 +538,7 @@ function get_atom_elements($feed,$item) {
                                $body = $rawobj[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['summary'][0]['data'];
                        // preserve a copy of the original body content in case we later need to parse out any microformat information, e.g. events
                        $res['object'] .= '<orig>' . xmlify($body) . '</orig>' . "\n";
-                       if(strpos($body,'<')) {
+                       if((strpos($body,'<')) || (strpos($body,'>'))) {
 
                                $body = preg_replace('#<object[^>]+>.+?' . 'http://www.youtube.com/((?:v|cp)/[A-Za-z0-9\-_=]+).+?</object>#s',
                                        '[youtube]$1[/youtube]', $body);
@@ -545,9 +548,11 @@ function get_atom_elements($feed,$item) {
 
                                $purifier = new HTMLPurifier($config);
                                $body = $purifier->purify($body);
+                               $body = html2bbcode($body);
                        }
+                       else
+                               $body = escape_tags($body);
 
-                       $body = html2bbcode($body);
                        $res['target'] .= '<content>' . $body . '</content>' . "\n";
                }