mirror of
https://git.friendi.ca/friendica/friendica-addons.git
synced 2024-11-22 08:03:45 +00:00
facebook, statusnet and twitter: Now shared messages are clearly marked with the name of the original poster
twitter: When a post with a picture failes than the post is repeated without a picture fromgplus: Under certain circumenstances "fromgplus" generates an empty post that is blocking the cron hook - so now messages are mirrored anymore.
This commit is contained in:
parent
f424a9e974
commit
83f95acbbf
4 changed files with 33 additions and 25 deletions
|
@ -570,25 +570,25 @@ function fbpost_post_hook(&$a,&$b) {
|
||||||
$body = preg_replace( '/'.$recycle.'\[url\=(\w+.*?)\](\w+.*?)\[\/url\]/i', "\n\t$2:\t", $body);
|
$body = preg_replace( '/'.$recycle.'\[url\=(\w+.*?)\](\w+.*?)\[\/url\]/i', "\n\t$2:\t", $body);
|
||||||
|
|
||||||
// share element
|
// share element
|
||||||
$body = preg_replace_callback("/\[share(.*?)\]\s?(.*?)\s?\[\/share\]/ism","fbpost_ShareAttributes", $body);
|
//$body = preg_replace_callback("/\[share(.*?)\]\s?(.*?)\s?\[\/share\]/ism","fbpost_ShareAttributes", $body);
|
||||||
|
|
||||||
$bodyparts = explode("\t", $body);
|
//$bodyparts = explode("\t", $body);
|
||||||
// Doesn't help with multiple repeats - the problem has to be solved later
|
// Doesn't help with multiple repeats - the problem has to be solved later
|
||||||
if (sizeof($bodyparts) == 3) {
|
//if (sizeof($bodyparts) == 3) {
|
||||||
$html = bbcode($bodyparts[2], false, false);
|
// $html = bbcode($bodyparts[2], false, false);
|
||||||
$test = trim(html2plain($html, 0, true));
|
// $test = trim(html2plain($html, 0, true));
|
||||||
|
|
||||||
if (trim($bodyparts[0]) == "")
|
// if (trim($bodyparts[0]) == "")
|
||||||
$body = trim($bodyparts[2]);
|
// $body = trim($bodyparts[2]);
|
||||||
else if (trim($test) == "")
|
// else if (trim($test) == "")
|
||||||
$body = trim($bodyparts[0]);
|
// $body = trim($bodyparts[0]);
|
||||||
else
|
// else
|
||||||
$body = trim($bodyparts[0])."\n\n".trim($bodyparts[1])."[quote]".trim($bodyparts[2])."[/quote]";
|
// $body = trim($bodyparts[0])."\n\n".trim($bodyparts[1])."[quote]".trim($bodyparts[2])."[/quote]";
|
||||||
} else
|
//} else
|
||||||
$body = str_replace("\t", "", $body);
|
$body = str_replace("\t", "", $body);
|
||||||
|
|
||||||
// At first convert the text to html
|
// At first convert the text to html
|
||||||
$html = bbcode($body, false, false);
|
$html = bbcode($body, false, false, 2);
|
||||||
|
|
||||||
// Then convert it to plain text
|
// Then convert it to plain text
|
||||||
$msg = trim($b['title']." \n\n".html2plain($html, 0, true));
|
$msg = trim($b['title']." \n\n".html2plain($html, 0, true));
|
||||||
|
|
|
@ -124,11 +124,16 @@ function fromgplus_post($a, $uid, $source, $body, $location) {
|
||||||
$_REQUEST['body'] = $body;
|
$_REQUEST['body'] = $body;
|
||||||
$_REQUEST['location'] = $location;
|
$_REQUEST['location'] = $location;
|
||||||
|
|
||||||
logger('fromgplus: posting for user '.$uid);
|
if (($_REQUEST['title'] == "") AND ($_REQUEST['body'] == "")) {
|
||||||
|
logger('fromgplus: empty post for user '.$uid." ".print_r($_REQUEST, true));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
require_once('mod/item.php');
|
require_once('mod/item.php');
|
||||||
//print_r($_REQUEST);
|
//print_r($_REQUEST);
|
||||||
|
logger('fromgplus: posting for user '.$uid." ".print_r($_REQUEST, true));
|
||||||
item_post($a);
|
item_post($a);
|
||||||
|
logger('fromgplus: done for user '.$uid);
|
||||||
}
|
}
|
||||||
|
|
||||||
function fromgplus_html2bbcode($html) {
|
function fromgplus_html2bbcode($html) {
|
||||||
|
|
|
@ -491,10 +491,10 @@ function statusnet_shortenmsg($b, $max_char) {
|
||||||
$body = preg_replace( '/'.$recycle.'\[url\=(\w+.*?)\](\w+.*?)\[\/url\]/i', "\n", $body);
|
$body = preg_replace( '/'.$recycle.'\[url\=(\w+.*?)\](\w+.*?)\[\/url\]/i', "\n", $body);
|
||||||
|
|
||||||
// remove the share element
|
// remove the share element
|
||||||
$body = preg_replace("/\[share(.*?)\](.*?)\[\/share\]/ism","\n\n$2\n\n",$body);
|
//$body = preg_replace("/\[share(.*?)\](.*?)\[\/share\]/ism","\n\n$2\n\n",$body);
|
||||||
|
|
||||||
// At first convert the text to html
|
// At first convert the text to html
|
||||||
$html = bbcode($body, false, false);
|
$html = bbcode($body, false, false, 2);
|
||||||
|
|
||||||
// Then convert it to plain text
|
// Then convert it to plain text
|
||||||
//$msg = trim($b['title']." \n\n".html2plain($html, 0, true));
|
//$msg = trim($b['title']." \n\n".html2plain($html, 0, true));
|
||||||
|
|
|
@ -357,10 +357,10 @@ function twitter_shortenmsg($b) {
|
||||||
$body = preg_replace( '/'.$recycle.'\[url\=(\w+.*?)\](\w+.*?)\[\/url\]/i', "\n", $body);
|
$body = preg_replace( '/'.$recycle.'\[url\=(\w+.*?)\](\w+.*?)\[\/url\]/i', "\n", $body);
|
||||||
|
|
||||||
// remove the share element
|
// remove the share element
|
||||||
$body = preg_replace("/\[share(.*?)\](.*?)\[\/share\]/ism","\n\n$2\n\n",$body);
|
//$body = preg_replace("/\[share(.*?)\](.*?)\[\/share\]/ism","\n\n$2\n\n",$body);
|
||||||
|
|
||||||
// At first convert the text to html
|
// At first convert the text to html
|
||||||
$html = bbcode($body, false, false);
|
$html = bbcode($body, false, false, 2);
|
||||||
|
|
||||||
// Then convert it to plain text
|
// Then convert it to plain text
|
||||||
//$msg = trim($b['title']." \n\n".html2plain($html, 0, true));
|
//$msg = trim($b['title']." \n\n".html2plain($html, 0, true));
|
||||||
|
@ -628,13 +628,7 @@ function twitter_post_hook(&$a,&$b) {
|
||||||
$image = $msgarr["image"];
|
$image = $msgarr["image"];
|
||||||
|
|
||||||
// and now tweet it :-)
|
// and now tweet it :-)
|
||||||
if(strlen($msg) and ($image == "")) {
|
if(strlen($msg) and ($image != "")) {
|
||||||
$result = $tweet->post('statuses/update', array('status' => $msg));
|
|
||||||
logger('twitter_post send, result: ' . print_r($result, true), LOGGER_DEBUG);
|
|
||||||
if ($result->error) {
|
|
||||||
logger('Send to Twitter failed: "' . $result->error . '"');
|
|
||||||
}
|
|
||||||
} else if(strlen($msg) and ($image != "")) {
|
|
||||||
$img_str = fetch_url($image);
|
$img_str = fetch_url($image);
|
||||||
|
|
||||||
$tempfile = tempnam(get_config("system","temppath"), "cache");
|
$tempfile = tempnam(get_config("system","temppath"), "cache");
|
||||||
|
@ -649,8 +643,17 @@ function twitter_post_hook(&$a,&$b) {
|
||||||
logger('twitter_post_with_media send, result: ' . print_r($result, true), LOGGER_DEBUG);
|
logger('twitter_post_with_media send, result: ' . print_r($result, true), LOGGER_DEBUG);
|
||||||
if ($result->error) {
|
if ($result->error) {
|
||||||
logger('Send to Twitter failed: "' . $result->error . '"');
|
logger('Send to Twitter failed: "' . $result->error . '"');
|
||||||
|
// Workaround: Remove the picture link so that the post can be reposted without it
|
||||||
|
$image = "";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(strlen($msg) and ($image == "")) {
|
||||||
|
$result = $tweet->post('statuses/update', array('status' => $msg));
|
||||||
|
logger('twitter_post send, result: ' . print_r($result, true), LOGGER_DEBUG);
|
||||||
|
if ($result->error)
|
||||||
|
logger('Send to Twitter failed: "' . $result->error . '"');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue