X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=fromgplus%2Ffromgplus.php;h=1c047663fb661557a9e54eba4fa6210b8ab1fc55;hb=6c9b4c598cf057e0c02533c5e375dd583efd58a8;hp=9fc13c5ec97e8bad1946831d7cf9a5514d938ae7;hpb=70fa10bf6496475a2de58a05a904a7063af625b5;p=friendica-addons.git
diff --git a/fromgplus/fromgplus.php b/fromgplus/fromgplus.php
index 9fc13c5e..1c047663 100644
--- a/fromgplus/fromgplus.php
+++ b/fromgplus/fromgplus.php
@@ -10,15 +10,19 @@
define('FROMGPLUS_DEFAULT_POLL_INTERVAL', 30); // given in minutes
function fromgplus_install() {
- register_hook('plugin_settings', 'addon/fromgplus/fromgplus.php', 'fromgplus_addon_settings');
- register_hook('plugin_settings_post', 'addon/fromgplus/fromgplus.php', 'fromgplus_addon_settings_post');
+ register_hook('connector_settings', 'addon/fromgplus/fromgplus.php', 'fromgplus_addon_settings');
+ register_hook('connector_settings_post', 'addon/fromgplus/fromgplus.php', 'fromgplus_addon_settings_post');
register_hook('cron', 'addon/fromgplus/fromgplus.php', 'fromgplus_cron');
}
function fromgplus_uninstall() {
+ unregister_hook('connector_settings', 'addon/fromgplus/fromgplus.php', 'fromgplus_addon_settings');
+ unregister_hook('connector_settings_post', 'addon/fromgplus/fromgplus.php', 'fromgplus_addon_settings_post');
+ unregister_hook('cron', 'addon/fromgplus/fromgplus.php', 'fromgplus_cron');
+
+ // Old hooks
unregister_hook('plugin_settings', 'addon/fromgplus/fromgplus.php', 'fromgplus_addon_settings');
unregister_hook('plugin_settings_post', 'addon/fromgplus/fromgplus.php', 'fromgplus_addon_settings_post');
- unregister_hook('cron', 'addon/fromgplus/fromgplus.php', 'fromgplus_cron');
}
function fromgplus_addon_settings(&$a,&$s) {
@@ -29,8 +33,14 @@ function fromgplus_addon_settings(&$a,&$s) {
$enable_checked = (intval(get_pconfig(local_user(),'fromgplus','enable')) ? ' checked="checked"' : '');
$account = get_pconfig(local_user(),'fromgplus','account');
- $s .= '
';
+ $s .= '
';
$s .= '' . t('Google+ Import Settings').'
';
+ $s .= '';
+ $s .= '
';
+ $s .= '
';
+ $s .= '' . t('Google+ Import Settings').'
';
+ $s .= '';
+
$s .= '
';
$s .= '';
@@ -41,7 +51,7 @@ function fromgplus_addon_settings(&$a,&$s) {
$s .= '
';
$s .= '
';
+class="settings-submit" value="' . t('Save Settings') . '" />
';
$s .= '
';
return;
@@ -97,6 +107,10 @@ function fromgplus_post($a, $uid, $source, $body, $location) {
//$uid = 2;
+ // Don't know what it is. Maybe some trash from the mobile client
+ $trash = html_entity_decode("", ENT_QUOTES, 'UTF-8');
+ $body = str_replace($trash, "", $body);
+
$body = trim($body);
if (substr($body, 0, 3) == "[b]") {
@@ -219,16 +233,21 @@ function fromgplus_cleanupgoogleproxy($fullImage, $image) {
}
function fromgplus_cleantext($text) {
+
+ // Don't know what it is. But it is added to the text.
+ $trash = html_entity_decode("", ENT_QUOTES, 'UTF-8');
+
$text = strip_tags($text);
$text = html_entity_decode($text);
$text = trim($text);
- $text = str_replace(array("\n", "\r", " "), array("", "", ""), $text);
+ $text = str_replace(array("\n", "\r", " ", $trash), array("", "", "", ""), $text);
return($text);
}
function fromgplus_handleattachments($item, $displaytext) {
$post = "";
$quote = "";
+ $type = "";
foreach ($item->object->attachments as $attachment) {
switch($attachment->objectType) {
@@ -244,7 +263,7 @@ function fromgplus_handleattachments($item, $displaytext) {
break;
case "article":
- $post .= "\n\n[bookmark=".$attachment->url."]".fromgplus_html2bbcode($attachment->displayName)."[/bookmark]\n";
+ $post .= "\n\n[class=type-link][bookmark=".$attachment->url."]".fromgplus_html2bbcode($attachment->displayName)."[/bookmark]\n";
$images = fromgplus_cleanupgoogleproxy($attachment->fullImage, $attachment->image);
//if ($images["preview"] != "")
@@ -258,6 +277,8 @@ function fromgplus_handleattachments($item, $displaytext) {
$quote = trim(fromgplus_html2bbcode($attachment->content));
if ($quote != "")
$quote = "\n[quote]".$quote."[/quote]";
+
+ $quote .= "[/class]";
break;
case "photo":
@@ -304,6 +325,9 @@ function fromgplus_handleattachments($item, $displaytext) {
function fromgplus_fetch($a, $uid) {
$maxfetch = 20;
+ // Special blank to identify postings from the googleplus connector
+ $blank = html_entity_decode(" ", ENT_QUOTES, 'UTF-8');
+
$account = get_pconfig($uid,'fromgplus','account');
$key = get_config('fromgplus','key');
@@ -315,6 +339,8 @@ function fromgplus_fetch($a, $uid) {
$initiallastdate = get_pconfig($uid,'fromgplus','lastdate');
+ $first_time = ($initiallastdate == "");
+
$lastdate = 0;
if (!is_array($activities->items))
@@ -329,7 +355,19 @@ function fromgplus_fetch($a, $uid) {
if ($lastdate < strtotime($item->published))
$lastdate = strtotime($item->published);
+ if ($first_time)
+ continue;
+
if ($item->access->description == "Public")
+
+ // Loop prevention - ignore postings from HootSuite
+ if ($item->provider->title == "HootSuite")
+ continue;
+
+ // Loop prevention through the special blank from the googleplus connector
+ if (strstr($item->object->content, $blank))
+ continue;
+
switch($item->object->objectType) {
case "note":
$post = fromgplus_html2bbcode($item->object->content);
@@ -343,9 +381,7 @@ function fromgplus_fetch($a, $uid) {
else
$location = "";
- // Loop prevention - should be made better
- if ($item->provider->title != "HootSuite")
- fromgplus_post($a, $uid, "Google+", $post, $location);
+ fromgplus_post($a, $uid, "Google+", $post, $location);
//fromgplus_post($a, $uid, $item->provider->title, $post, $location);
break;
@@ -353,7 +389,7 @@ function fromgplus_fetch($a, $uid) {
case "activity":
$post = fromgplus_html2bbcode($item->annotation)."\n";
- if (intval(get_config('system','new_share'))) {
+ if (!intval(get_config('system','old_share'))) {
$post .= "[share author='".str_replace("'", "'",$item->object->actor->displayName).
"' profile='".$item->object->actor->url.
"' avatar='".$item->object->actor->image->url.
@@ -379,9 +415,7 @@ function fromgplus_fetch($a, $uid) {
else
$location = "";
- // Loop prevention - should be made better
- if ($item->provider->title != "HootSuite")
- fromgplus_post($a, $uid, "Google+", $post, $location);
+ fromgplus_post($a, $uid, "Google+", $post, $location);
//fromgplus_post($a, $uid, $item->provider->title, $post, $location);
break;
}