From a546a251077f4740df54936703a1084adf354d49 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Thu, 3 Jan 2013 22:11:46 +0100 Subject: [PATCH] fbpost: Beautifying the import to friendica statusnet+twitter: Beautifying the export to statusnet and twitter, solving the problem that posts were sometimes send twice --- fbpost/fbpost.php | 18 +++++++++++------- statusnet/statusnet.php | 11 ++++++++++- twitter/twitter.php | 11 ++++++++++- 3 files changed, 31 insertions(+), 9 deletions(-) diff --git a/fbpost/fbpost.php b/fbpost/fbpost.php index 0c7e454a1..51bed7ebb 100644 --- a/fbpost/fbpost.php +++ b/fbpost/fbpost.php @@ -1048,7 +1048,7 @@ function fbpost_fetchwall($a, $uid) { elseif (isset($item->name)) $_REQUEST["body"] .= "\n\n[b]" . $item->name."[/b]"; - if(isset($item->caption)) { + /*if(isset($item->caption)) { if(!isset($item->name) and isset($item->link)) $_REQUEST["body"] .= "\n\n[bookmark=".$item->link."]".$item->caption."[/bookmark]"; //else @@ -1060,22 +1060,26 @@ function fbpost_fetchwall($a, $uid) { $_REQUEST["body"] .= "\n[url]".$item->link."[/url]\n"; else $_REQUEST["body"] .= "\n"; - } + }*/ $quote = ""; - if(isset($item->description)) + if(isset($item->description) and ($item->type != "photo")) $quote = $item->description; - if (isset($item->properties)) - foreach ($item->properties as $property) - $quote .= "\n".$property->name.": [url=".$property->href."]".$property->text."[/url]"; + if(isset($item->caption) and ($item->type == "photo")) + $quote = $item->caption; + + //if (isset($item->properties)) + // foreach ($item->properties as $property) + // $quote .= "\n".$property->name.": [url=".$property->href."]".$property->text."[/url]"; if ($quote) $_REQUEST["body"] .= "\n[quote]".$quote."[/quote]"; // Only import the picture when the message is no video // oembed display a picture of the video as well - if ($item->type != "video") { + //if ($item->type != "video") { + if (($item->type != "video") and ($item->type != "photo")) { if(isset($item->picture) && isset($item->link)) $_REQUEST["body"] .= "\n".'[url='.$item->link.'][img]'.fpost_cleanpicture($item->picture).'[/img][/url]'; else { diff --git a/statusnet/statusnet.php b/statusnet/statusnet.php index d5097c13c..b5d55ed7c 100755 --- a/statusnet/statusnet.php +++ b/statusnet/statusnet.php @@ -448,6 +448,10 @@ function statusnet_shortenmsg($b, $max_char) { if ($b["title"] != "") $body = $b["title"]."\n\n".$body; + // Add some newlines so that the message could be cut better + $body = str_replace(array("[quote", "[bookmark", "[/bookmark]", "[/quote]"), + array("\n[quote", "\n[bookmark", "[/bookmark]\n", "[/quote]\n"), $body); + // remove the recycle signs and the names since they aren't helpful on twitter // recycle 1 $recycle = html_entity_decode("♲ ", ENT_QUOTES, 'UTF-8'); @@ -773,6 +777,11 @@ function statusnet_fetchtimeline($a, $uid) { $osecret = get_pconfig($uid, 'statusnet', 'oauthsecret'); $lastid = get_pconfig($uid, 'statusnet', 'lastid'); + $application_name = get_config('statusnet', 'application_name'); + + if ($application_name == "") + $application_name = $a->get_hostname(); + $connection = new StatusNetOAuth($api, $ckey,$csecret,$otoken,$osecret); $parameters = array("exclude_replies" => true, "trim_user" => true, "contributor_details" => false, "include_rts" => false); @@ -793,7 +802,7 @@ function statusnet_fetchtimeline($a, $uid) { if ($post->in_reply_to_status_id != "") continue; - if (!strpos($post->source, $a->get_hostname())) { + if (!strpos($post->source, $application_name)) { $_SESSION["authenticated"] = true; $_SESSION["uid"] = $uid; diff --git a/twitter/twitter.php b/twitter/twitter.php index 3056f57b2..2be686b30 100755 --- a/twitter/twitter.php +++ b/twitter/twitter.php @@ -306,6 +306,10 @@ function twitter_shortenmsg($b) { if ($b["title"] != "") $body = $b["title"]."\n\n".$body; + // Add some newlines so that the message could be cut better + $body = str_replace(array("[quote", "[bookmark", "[/bookmark]", "[/quote]"), + array("\n[quote", "\n[bookmark", "[/bookmark]\n", "[/quote]\n"), $body); + // remove the recycle signs and the names since they aren't helpful on twitter // recycle 1 $recycle = html_entity_decode("♲ ", ENT_QUOTES, 'UTF-8'); @@ -581,6 +585,11 @@ function twitter_fetchtimeline($a, $uid) { $osecret = get_pconfig($uid, 'twitter', 'oauthsecret'); $lastid = get_pconfig($uid, 'twitter', 'lastid'); + $application_name = get_config('twitter', 'application_name'); + + if ($application_name == "") + $application_name = $a->get_hostname(); + require_once('library/twitteroauth.php'); $connection = new TwitterOAuth($ckey,$csecret,$otoken,$osecret); @@ -596,7 +605,7 @@ function twitter_fetchtimeline($a, $uid) { if ($post->id_str > $lastid) $lastid = $post->id_str; - if (!strpos($post->source, $a->get_hostname())) { + if (!strpos($post->source, $application_name)) { $_SESSION["authenticated"] = true; $_SESSION["uid"] = $uid;