]> git.mxchange.org Git - friendica-addons.git/blobdiff - facebook/facebook.php
Merge remote branch 'upstream/master'
[friendica-addons.git] / facebook / facebook.php
index c09ac2fbe8c73ef8af6ab41a5ea43affbcb335bc..b6e40654cd41c536b8905731cde3221a78d9fbc3 100755 (executable)
@@ -59,6 +59,7 @@ define('FACEBOOK_SESSION_ERR_NOTIFICATION_INTERVAL', 259200); // 3 days
 define('FACEBOOK_DEFAULT_POLL_INTERVAL', 60); // given in minutes
 define('FACEBOOK_MIN_POLL_INTERVAL', 5);
 
+require_once('include/security.php');
 
 function facebook_install() {
        register_hook('post_local',       'addon/facebook/facebook.php', 'facebook_post_local');
@@ -648,6 +649,8 @@ function facebook_plugin_settings(&$a,&$b) {
 
 
 function facebook_plugin_admin(&$a, &$o){
+
+
        $o = '<input type="hidden" name="form_security_token" value="' . get_form_security_token("fbsave") . '">';
        
        $o .= '<h4>' . t('Facebook API Key') . '</h4>';
@@ -1208,9 +1211,9 @@ function fb_get_timeline($access_token, &$since) {
                else
                        break;
 
-               $url = $s->paging->next;
+               $url = $j->paging->next;
 
-       } while (($oldestdate > $since) and ($since != 0));
+       } while (($oldestdate > $since) and ($since != 0) and ($url != ''));
 
        if ($newest > $since)
                $since = $newest;
@@ -1241,13 +1244,11 @@ function fb_consume_all($uid) {
        }
        // Get the last date
        $lastdate = get_pconfig($uid,'facebook','lastdate');
-       // echo "Alt: ".$lastdate."\n";
        // fetch all items since the last date
        $j = fb_get_timeline($access_token, &$lastdate);
        if (isset($j->data)) {
                logger('fb_consume_stream: feed: ' . print_r($j,true), LOGGER_DATA);
                fb_consume_stream($uid,$j,false);
-               // echo "Neu: ".$lastdate."\n";
 
                // Write back the last date
                set_pconfig($uid,'facebook','lastdate', $lastdate);
@@ -1340,16 +1341,9 @@ function fb_consume_stream($uid,$j,$wall = false) {
                        }
 
                        // don't store post if we don't have a contact
-
                        if(! x($datarray,'contact-id')) {
-                               //if (get_config('facebook', 'pages')) {
-                               //      // If no user is found then post it under the own id.
-                               //      // Definitely a quickhack
-                               //      $datarray['contact-id'] = $self[0]['id'];
-                               //} else {
-                                       logger('facebook: no contact '.$from->name.' '.$from->id.'. post ignored');
-                                       continue;
-                               //}
+                               logger('facebook: no contact '.$from->name.' '.$from->id.'. post ignored');
+                               continue;
                        }
 
                        $datarray['verb'] = ACTIVITY_POST;
@@ -1432,6 +1426,19 @@ function fb_consume_stream($uid,$j,$wall = false) {
                                }
                        }
 
+                       if (($datarray['app'] == "Events") and $entry->actions)
+                               foreach ($entry->actions as $action)
+                                       if ($action->name == "View")
+                                               $datarray['body'] .= " [url=".$action->link."]".$entry->story."[/url]";
+
+                       // Just as a test - to see if these are the missing entries
+                       //if(trim($datarray['body']) == '')
+                       //      $datarray['body'] = $entry->story;
+
+                       // Adding the "story" text to see if there are useful data in it (testing)
+                       //if (($datarray['app'] != "Events") and $entry->story)
+                       //      $datarray['body'] .= "\n".$entry->story;
+
                        if(trim($datarray['body']) == '') {
                                logger('facebook: empty body '.$entry->id.' '.print_r($entry, true));
                                continue;
@@ -1452,11 +1459,13 @@ function fb_consume_stream($uid,$j,$wall = false) {
                        //if(($datarray['body'] != '') and ($uid == 1))
                        //      $datarray['body'] .= "[noparse]".print_r($entry, true)."[/noparse]";
 
-                       if ($entry->place->name)
-                               $datarray['coord'] = $entry->place->name;
-                       else if ($entry->place->location->street or $entry->place->location->city or $entry->place->location->Denmark) {
+                       if ($entry->place->name or $entry->place->location->street or 
+                               $entry->place->location->city or $entry->place->location->Denmark) {
+                               $datarray['coord'] = '';
+                               if ($entry->place->name)
+                                       $datarray['coord'] .= $entry->place->name;
                                if ($entry->place->location->street)
-                                       $datarray['coord'] = $entry->place->location->street;
+                                       $datarray['coord'] .= $entry->place->location->street;
                                if ($entry->place->location->city)
                                        $datarray['coord'] .= " ".$entry->place->location->city;
                                if ($entry->place->location->country)