]> git.mxchange.org Git - friendica-addons.git/blobdiff - fbpost/fbpost.php
community home: update tgz
[friendica-addons.git] / fbpost / fbpost.php
index 9bf4a759f4a72c875ba83dbac29253bbf494e9cd..ab49c30336c3d5992c376fff76bd1ca4e162a902 100644 (file)
@@ -239,7 +239,7 @@ function fbpost_content(&$a) {
                $page_access_token = get_pconfig(local_user(),'facebook','page_access_token');
                $fb_token  = get_pconfig($a->user['uid'],'facebook','access_token');
                $url = 'https://graph.facebook.com/me/accounts';
-               $x = file_get_contents($url."?access_token=".$fb_token);
+               $x = fetch_url($url."?access_token=".$fb_token);
                $accounts = json_decode($x);
 
                $o .= t("Post to page/group:")."<select name='post_to_page'>";
@@ -257,7 +257,7 @@ function fbpost_content(&$a) {
                }
 
                $url = 'https://graph.facebook.com/me/groups';
-               $x = file_get_contents($url."?access_token=".$fb_token);
+               $x = fetch_url($url."?access_token=".$fb_token);
                $groups = json_decode($x);
 
                foreach($groups->data as $group) {
@@ -345,10 +345,35 @@ function fbpost_jot_nets(&$a,&$b) {
                $fb_defpost = get_pconfig(local_user(),'facebook','post_by_default');
                $selected = ((intval($fb_defpost) == 1) ? ' checked="checked" ' : '');
                $b .= '<div class="profile-jot-net"><input type="checkbox" name="facebook_enable"' . $selected . ' value="1" /> ' 
-                       . t('Post to Facebook') . '</div>';     
+                       . t('Post to Facebook') . '</div>';
        }
 }
 
+function fbpost_ShareAttributes($match) {
+
+        $attributes = $match[1];
+
+        $author = "";
+        preg_match("/author='(.*?)'/ism", $attributes, $matches);
+        if ($matches[1] != "")
+                $author = $matches[1];
+
+        preg_match('/author="(.*?)"/ism', $attributes, $matches);
+        if ($matches[1] != "")
+                $author = $matches[1];
+
+        $headline = '<div class="shared_header">';
+
+        $headline .= sprintf(t('%s:'), $author);
+
+        $headline .= "</div>";
+
+       //$text = "<br />".$headline."</strong><blockquote>".$match[2]."</blockquote>";
+       $text = "\n\t".$match[2].":\t";
+
+        return($text);
+}
+
 
 /**
  * @param App $a
@@ -554,18 +579,42 @@ function fbpost_post_hook(&$a,&$b) {
                                }
 
                                // Convert recycle signs
+                               $body = str_replace("\t", " ", $body);
                                // recycle 1
                                $recycle = html_entity_decode("&#x2672; ", ENT_QUOTES, 'UTF-8');
-                               $body = preg_replace( '/'.$recycle.'\[url\=(\w+.*?)\](\w+.*?)\[\/url\]/i', "\n$2:[quote]", $body)."[/quote]";
+                               $body = preg_replace( '/'.$recycle.'\[url\=(\w+.*?)\](\w+.*?)\[\/url\]/i', "\n\t$2:\t", $body);
                                // recycle 2 (Test)
                                $recycle = html_entity_decode("&#x25CC; ", ENT_QUOTES, 'UTF-8');
-                               $body = preg_replace( '/'.$recycle.'\[url\=(\w+.*?)\](\w+.*?)\[\/url\]/i', "\n$2:[quote]", $body)."[/quote]";
+                               $body = preg_replace( '/'.$recycle.'\[url\=(\w+.*?)\](\w+.*?)\[\/url\]/i', "\n\t$2:\t", $body);
+
+                               // share element
+                               $body = preg_replace_callback("/\[share(.*?)\]\s?(.*?)\s?\[\/share\]/ism","fbpost_ShareAttributes", $body);
+
+                               $bodyparts = explode("\t", $body);
+                               // Doesn't help with multiple repeats - the problem has to be solved later
+                               if (sizeof($bodyparts) == 3) {
+                                       $html = bbcode($bodyparts[2], false, false);
+                                       $test = trim(html2plain($html, 0, true));
+
+                                       if (trim($bodyparts[0]) == "")
+                                               $body = trim($bodyparts[2]);
+                                       else if (trim($test) == "")
+                                               $body = trim($bodyparts[0]);
+                                       else
+                                               $body = trim($bodyparts[0])."\n\n".trim($bodyparts[1])."[quote]".trim($bodyparts[2])."[/quote]";
+                               } else
+                                       $body = str_replace("\t", "", $body);
 
                                // At first convert the text to html
                                $html = bbcode($body, false, false);
 
                                // Then convert it to plain text
                                $msg = trim($b['title']." \n\n".html2plain($html, 0, true));
+
+                               // Removing useless spaces
+                               if (substr($msg, -2) == "«")
+                                       $msg = trim(substr($msg, 0, -2))."«";
+
                                $msg = html_entity_decode($msg,ENT_QUOTES,'UTF-8');
 
                                // Removing multiple newlines
@@ -629,13 +678,19 @@ function fbpost_post_hook(&$a,&$b) {
                                        $postvars = array('access_token' => $fb_token);
                                } else {
                                        // message, picture, link, name, caption, description, source, place, tags
+                                       if(trim($link) != "")
+                                               if (@exif_imagetype($link) != 0) {
+                                                       $image = $link;
+                                                       $link = "";
+                                               }
+
                                        $postvars = array(
                                                'access_token' => $fb_token,
                                                'message' => $msg
                                        );
-                                       if(trim($image) != "") {
+                                       if(trim($image) != "")
                                                $postvars['picture'] = $image;
-                                       }
+
                                        if(trim($link) != "") {
                                                $postvars['link'] = $link;