forked from friendica/friendica-addons
Merge pull request #382 from annando/1603-fromgplus-keywords
Google+/Twitter/GNU Social: Prevent posting loops when mirroring posts
This commit is contained in:
commit
24638894a6
5 changed files with 59 additions and 24 deletions
|
@ -10,6 +10,7 @@
|
|||
define('FROMGPLUS_DEFAULT_POLL_INTERVAL', 30); // given in minutes
|
||||
|
||||
require_once('mod/share.php');
|
||||
require_once('mod/parse_url.php');
|
||||
|
||||
function fromgplus_install() {
|
||||
register_hook('connector_settings', 'addon/fromgplus/fromgplus.php', 'fromgplus_addon_settings');
|
||||
|
@ -38,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 .= '<span id="settings_fromgplus_inflated" class="settings-block fakelink" style="display: block;" onclick="openClose(\'settings_fromgplus_expanded\'); openClose(\'settings_fromgplus_inflated\');">';
|
||||
|
@ -56,6 +58,9 @@ function fromgplus_addon_settings(&$a,&$s) {
|
|||
$s .= '<label id="fromgplus-label" for="fromgplus-account">'.t('Google Account ID').' </label>';
|
||||
$s .= '<input id="fromgplus-account" type="text" name="fromgplus-account" value="'.$account.'" />';
|
||||
$s .= '</div><div class="clear"></div>';
|
||||
$s .= '<label id="fromgplus-keywords-label" for="fromgplus-keywords">'.t('Add keywords to post').'</label>';
|
||||
$s .= '<input id="fromgplus-keywords" type="checkbox" name="fromgplus-keywords" value="1"'.$keywords_checked.' />';
|
||||
$s .= '<div class="clear"></div>';
|
||||
|
||||
$s .= '<div class="settings-submit-wrapper" ><input type="submit" id="fromgplus-submit" name="fromgplus-submit"
|
||||
class="settings-submit" value="' . t('Save Settings') . '" /></div>';
|
||||
|
@ -73,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');
|
||||
|
@ -129,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;
|
||||
|
||||
|
@ -157,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']
|
||||
|
@ -324,6 +334,11 @@ function fromgplus_handleattachments($a, $uid, $item, $displaytext, $shared) {
|
|||
if ($quote != "")
|
||||
$pagedata["text"] = $quote;
|
||||
|
||||
// Add Keywords to page link
|
||||
$data = parseurl_getsiteinfo_cached($pagedata["url"], true);
|
||||
if (isset($data["keywords"]) AND get_pconfig($uid, 'fromgplus', 'keywords')) {
|
||||
$pagedata["keywords"] = $data["keywords"];
|
||||
}
|
||||
break;
|
||||
|
||||
case "photo":
|
||||
|
@ -446,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;
|
||||
|
||||
|
@ -479,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;
|
||||
|
||||
|
@ -530,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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-02-27 05:01-0500\n"
|
||||
"POT-Creation-Date: 2016-11-12 16:52+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -17,22 +17,34 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: fromgplus.php:33
|
||||
msgid "Google+ Import Settings"
|
||||
#: fromgplus.php:46 fromgplus.php:50
|
||||
msgid "Google+ Mirror"
|
||||
msgstr ""
|
||||
|
||||
#: fromgplus.php:36
|
||||
#: fromgplus.php:55
|
||||
msgid "Enable Google+ Import"
|
||||
msgstr ""
|
||||
|
||||
#: fromgplus.php:39
|
||||
#: fromgplus.php:58
|
||||
msgid "Google Account ID"
|
||||
msgstr ""
|
||||
|
||||
#: fromgplus.php:44
|
||||
msgid "Submit"
|
||||
#: fromgplus.php:61
|
||||
msgid "Add keywords to post"
|
||||
msgstr ""
|
||||
|
||||
#: fromgplus.php:59
|
||||
#: fromgplus.php:66 fromgplus.php:95
|
||||
msgid "Save Settings"
|
||||
msgstr ""
|
||||
|
||||
#: fromgplus.php:87
|
||||
msgid "Google+ Import Settings saved."
|
||||
msgstr ""
|
||||
|
||||
#: fromgplus.php:96
|
||||
msgid "Key"
|
||||
msgstr ""
|
||||
|
||||
#: fromgplus.php:103
|
||||
msgid "Settings updated."
|
||||
msgstr ""
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-06-23 14:44+0200\n"
|
||||
"POT-Creation-Date: 2016-11-12 16:50+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -17,50 +17,50 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: gpluspost.php:38
|
||||
#: gpluspost.php:39
|
||||
msgid "Post to Google+"
|
||||
msgstr ""
|
||||
|
||||
#: gpluspost.php:93
|
||||
#: gpluspost.php:94
|
||||
msgid "Enable Google+ Post Plugin"
|
||||
msgstr ""
|
||||
|
||||
#: gpluspost.php:108
|
||||
#: gpluspost.php:109
|
||||
msgid "Google+ username"
|
||||
msgstr ""
|
||||
|
||||
#: gpluspost.php:113
|
||||
#: gpluspost.php:114
|
||||
msgid "Google+ password"
|
||||
msgstr ""
|
||||
|
||||
#: gpluspost.php:118
|
||||
#: gpluspost.php:119
|
||||
msgid "Google+ page number"
|
||||
msgstr ""
|
||||
|
||||
#: gpluspost.php:124
|
||||
#: gpluspost.php:125
|
||||
msgid "Post to Google+ by default"
|
||||
msgstr ""
|
||||
|
||||
#: gpluspost.php:129
|
||||
#: gpluspost.php:130
|
||||
msgid "Do not prevent posting loops"
|
||||
msgstr ""
|
||||
|
||||
#: gpluspost.php:135
|
||||
#: gpluspost.php:136
|
||||
msgid "Skip messages without links"
|
||||
msgstr ""
|
||||
|
||||
#: gpluspost.php:142
|
||||
#: gpluspost.php:143
|
||||
msgid "Mirror all public posts"
|
||||
msgstr ""
|
||||
|
||||
#: gpluspost.php:146
|
||||
#: gpluspost.php:147
|
||||
msgid "Mirror Google Account ID"
|
||||
msgstr ""
|
||||
|
||||
#: gpluspost.php:153
|
||||
#: gpluspost.php:154
|
||||
msgid "Save Settings"
|
||||
msgstr ""
|
||||
|
||||
#: gpluspost.php:308
|
||||
#: gpluspost.php:310
|
||||
msgid "Google+ post failed. Queued for retry."
|
||||
msgstr ""
|
||||
|
|
|
@ -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"] = "";
|
||||
|
|
|
@ -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"] = "";
|
||||
|
|
Loading…
Reference in a new issue