summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZach Copley <zach@status.net>2010-08-13 20:53:19 +0000
committerZach Copley <zach@status.net>2010-08-13 20:53:19 +0000
commit61ab21b711c3248c72c8336f481e8aa3d432c997 (patch)
tree37f916d542c1c55243dc9685c99c8b878161dae0
parent028f9a7b1defefbec67c55b5f146960c022c87e0 (diff)
parentf60ee85f680edbce549331f897368319f44623f4 (diff)
Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x
-rw-r--r--plugins/OStatus/classes/Ostatus_profile.php9
-rw-r--r--plugins/OStatus/lib/discoveryhints.php5
-rw-r--r--plugins/OStatus/lib/feeddiscovery.php5
-rw-r--r--plugins/SubMirror/actions/basemirror.php8
-rwxr-xr-xscripts/update_po_templates.php8
5 files changed, 24 insertions, 11 deletions
diff --git a/plugins/OStatus/classes/Ostatus_profile.php b/plugins/OStatus/classes/Ostatus_profile.php
index 8f8eb773f..e76683a1c 100644
--- a/plugins/OStatus/classes/Ostatus_profile.php
+++ b/plugins/OStatus/classes/Ostatus_profile.php
@@ -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.
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);
diff --git a/plugins/SubMirror/actions/basemirror.php b/plugins/SubMirror/actions/basemirror.php
index 5be0699f0..be6942efa 100644
--- a/plugins/SubMirror/actions/basemirror.php
+++ b/plugins/SubMirror/actions/basemirror.php
@@ -92,7 +92,13 @@ abstract class BaseMirrorAction extends Action
*/
protected function profileForFeed($url)
{
- $oprofile = Ostatus_profile::ensureProfileURL($url);
+ try {
+ // Maybe we got a web page?
+ $oprofile = Ostatus_profile::ensureProfileURL($url);
+ } catch (Exception $e) {
+ // Direct feed URL?
+ $oprofile = Ostatus_profile::ensureFeedURL($url);
+ }
if ($oprofile->isGroup()) {
$this->clientError(_m("Can't mirror a StatusNet group at this time."));
}
diff --git a/scripts/update_po_templates.php b/scripts/update_po_templates.php
index af9ed8d20..f10f20842 100755
--- a/scripts/update_po_templates.php
+++ b/scripts/update_po_templates.php
@@ -94,15 +94,15 @@ function do_translatewiki_plugin($basedir, $plugin)
BASIC:
id: out-statusnet-{$pluginlc}
label: StatusNet - {$plugin}
- description: "{{int:bw-desc-statusnet-plugin-{$pluginlc}}}"
namespace: NS_STATUSNET
+ description: "{{int:bw-desc-statusnet-plugin}}"
+ class: FileBasedMessageGroup
display: out/statusnet/{$pluginlc}
- class: GettextMessageGroup
FILES:
class: GettextFFS
- sourcePattern: %GROUPROOT%/plugins/{$plugin}/locale/%CODE%/LC_MESSAGES/{$plugin}.po
- targetPattern: plugins/{$plugin}/locale/%CODE%/LC_MESSAGES/{$plugin}.po
+ sourcePattern: %GROUPROOT%/statusnet/plugins/{$plugin}/locale/{$plugin}.pot
+ targetPattern: statusnet/plugins/{$plugin}/locale/%CODE%/LC_MESSAGES/{$plugin}.po
codeMap:
en-gb: en_GB
no: nb