fbpost: Beautifying the import to friendica

statusnet+twitter: Beautifying the export to statusnet and twitter, solving the problem that posts were sometimes send twice
This commit is contained in:
Michael Vogel 2013-01-03 22:11:46 +01:00
parent 8c154ddd08
commit a546a25107
3 changed files with 31 additions and 9 deletions

View File

@ -1048,7 +1048,7 @@ function fbpost_fetchwall($a, $uid) {
elseif (isset($item->name)) elseif (isset($item->name))
$_REQUEST["body"] .= "\n\n[b]" . $item->name."[/b]"; $_REQUEST["body"] .= "\n\n[b]" . $item->name."[/b]";
if(isset($item->caption)) { /*if(isset($item->caption)) {
if(!isset($item->name) and isset($item->link)) if(!isset($item->name) and isset($item->link))
$_REQUEST["body"] .= "\n\n[bookmark=".$item->link."]".$item->caption."[/bookmark]"; $_REQUEST["body"] .= "\n\n[bookmark=".$item->link."]".$item->caption."[/bookmark]";
//else //else
@ -1060,22 +1060,26 @@ function fbpost_fetchwall($a, $uid) {
$_REQUEST["body"] .= "\n[url]".$item->link."[/url]\n"; $_REQUEST["body"] .= "\n[url]".$item->link."[/url]\n";
else else
$_REQUEST["body"] .= "\n"; $_REQUEST["body"] .= "\n";
} }*/
$quote = ""; $quote = "";
if(isset($item->description)) if(isset($item->description) and ($item->type != "photo"))
$quote = $item->description; $quote = $item->description;
if (isset($item->properties)) if(isset($item->caption) and ($item->type == "photo"))
foreach ($item->properties as $property) $quote = $item->caption;
$quote .= "\n".$property->name.": [url=".$property->href."]".$property->text."[/url]";
//if (isset($item->properties))
// foreach ($item->properties as $property)
// $quote .= "\n".$property->name.": [url=".$property->href."]".$property->text."[/url]";
if ($quote) if ($quote)
$_REQUEST["body"] .= "\n[quote]".$quote."[/quote]"; $_REQUEST["body"] .= "\n[quote]".$quote."[/quote]";
// Only import the picture when the message is no video // Only import the picture when the message is no video
// oembed display a picture of the video as well // 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)) if(isset($item->picture) && isset($item->link))
$_REQUEST["body"] .= "\n".'[url='.$item->link.'][img]'.fpost_cleanpicture($item->picture).'[/img][/url]'; $_REQUEST["body"] .= "\n".'[url='.$item->link.'][img]'.fpost_cleanpicture($item->picture).'[/img][/url]';
else { else {

View File

@ -448,6 +448,10 @@ function statusnet_shortenmsg($b, $max_char) {
if ($b["title"] != "") if ($b["title"] != "")
$body = $b["title"]."\n\n".$body; $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 // remove the recycle signs and the names since they aren't helpful on twitter
// recycle 1 // recycle 1
$recycle = html_entity_decode("♲ ", ENT_QUOTES, 'UTF-8'); $recycle = html_entity_decode("♲ ", ENT_QUOTES, 'UTF-8');
@ -773,6 +777,11 @@ function statusnet_fetchtimeline($a, $uid) {
$osecret = get_pconfig($uid, 'statusnet', 'oauthsecret'); $osecret = get_pconfig($uid, 'statusnet', 'oauthsecret');
$lastid = get_pconfig($uid, 'statusnet', 'lastid'); $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); $connection = new StatusNetOAuth($api, $ckey,$csecret,$otoken,$osecret);
$parameters = array("exclude_replies" => true, "trim_user" => true, "contributor_details" => false, "include_rts" => false); $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 != "") if ($post->in_reply_to_status_id != "")
continue; continue;
if (!strpos($post->source, $a->get_hostname())) { if (!strpos($post->source, $application_name)) {
$_SESSION["authenticated"] = true; $_SESSION["authenticated"] = true;
$_SESSION["uid"] = $uid; $_SESSION["uid"] = $uid;

View File

@ -306,6 +306,10 @@ function twitter_shortenmsg($b) {
if ($b["title"] != "") if ($b["title"] != "")
$body = $b["title"]."\n\n".$body; $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 // remove the recycle signs and the names since they aren't helpful on twitter
// recycle 1 // recycle 1
$recycle = html_entity_decode("♲ ", ENT_QUOTES, 'UTF-8'); $recycle = html_entity_decode("♲ ", ENT_QUOTES, 'UTF-8');
@ -581,6 +585,11 @@ function twitter_fetchtimeline($a, $uid) {
$osecret = get_pconfig($uid, 'twitter', 'oauthsecret'); $osecret = get_pconfig($uid, 'twitter', 'oauthsecret');
$lastid = get_pconfig($uid, 'twitter', 'lastid'); $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'); require_once('library/twitteroauth.php');
$connection = new TwitterOAuth($ckey,$csecret,$otoken,$osecret); $connection = new TwitterOAuth($ckey,$csecret,$otoken,$osecret);
@ -596,7 +605,7 @@ function twitter_fetchtimeline($a, $uid) {
if ($post->id_str > $lastid) if ($post->id_str > $lastid)
$lastid = $post->id_str; $lastid = $post->id_str;
if (!strpos($post->source, $a->get_hostname())) { if (!strpos($post->source, $application_name)) {
$_SESSION["authenticated"] = true; $_SESSION["authenticated"] = true;
$_SESSION["uid"] = $uid; $_SESSION["uid"] = $uid;