mirror of
https://git.friendi.ca/friendica/friendica-addons.git
synced 2024-11-22 00:33:40 +00:00
Improved loop detection for Google+, Pump.io, Twitter and GNU Social
This commit is contained in:
parent
ad1afc33d0
commit
584f58e573
5 changed files with 32 additions and 16 deletions
|
@ -416,6 +416,7 @@ function fromgplus_fetch($a, $uid) {
|
|||
$reversed = array_reverse($activities->items);
|
||||
|
||||
foreach($reversed as $item) {
|
||||
|
||||
if (strtotime($item->published) <= $initiallastdate)
|
||||
continue;
|
||||
|
||||
|
@ -431,14 +432,11 @@ function fromgplus_fetch($a, $uid) {
|
|||
if ($first_time)
|
||||
continue;
|
||||
|
||||
if ($item->access->description == "Public")
|
||||
|
||||
// Loop prevention - ignore postings from HootSuite
|
||||
if ($item->provider->title == "HootSuite")
|
||||
continue;
|
||||
if ($item->access->description == "Public") {
|
||||
|
||||
// Loop prevention through the special blank from the googleplus connector
|
||||
if (strstr($item->object->content, $blank))
|
||||
//if (strstr($item->object->content, $blank))
|
||||
if (strrpos($item->object->content, $blank) >= strlen($item->object->content) - 5)
|
||||
continue;
|
||||
|
||||
switch($item->object->objectType) {
|
||||
|
@ -454,8 +452,8 @@ function fromgplus_fetch($a, $uid) {
|
|||
else
|
||||
$location = "";
|
||||
|
||||
fromgplus_post($a, $uid, "Google+", $post, $location);
|
||||
//fromgplus_post($a, $uid, $item->provider->title, $post, $location);
|
||||
//fromgplus_post($a, $uid, "Google+", $post, $location);
|
||||
fromgplus_post($a, $uid, $item->provider->title, $post, $location);
|
||||
|
||||
break;
|
||||
|
||||
|
@ -488,10 +486,11 @@ function fromgplus_fetch($a, $uid) {
|
|||
else
|
||||
$location = "";
|
||||
|
||||
fromgplus_post($a, $uid, "Google+", $post, $location);
|
||||
//fromgplus_post($a, $uid, $item->provider->title, $post, $location);
|
||||
//fromgplus_post($a, $uid, "Google+", $post, $location);
|
||||
fromgplus_post($a, $uid, $item->provider->title, $post, $location);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($lastdate != 0)
|
||||
set_pconfig($uid,'fromgplus','lastdate', $lastdate);
|
||||
|
|
|
@ -230,7 +230,7 @@ function gpluspost_send(&$a,&$b) {
|
|||
return;
|
||||
|
||||
// if post comes from Google+ don't send it back
|
||||
if (!get_pconfig($b["uid"],'gpluspost','no_loop_prevention') and ($b['app'] == "Google+"))
|
||||
if (!get_pconfig($b["uid"],'gpluspost','no_loop_prevention') and (($b['app'] == "Google+") OR ($b["extid"] == NETWORK_GPLUS)))
|
||||
return;
|
||||
|
||||
if (!gpluspost_nextscripts()) {
|
||||
|
|
|
@ -433,9 +433,6 @@ function pumpio_send(&$a,&$b) {
|
|||
|
||||
$title = trim($b['title']);
|
||||
|
||||
//if ($title != '')
|
||||
// $title = "<h4>".$title."</h4>";
|
||||
|
||||
$content = bbcode($b['body'], false, false, 4);
|
||||
|
||||
// Enhance the way, videos are displayed
|
||||
|
@ -502,6 +499,10 @@ function pumpio_send(&$a,&$b) {
|
|||
$success = $client->CallAPI($url, 'POST', $params, array('FailOnAccessError'=>true, 'RequestContentType'=>'application/json'), $user);
|
||||
|
||||
if($success) {
|
||||
|
||||
if ($user->generator->displayName)
|
||||
set_pconfig($b["uid"], "pumpio", "application_name", $user->generator->displayName);
|
||||
|
||||
$post_id = $user->object->id;
|
||||
logger('pumpio_send '.$username.': success '.$post_id);
|
||||
if($post_id AND $iscomment) {
|
||||
|
@ -672,8 +673,12 @@ function pumpio_fetchtimeline(&$a, $uid) {
|
|||
$hostname = get_pconfig($uid, 'pumpio','host');
|
||||
$username = get_pconfig($uid, "pumpio", "user");
|
||||
|
||||
$application_name = get_config('pumpio', 'application_name');
|
||||
|
||||
// get the application name for the pump.io app
|
||||
// 1st try personal config, then system config and fallback to the
|
||||
// hostname of the node if neither one is set.
|
||||
$application_name = get_pconfig( $uid, 'pumpio', 'application_name');
|
||||
if ($application_name == "")
|
||||
$application_name = get_config('pumpio', 'application_name');
|
||||
if ($application_name == "")
|
||||
$application_name = $a->get_hostname();
|
||||
|
||||
|
|
|
@ -606,6 +606,10 @@ function statusnet_post_hook(&$a,&$b) {
|
|||
//$result = $dent->post('statuses/update', $postdata);
|
||||
logger('statusnet_post send, result: ' . print_r($result, true).
|
||||
"\nmessage: ".$msg, LOGGER_DEBUG."\nOriginal post: ".print_r($b, true)."\nPost Data: ".print_r($postdata, true));
|
||||
|
||||
if ($result->source)
|
||||
set_pconfig($b["uid"], "statusnet", "application_name", strip_tags($result->source));
|
||||
|
||||
if ($result->error) {
|
||||
logger('Send to StatusNet failed: "'.$result->error.'"');
|
||||
} elseif ($iscomment) {
|
||||
|
|
|
@ -506,6 +506,10 @@ function twitter_post_hook(&$a,&$b) {
|
|||
unlink($tempfile);
|
||||
|
||||
logger('twitter_post_with_media send, result: ' . print_r($result, true), LOGGER_DEBUG);
|
||||
|
||||
if ($result->source)
|
||||
set_config("twitter", "application_name", strip_tags($result->source));
|
||||
|
||||
if ($result->errors OR $result->error) {
|
||||
logger('Send to Twitter failed: "' . print_r($result->errors, true) . '"');
|
||||
|
||||
|
@ -531,6 +535,10 @@ function twitter_post_hook(&$a,&$b) {
|
|||
|
||||
$result = $tweet->post($url, $post);
|
||||
logger('twitter_post send, result: ' . print_r($result, true), LOGGER_DEBUG);
|
||||
|
||||
if ($result->source)
|
||||
set_config("twitter", "application_name", strip_tags($result->source));
|
||||
|
||||
if ($result->errors) {
|
||||
logger('Send to Twitter failed: "' . print_r($result->errors, true) . '"');
|
||||
|
||||
|
|
Loading…
Reference in a new issue