X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=fromgplus%2Ffromgplus.php;h=1c047663fb661557a9e54eba4fa6210b8ab1fc55;hb=6c9b4c598cf057e0c02533c5e375dd583efd58a8;hp=9fc13c5ec97e8bad1946831d7cf9a5514d938ae7;hpb=8f3a1fae7680b2671f063e8fa03467c0478ba3be;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 .= '
'; 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; }