]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Fixes for RSS subscriptions: accept posts with no ActivityStreams object-type set...
authorBrion Vibber <brion@pobox.com>
Fri, 13 Aug 2010 18:41:44 +0000 (11:41 -0700)
committerBrion Vibber <brion@pobox.com>
Fri, 13 Aug 2010 18:41:44 +0000 (11:41 -0700)
plugins/OStatus/classes/Ostatus_profile.php

index 8f8eb773f87dfeec0701990db5a6dfd6c5f1fddd..e76683a1c28dfebd4cc2271cd94f08189142db3c 100644 (file)
@@ -456,8 +456,10 @@ class Ostatus_profile extends Memcached_DataObject
         case ActivityObject::NOTE:
         case ActivityObject::STATUS:
         case ActivityObject::COMMENT:
+        case null: // Unspecified type is assumed to be a blog post; as we get from RSS.
             break;
         default:
+            common_log(LOG_INFO, "Aborting processing for unrecognized activity type " . $activity->objects[0]->type);
             throw new ClientException("Can't handle that kind of post.");
         }
 
@@ -496,8 +498,11 @@ class Ostatus_profile extends Memcached_DataObject
             } else if ($actor->id) {
                 // We have an ActivityStreams actor with an explicit ID that doesn't match the feed owner.
                 // This isn't what we expect from mainline OStatus person feeds!
-                // Group feeds go down another path, with different validation.
-                throw new Exception("Got an actor '{$actor->title}' ({$actor->id}) on single-user feed for {$this->uri}");
+                // Group feeds go down another path, with different validation...
+                // Most likely this is a plain ol' blog feed of some kind which
+                // doesn't match our expectations. We'll take the entry, but ignore
+                // the <author> info.
+                common_log(LOG_WARNING, "Got an actor '{$actor->title}' ({$actor->id}) on single-user feed for {$this->uri}");
             } else {
                 // Plain <author> without ActivityStreams actor info.
                 // We'll just ignore this info for now and save the update under the feed's identity.