Add an event to get plugin discovery hints from XRD

This commit is contained in:
Mikael Nordfeldth 2015-10-04 14:46:45 +02:00
parent 2aed59a02a
commit 684b9419a0
1 changed files with 23 additions and 20 deletions

View File

@ -24,28 +24,31 @@ class DiscoveryHints {
{
$hints = array();
foreach ($xrd->links as $link) {
switch ($link->rel) {
case WebFingerResource_Profile::PROFILEPAGE:
$hints['profileurl'] = $link->href;
break;
case Salmon::REL_SALMON:
case Salmon::NS_MENTIONS: // XXX: deprecated, remove in the future
case Salmon::NS_REPLIES: // XXX: deprecated, remove in the future
$hints['salmon'] = $link->href;
break;
case Discovery::UPDATESFROM:
if (empty($link->type) || $link->type == 'application/atom+xml') {
$hints['feedurl'] = $link->href;
if (Event::handle('StartDiscoveryHintsFromXRD', array($xrd, &$hints))) {
foreach ($xrd->links as $link) {
switch ($link->rel) {
case WebFingerResource_Profile::PROFILEPAGE:
$hints['profileurl'] = $link->href;
break;
case Salmon::REL_SALMON:
case Salmon::NS_MENTIONS: // XXX: deprecated, remove in the future
case Salmon::NS_REPLIES: // XXX: deprecated, remove in the future
$hints['salmon'] = $link->href;
break;
case Discovery::UPDATESFROM:
if (empty($link->type) || $link->type == 'application/atom+xml') {
$hints['feedurl'] = $link->href;
}
break;
case Discovery::HCARD:
case Discovery::MF2_HCARD:
$hints['hcard'] = $link->href;
break;
default:
break;
}
break;
case Discovery::HCARD:
case Discovery::MF2_HCARD:
$hints['hcard'] = $link->href;
break;
default:
break;
}
Event::handle('EndDiscoveryHintsFromXRD', array($xrd, &$hints));
}
return $hints;