Merge branch 'testing'

Conflicts:
	plugins/OStatus/classes/Ostatus_profile.php
This commit is contained in:
Brion Vibber 2010-08-16 10:06:52 -07:00
commit b77c029aa8
6 changed files with 19 additions and 9 deletions

View File

@ -136,7 +136,6 @@ create table notice (
is_local integer default 0 /* comment 'notice was generated by a user' */, is_local integer default 0 /* comment 'notice was generated by a user' */,
source varchar(32) /* comment 'source of comment, like "web", "im", or "clientname"' */, source varchar(32) /* comment 'source of comment, like "web", "im", or "clientname"' */,
conversation integer /*id of root notice in this conversation' */ references notice (id), conversation integer /*id of root notice in this conversation' */ references notice (id),
location varchar(255) /* comment 'physical location' */,
lat decimal(10,7) /* comment 'latitude'*/ , lat decimal(10,7) /* comment 'latitude'*/ ,
lon decimal(10,7) /* comment 'longitude'*/ , lon decimal(10,7) /* comment 'longitude'*/ ,
location_id integer /* comment 'location id if possible'*/ , location_id integer /* comment 'location id if possible'*/ ,

View File

@ -319,7 +319,7 @@ abstract class Installer
$this->updateStatus(sprintf("Adding %s data to database...", $name)); $this->updateStatus(sprintf("Adding %s data to database...", $name));
$res = $this->runDbScript($scr.'.sql', $conn, 'pgsql'); $res = $this->runDbScript($scr.'.sql', $conn, 'pgsql');
if ($res === false) { if ($res === false) {
$this->updateStatus(sprintf("Can't run %d script.", $name), true); $this->updateStatus(sprintf("Can't run %s script.", $name), true);
return false; return false;
} }
} }

View File

@ -501,8 +501,11 @@ class Ostatus_profile extends Memcached_DataObject
} else if ($actor->id) { } else if ($actor->id) {
// We have an ActivityStreams actor with an explicit ID that doesn't match the feed owner. // 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! // This isn't what we expect from mainline OStatus person feeds!
// Group feeds go down another path, with different validation. // 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}"); // 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 { } else {
// Plain <author> without ActivityStreams actor info. // Plain <author> without ActivityStreams actor info.
// We'll just ignore this info for now and save the update under the feed's identity. // We'll just ignore this info for now and save the update under the feed's identity.

View File

@ -114,9 +114,10 @@ class DiscoveryHints {
static function _hcard($body, $url) 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 = new DOMDocument();
$doc->loadHTML($body); $doc->loadHTML($body);

View File

@ -196,8 +196,9 @@ class FeedDiscovery
*/ */
function discoverFromHTML($url, $body) function discoverFromHTML($url, $body)
{ {
// DOMDocument::loadHTML may throw warnings on unrecognized elements. // DOMDocument::loadHTML may throw warnings on unrecognized elements,
$old = error_reporting(error_reporting() & ~E_WARNING); // and notices on unrecognized namespaces.
$old = error_reporting(error_reporting() & ~(E_WARNING | E_NOTICE));
$dom = new DOMDocument(); $dom = new DOMDocument();
$ok = $dom->loadHTML($body); $ok = $dom->loadHTML($body);
error_reporting($old); error_reporting($old);

View File

@ -92,7 +92,13 @@ abstract class BaseMirrorAction extends Action
*/ */
protected function profileForFeed($url) 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()) { if ($oprofile->isGroup()) {
$this->clientError(_m("Can't mirror a StatusNet group at this time.")); $this->clientError(_m("Can't mirror a StatusNet group at this time."));
} }