OStatus: save Salmon postback URI in feed subscription info, if provided. Will need it for sub/unsub postbacks and other notifications.

This commit is contained in:
Brion Vibber 2010-02-11 20:12:48 +00:00
parent 21bfbc43ad
commit 1773d12a24
2 changed files with 16 additions and 4 deletions

View File

@ -93,11 +93,12 @@ class Feedinfo extends Memcached_DataObject
'group_id' => DB_DATAOBJECT_INT, 'group_id' => DB_DATAOBJECT_INT,
'feeduri' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL, 'feeduri' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL,
'homeuri' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL, 'homeuri' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL,
'huburi' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL, 'huburi' => DB_DATAOBJECT_STR,
'secret' => DB_DATAOBJECT_STR, 'secret' => DB_DATAOBJECT_STR,
'verify_token' => DB_DATAOBJECT_STR, 'verify_token' => DB_DATAOBJECT_STR,
'sub_start' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME, 'sub_start' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME,
'sub_end' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME, 'sub_end' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME,
'salmonuri' => DB_DATAOBJECT_STR,
'created' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL, 'created' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL,
'lastupdate' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL); 'lastupdate' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL);
} }
@ -119,8 +120,8 @@ class Feedinfo extends Memcached_DataObject
255, false, 'UNI'), 255, false, 'UNI'),
new ColumnDef('homeuri', 'varchar', new ColumnDef('homeuri', 'varchar',
255, false), 255, false),
new ColumnDef('huburi', 'varchar', new ColumnDef('huburi', 'text',
255, false), null, true),
new ColumnDef('verify_token', 'varchar', new ColumnDef('verify_token', 'varchar',
32, true), 32, true),
new ColumnDef('secret', 'varchar', new ColumnDef('secret', 'varchar',
@ -129,6 +130,8 @@ class Feedinfo extends Memcached_DataObject
null, true), null, true),
new ColumnDef('sub_end', 'datetime', new ColumnDef('sub_end', 'datetime',
null, true), null, true),
new ColumnDef('salmonuri', 'text',
null, true),
new ColumnDef('created', 'datetime', new ColumnDef('created', 'datetime',
null, false), null, false),
new ColumnDef('lastupdate', 'datetime', new ColumnDef('lastupdate', 'datetime',

View File

@ -89,6 +89,10 @@ class FeedMunger
$feedinfo->feeduri = $this->url; $feedinfo->feeduri = $this->url;
$feedinfo->homeuri = $this->feed->link; $feedinfo->homeuri = $this->feed->link;
$feedinfo->huburi = $this->getHubLink(); $feedinfo->huburi = $this->getHubLink();
$salmon = $this->getSalmonLink();
if ($salmon) {
$feedinfo->salmonuri = $salmon;
}
return $feedinfo; return $feedinfo;
} }
@ -154,7 +158,12 @@ class FeedMunger
{ {
return $this->getAtomLink($this->feed, array('rel' => 'hub')); return $this->getAtomLink($this->feed, array('rel' => 'hub'));
} }
function getSalmonLink()
{
return $this->getAtomLink($this->feed, array('rel' => 'salmon'));
}
function getSelfLink() function getSelfLink()
{ {
return $this->getAtomLink($this->feed, array('rel' => 'self')); return $this->getAtomLink($this->feed, array('rel' => 'self'));