X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=fromgplus%2Ffromgplus.php;h=058c6e406ac3450608ed23ea667d990f9a82fe9c;hb=ccc6c2b78593101a6812a682a4bf8d93663769c5;hp=dcfeff86d871baa441d9c3fc68d867f604de1c6e;hpb=004e02c5ca6b7f5bd28d4f9a7056cd775f2c7890;p=friendica-addons.git diff --git a/fromgplus/fromgplus.php b/fromgplus/fromgplus.php index dcfeff86..058c6e40 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) { @@ -41,7 +45,7 @@ function fromgplus_addon_settings(&$a,&$s) { $s .= '
'; $s .= '
'; +class="settings-submit" value="' . t('Save Settings') . '" />'; $s .= ''; return; @@ -218,6 +222,14 @@ function fromgplus_cleanupgoogleproxy($fullImage, $image) { return($cleaned); } +function fromgplus_cleantext($text) { + $text = strip_tags($text); + $text = html_entity_decode($text); + $text = trim($text); + $text = str_replace(array("\n", "\r", " "), array("", "", ""), $text); + return($text); +} + function fromgplus_handleattachments($item, $displaytext) { $post = ""; $quote = ""; @@ -259,7 +271,7 @@ function fromgplus_handleattachments($item, $displaytext) { elseif ($images["full"] != "") $post .= "\n[img]".$images["full"]."[/img]\n"; - if (($attachment->displayName != "") AND ($attachment->displayName != $displaytext)) + if (($attachment->displayName != "") AND (fromgplus_cleantext($attachment->displayName) != fromgplus_cleantext($displaytext))) $post .= fromgplus_html2bbcode($attachment->displayName)."\n"; break; @@ -296,6 +308,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'); @@ -322,6 +337,15 @@ function fromgplus_fetch($a, $uid) { $lastdate = strtotime($item->published); 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); @@ -335,9 +359,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; @@ -345,7 +367,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. @@ -371,9 +393,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; }