summaryrefslogtreecommitdiff
path: root/plugins/OStatus
diff options
context:
space:
mode:
authorEvan Prodromou <evan@status.net>2010-08-13 14:35:49 -0700
committerEvan Prodromou <evan@status.net>2010-08-13 14:35:49 -0700
commit926c77246bb168097b3f937b5cc22ee9721b83c9 (patch)
treedea05edb30a9e6a1e7971727ea42c7214c06c808 /plugins/OStatus
parent029aa0c61c9942c0688fd3dc9aa2893311543db1 (diff)
parent61ab21b711c3248c72c8336f481e8aa3d432c997 (diff)
Merge branch '0.9.x' of gitorious.org:statusnet/mainline into 0.9.x
Conflicts: plugins/OStatus/classes/Ostatus_profile.php
Diffstat (limited to 'plugins/OStatus')
-rw-r--r--plugins/OStatus/classes/Ostatus_profile.php8
-rw-r--r--plugins/OStatus/lib/discoveryhints.php5
-rw-r--r--plugins/OStatus/lib/feeddiscovery.php5
3 files changed, 12 insertions, 6 deletions
diff --git a/plugins/OStatus/classes/Ostatus_profile.php b/plugins/OStatus/classes/Ostatus_profile.php
index 1fae468f6..cc4307b14 100644
--- a/plugins/OStatus/classes/Ostatus_profile.php
+++ b/plugins/OStatus/classes/Ostatus_profile.php
@@ -459,6 +459,7 @@ class Ostatus_profile extends Memcached_DataObject
case ActivityObject::NOTE:
case ActivityObject::STATUS:
case ActivityObject::COMMENT:
+ case null:
if ($activity->verb == ActivityVerb::POST) {
$this->processPost($activity, $source);
} else {
@@ -501,8 +502,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.
diff --git a/plugins/OStatus/lib/discoveryhints.php b/plugins/OStatus/lib/discoveryhints.php
index 34c9be277..fa2ead732 100644
--- a/plugins/OStatus/lib/discoveryhints.php
+++ b/plugins/OStatus/lib/discoveryhints.php
@@ -114,9 +114,10 @@ class DiscoveryHints {
static function _hcard($body, $url)
{
- // DOMDocument::loadHTML may throw warnings on unrecognized elements.
+ // DOMDocument::loadHTML may throw warnings on unrecognized elements,
+ // and notices on unrecognized namespaces.
- $old = error_reporting(error_reporting() & ~E_WARNING);
+ $old = error_reporting(error_reporting() & ~(E_WARNING | E_NOTICE));
$doc = new DOMDocument();
$doc->loadHTML($body);
diff --git a/plugins/OStatus/lib/feeddiscovery.php b/plugins/OStatus/lib/feeddiscovery.php
index a55399d7c..8a166a0be 100644
--- a/plugins/OStatus/lib/feeddiscovery.php
+++ b/plugins/OStatus/lib/feeddiscovery.php
@@ -196,8 +196,9 @@ class FeedDiscovery
*/
function discoverFromHTML($url, $body)
{
- // DOMDocument::loadHTML may throw warnings on unrecognized elements.
- $old = error_reporting(error_reporting() & ~E_WARNING);
+ // DOMDocument::loadHTML may throw warnings on unrecognized elements,
+ // and notices on unrecognized namespaces.
+ $old = error_reporting(error_reporting() & ~(E_WARNING | E_NOTICE));
$dom = new DOMDocument();
$ok = $dom->loadHTML($body);
error_reporting($old);