]> git.mxchange.org Git - friendica-addons.git/commitdiff
Merge remote branch 'upstream/master'
authorMichael Vogel <icarus@dabo.de>
Fri, 13 Jul 2012 21:47:21 +0000 (23:47 +0200)
committerMichael Vogel <icarus@dabo.de>
Fri, 13 Jul 2012 21:47:21 +0000 (23:47 +0200)
Conflicts:
libertree/libertree.php

facebook/facebook.php
libertree/libertree.php
privacy_image_cache/privacy_image_cache.php
statusnet/statusnet.php
tumblr/tumblr.php
twitter/twitter.php

index 127456af5b6de72d232a9ed69b5338ffdd2ed338..6786febbb553e876f155a7020b90999f66960fb5 100644 (file)
@@ -418,7 +418,7 @@ function fb_get_friends($uid, $fullsync = true) {
                return;
        $s = fetch_url('https://graph.facebook.com/me/friends?access_token=' . $access_token);
        if($s) {
-               logger('facebook: fb_get_friends: ' . $s, LOGGER_DATA);
+               logger('facebook: fb_gwet_friends: ' . $s, LOGGER_DATA);
                $j = json_decode($s);
                logger('facebook: fb_get_friends: json: ' . print_r($j,true), LOGGER_DATA);
                if(! $j->data)
@@ -1006,6 +1006,10 @@ function facebook_post_hook(&$a,&$b) {
                                        if(preg_match("/\[img\](.*?)\[\/img\]/is",$b['body'],$matches))
                                                $image = $matches[1];
 
+                               // When saved into the database the content is sent through htmlspecialchars
+                               // That means that we have to decode all image-urls
+                               $image = htmlspecialchars_decode($image);
+
                                // Checking for a bookmark element
                                $body = $b['body'];
                                if (strpos($body, "[bookmark") !== false) {
@@ -1089,13 +1093,13 @@ function facebook_post_hook(&$a,&$b) {
 
                                // Fallback - if message is empty
                                if(!strlen($msg))
-                                       $msg = $link;
+                                       $msg = $linkname;
 
                                if(!strlen($msg))
-                                       $msg = $image;
+                                       $msg = $link;
 
                                if(!strlen($msg))
-                                       $msg = $linkname;
+                                       $msg = $image;
 
                                // If there is nothing to post then exit
                                if(!strlen($msg))
@@ -1103,23 +1107,27 @@ function facebook_post_hook(&$a,&$b) {
 
                                logger('Facebook post: msg=' . $msg, LOGGER_DATA);
 
-                               if($likes) { 
+                               if($likes) {
                                        $postvars = array('access_token' => $fb_token);
                                }
                                else {
+                                       // message, picture, link, name, caption, description, source, place, tags
                                        $postvars = array(
-                                               'access_token' => $fb_token, 
+                                               'access_token' => $fb_token,
                                                'message' => $msg
                                        );
-                                       if(isset($image)) {
+                                       if(trim($image) != "") {
                                                $postvars['picture'] = $image;
-                                               //$postvars['type'] = "photo";
                                        }
-                                       if(isset($link)) {
+                                       if(trim($link) != "") {
                                                $postvars['link'] = $link;
-                                               //$postvars['type'] = "link";
+
+                                               // The following doesn't work - why?
+                                               if ((stristr($link,'youtube')) || (stristr($link,'youtu.be')) || (stristr($link,'vimeo'))) {
+                                                       $postvars['source'] = $link;
+                                               }
                                        }
-                                       if(isset($linkname))
+                                       if(trim($linkname) != "")
                                                $postvars['name'] = $linkname;
                                }
 
@@ -1135,7 +1143,7 @@ function facebook_post_hook(&$a,&$b) {
 
                                if($reply) {
                                        $url = 'https://graph.facebook.com/' . $reply . '/' . (($likes) ? 'likes' : 'comments');
-                               } else if (($link != "")  or ($image != "") or ($b['title'] == '') or (strlen($msg) < 500)) { 
+                               } else if (($link != "")  or ($image != "") or ($b['title'] == '') or (strlen($msg) < 500)) {
                                        $url = 'https://graph.facebook.com/me/feed';
                                        if($b['plink'])
                                                $postvars['actions'] = '{"name": "' . t('View on Friendica') . '", "link": "' .  $b['plink'] . '"}';
@@ -1780,7 +1788,7 @@ function fb_consume_stream($uid,$j,$wall = false) {
                        // oembed display a picture of the video as well 
                        if ($entry->type != "video") {
                                if(isset($entry->picture) && isset($entry->link)) {
-                                       $datarray['body'] .= "\n" . '[url=' . $entry->link . '][img]'.$entry->picture.'[/img][/url]';   
+                                       $datarray['body'] .= "\n" . '[url=' . $entry->link . '][img]'.$entry->picture.'[/img][/url]';
                                }
                                else {
                                        if(isset($entry->picture))
index 0e7e1a8191b2491ed96f257bc49841ad40ac9eb2..fcd0fa5ce5590a6daf21a445280e590bfc01d44d 100755 (executable)
@@ -193,7 +193,7 @@ function libertree_send(&$a,&$b) {
                // Adding the title
                if(strlen($title))
                        $body = "## ".html_entity_decode($title)."\n\n".$body;
-               
+
 
                $params = array(
                        'text' => $body,
index b7236d09d0bb249abd31598976412650ea77074f..b757c7834749ef5dbdb888bda58b8481ea9f97c1 100644 (file)
@@ -11,7 +11,8 @@ define("PRIVACY_IMAGE_CACHE_DEFAULT_TIME", 86400); // 1 Day
 require_once('include/security.php');
 
 function privacy_image_cache_install() {
-    register_hook('bbcode',       'addon/privacy_image_cache/privacy_image_cache.php', 'privacy_image_cache_bbcode_hook');
+    register_hook('prepare_body', 'addon/privacy_image_cache/privacy_image_cache.php', 'privacy_image_cache_prepare_body_hook');
+ //   register_hook('bbcode',       'addon/privacy_image_cache/privacy_image_cache.php', 'privacy_image_cache_bbcode_hook');
     register_hook('display_item', 'addon/privacy_image_cache/privacy_image_cache.php', 'privacy_image_cache_display_item_hook');
     register_hook('ping_xmlize',  'addon/privacy_image_cache/privacy_image_cache.php', 'privacy_image_cache_ping_xmlize_hook');
     register_hook('cron',         'addon/privacy_image_cache/privacy_image_cache.php', 'privacy_image_cache_cron');
@@ -19,6 +20,7 @@ function privacy_image_cache_install() {
 
 
 function privacy_image_cache_uninstall() {
+    unregister_hook('prepare_body', 'addon/privacy_image_cache/privacy_image_cache.php', 'privacy_image_cache_prepare_body_hook');
     unregister_hook('bbcode',       'addon/privacy_image_cache/privacy_image_cache.php', 'privacy_image_cache_bbcode_hook');
     unregister_hook('display_item', 'addon/privacy_image_cache/privacy_image_cache.php', 'privacy_image_cache_display_item_hook');
     unregister_hook('ping_xmlize',  'addon/privacy_image_cache/privacy_image_cache.php', 'privacy_image_cache_ping_xmlize_hook');
@@ -30,6 +32,8 @@ function privacy_image_cache_module() {}
 
 
 function privacy_image_cache_init() {
+       global $a;
+
        if(function_exists('header_remove')) {
                header_remove('Pragma');
                header_remove('pragma');
@@ -47,9 +51,22 @@ function privacy_image_cache_init() {
        } else {
                require_once("Photo.php");
 
+               // It shouldn't happen but it does - spaces in URL
+               $_REQUEST['url'] = str_replace(" ", "+", $_REQUEST['url']);
+
                $img_str = fetch_url($_REQUEST['url'],true);
-               if (substr($img_str, 0, 6) == "GIF89a") {
-                       $mime = "image/gif";
+
+               $tempfile = tempnam("", "cache");
+               file_put_contents($tempfile, $img_str);
+               $mime = image_type_to_mime_type(exif_imagetype($tempfile));
+               unlink($tempfile);
+
+               // If there is an error then return a blank image
+               if ((substr($a->get_curl_code(), 0, 1) == "4") or (!$img_str)) {
+                       $img_str = file_get_contents("images/blank.png");
+                       $mime = "image/png";
+               //} else if (substr($img_str, 0, 6) == "GIF89a") {
+               } else if ($mime != "image/jpeg") {
                        $image = @imagecreatefromstring($img_str);
 
                        if($image === FALSE) die();
@@ -64,7 +81,7 @@ function privacy_image_cache_init() {
                                dbesc(''),
                                intval(imagesy($image)),
                                intval(imagesx($image)),
-                               'image/gif',
+                               $mime,
                                dbesc($img_str),
                                100,
                                intval(0),
@@ -81,7 +98,6 @@ function privacy_image_cache_init() {
                }
        }
 
-
        header("Content-type: $mime");
        header("Expires: " . gmdate("D, d M Y H:i:s", time() + (3600*24)) . " GMT");
        header("Cache-Control: max-age=" . (3600*24));
@@ -111,16 +127,27 @@ function privacy_image_cache_is_local_image($url) {
  */
 function privacy_image_cache_img_cb($matches) {
        // following line changed per bug #431
-    if (privacy_image_cache_is_local_image($matches[2])) return $matches[1] . $matches[2] . $matches[3];
-    return $matches[1] . get_app()->get_baseurl() . "/privacy_image_cache/?url=" . escape_tags(addslashes(rawurlencode($matches[2]))) . $matches[3];
+       if (privacy_image_cache_is_local_image($matches[2]))
+               return $matches[1] . $matches[2] . $matches[3];
+
+       return $matches[1] . get_app()->get_baseurl() . "/privacy_image_cache/?url=" . addslashes(rawurlencode(htmlspecialchars_decode($matches[2]))) . $matches[3];
+}
+
+/**
+ * @param App $a
+ * @param string $o
+ */
+function privacy_image_cache_prepare_body_hook(&$a, &$o) {
+       $o["html"] = preg_replace_callback("/(<img [^>]*src *= *[\"'])([^\"']+)([\"'][^>]*>)/siU", "privacy_image_cache_img_cb", $o["html"]);
 }
 
 /**
  * @param App $a
  * @param string $o
+ * Function disabled because the plugin moved
  */
 function privacy_image_cache_bbcode_hook(&$a, &$o) {
-    $o = preg_replace_callback("/(<img [^>]*src *= *[\"'])([^\"']+)([\"'][^>]*>)/siU", "privacy_image_cache_img_cb", $o);
+       //$o = preg_replace_callback("/(<img [^>]*src *= *[\"'])([^\"']+)([\"'][^>]*>)/siU", "privacy_image_cache_img_cb", $o);
 }
 
 
index 99e84475276d4e5c775d15cd7d689d368be903db..b433f57b2ae9ff6c3c7467662ca98ecd1b762859 100755 (executable)
@@ -482,9 +482,14 @@ function statusnet_post_hook(&$a,&$b) {
                 }
                 // ok, all the links we want to send out are save, now strip 
                 // away the remaining bbcode
-               $msg = strip_tags(bbcode($tmp, false, false));
+               //$msg = strip_tags(bbcode($tmp, false, false));
+               $msg = bbcode($tmp, false, false);
+               $msg = str_replace(array('<br>','<br />'),"\n",$msg);
+               $msg = strip_tags($msg);
+
                // quotes not working - let's try this
                $msg = html_entity_decode($msg);
+
                if (( strlen($msg) > $max_char) && $max_char > 0) {
                        $shortlink = short_link( $b['plink'] );
                        // the new message will be shortened such that "... $shortlink"
@@ -498,10 +503,14 @@ function statusnet_post_hook(&$a,&$b) {
                         $msg = implode(' ', $e);
                        $msg .= '... ' . $shortlink;
                }
+
+               $msg = trim($msg);
+
                // and now dent it :-)
                if(strlen($msg)) {
                     $result = $dent->post('statuses/update', array('status' => $msg));
-                    logger('statusnet_post send, result: ' . print_r($result, true), LOGGER_DEBUG);
+                    logger('statusnet_post send, result: ' . print_r($result, true).
+                           "\nmessage: ".$msg, LOGGER_DEBUG."\nOriginal post: ".print_r($b));
                     if ($result->error) {
                         logger('Send to StatusNet failed: "' . $result->error . '"');
                     }
index 03a67949b3ec299f439c95166a13b0d235317f7a..eeb51348ba65e799113974b3a0f81c6926ead494 100755 (executable)
@@ -204,19 +204,18 @@ function tumblr_send(&$a,&$b) {
                        $params['embed'] = $link;
                        if ($title != '')
                                $params['caption'] = '<h1><a href="'.$link.'">'.$title.
-                                                       "</a></h1><p>".bbcode($body)."</p>";
+                                                       "</a></h1><p>".bbcode($body, false, false)."</p>";
                        else
-                               $params['caption'] = bbcode($body);
+                               $params['caption'] = bbcode($body, false, false);
                } else if (($link != '') and !$video) {
                        $params['type'] = "link";
                        $params['name'] = $title;
                        $params['url'] = $link;
-                       //$params['description'] = bbcode($body);
-                       $params['description'] = bbcode($b["body"]);
+                       $params['description'] = bbcode($b["body"], false, false);
                } else {
                        $params['type'] = "regular";
                        $params['title'] = $title;
-                       $params['body'] = bbcode($b['body']);
+                       $params['body'] = bbcode($b['body'], false, false);
                }
 
                $x = post_url($tmbl_blog,$params);
index 9984f3695885774547ef31850e097887e6cc4e8c..04c1c87df4e147526075f19ba39693780e76b4e2 100755 (executable)
@@ -347,7 +347,11 @@ function twitter_post_hook(&$a,&$b) {
                 }
                 // ok, all the links we want to send out are save, now strip 
                 // away the remaining bbcode
-               $msg = strip_tags(bbcode($tmp, false, false));
+               //$msg = strip_tags(bbcode($tmp, false, false));
+               $msg = bbcode($tmp, false, false);
+               $msg = str_replace(array('<br>','<br />'),"\n",$msg);
+               $msg = strip_tags($msg);
+
                // quotes not working - let's try this
                $msg = html_entity_decode($msg);
                if (( strlen($msg) > $max_char) && $max_char > 0) {
@@ -363,6 +367,9 @@ function twitter_post_hook(&$a,&$b) {
                         $msg = implode(' ', $e);
                        $msg .= '... ' . $shortlink;
                }
+
+               $msg = trim($msg);
+
                // and now tweet it :-)
                if(strlen($msg)) {
                        $result = $tweet->post('statuses/update', array('status' => $msg));