From dea5b336322d07ac4a1052e87f1d5a622c1527ca Mon Sep 17 00:00:00 2001 From: Michael Date: Mon, 7 Nov 2016 05:23:19 +0000 Subject: [PATCH] Prevent posting loops --- fromgplus/fromgplus.php | 21 ++++++++++++++++----- statusnet/statusnet.php | 3 +++ twitter/twitter.php | 3 +++ 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/fromgplus/fromgplus.php b/fromgplus/fromgplus.php index c8026ad3a..4c96892c6 100644 --- a/fromgplus/fromgplus.php +++ b/fromgplus/fromgplus.php @@ -39,6 +39,7 @@ function fromgplus_addon_settings(&$a,&$s) { return; $enable_checked = (intval(get_pconfig(local_user(),'fromgplus','enable')) ? ' checked="checked"' : ''); + $keywords_checked = (intval(get_pconfig(local_user(), 'fromgplus', 'keywords')) ? ' checked="checked"' : ''); $account = get_pconfig(local_user(),'fromgplus','account'); $s .= ''; @@ -57,6 +58,9 @@ function fromgplus_addon_settings(&$a,&$s) { $s .= ''; $s .= ''; $s .= '
'; + $s .= ''; + $s .= ''; + $s .= '
'; $s .= '
'; @@ -74,6 +78,8 @@ function fromgplus_addon_settings_post(&$a,&$b) { set_pconfig(local_user(),'fromgplus','account',trim($_POST['fromgplus-account'])); $enable = ((x($_POST,'fromgplus-enable')) ? intval($_POST['fromgplus-enable']) : 0); set_pconfig(local_user(),'fromgplus','enable', $enable); + $keywords = ((x($_POST, 'fromgplus-keywords')) ? intval($_POST['fromgplus-keywords']) : 0); + set_pconfig(local_user(),'fromgplus', 'keywords', $keywords); if (!$enable) del_pconfig(local_user(),'fromgplus','lastdate'); @@ -130,7 +136,7 @@ function fromgplus_cron($a,$b) { set_config('fromgplus','last_poll', time()); } -function fromgplus_post($a, $uid, $source, $body, $location, $coord) { +function fromgplus_post($a, $uid, $source, $body, $location, $coord, $id) { //$uid = 2; @@ -158,6 +164,9 @@ function fromgplus_post($a, $uid, $source, $body, $location, $coord) { $_REQUEST['source'] = $source; $_REQUEST['extid'] = NETWORK_GPLUS; + if (isset($id)) + $_REQUEST['message_id'] = NETWORK_GPLUS.":".$id; + // $_REQUEST['verb'] // $_REQUEST['parent'] // $_REQUEST['parent_uri'] @@ -327,9 +336,9 @@ function fromgplus_handleattachments($a, $uid, $item, $displaytext, $shared) { // Add Keywords to page link $data = parseurl_getsiteinfo_cached($pagedata["url"], true); - if (isset($data["keywords"])) + if (isset($data["keywords"]) AND get_pconfig($uid, 'fromgplus', 'keywords')) { $pagedata["keywords"] = $data["keywords"]; - + } break; case "photo": @@ -452,6 +461,8 @@ function fromgplus_fetch($a, $uid) { if ($lastdate < strtotime($item->published)) $lastdate = strtotime($item->published); + set_pconfig($uid,'fromgplus','lastdate', $lastdate); + if ($first_time) continue; @@ -485,7 +496,7 @@ function fromgplus_fetch($a, $uid) { } elseif (isset($item->address)) $location = $item->address; - fromgplus_post($a, $uid, $item->provider->title, $post, $location, $coord); + fromgplus_post($a, $uid, $item->provider->title, $post, $location, $coord, $item->id); break; @@ -536,7 +547,7 @@ function fromgplus_fetch($a, $uid) { } elseif (isset($item->address)) $location = $item->address; - fromgplus_post($a, $uid, $item->provider->title, $post, $location, $coord); + fromgplus_post($a, $uid, $item->provider->title, $post, $location, $coord, $item->id); break; } } diff --git a/statusnet/statusnet.php b/statusnet/statusnet.php index 4fdd6a74b..febe4032f 100644 --- a/statusnet/statusnet.php +++ b/statusnet/statusnet.php @@ -872,6 +872,9 @@ function statusnet_fetchtimeline($a, $uid) { $_REQUEST["source"] = $post->source; $_REQUEST["extid"] = NETWORK_STATUSNET; + if (isset($post->id)) + $_REQUEST['message_id'] = NETWORK_STATUSNET.":".$post->id; + //$_REQUEST["date"] = $post->created_at; $_REQUEST["title"] = ""; diff --git a/twitter/twitter.php b/twitter/twitter.php index 8f023dfeb..e7429696d 100644 --- a/twitter/twitter.php +++ b/twitter/twitter.php @@ -791,6 +791,9 @@ function twitter_fetchtimeline($a, $uid) { $_REQUEST["source"] = $post->source; $_REQUEST["extid"] = NETWORK_TWITTER; + if (isset($post->id)) + $_REQUEST['message_id'] = NETWORK_TWITTER.":".$post->id; + //$_REQUEST["date"] = $post->created_at; $_REQUEST["title"] = "";