diff options
author | Craig Andrews <candrews@integralblue.com> | 2010-09-05 17:43:29 -0400 |
---|---|---|
committer | Craig Andrews <candrews@integralblue.com> | 2010-09-07 13:45:52 -0400 |
commit | 8d54809c3561bf56afcdb401ef3c009e9a180cbc (patch) | |
tree | 3892a745ce6432901332531a600d41e280c1a0e3 | |
parent | 3dd734b2c3ea49c55467cfbfd4b3a5fb38456e87 (diff) |
move xrd and hostmeta out of the OStatus plugin and into core
add event for setting up hostmeta, and use them in the OStatus plugin
-rw-r--r-- | EVENTS.txt | 8 | ||||
-rw-r--r-- | actions/hostmeta.php (renamed from plugins/OStatus/actions/hostmeta.php) | 23 | ||||
-rw-r--r-- | index.php | 2 | ||||
-rw-r--r-- | lib/router.php | 2 | ||||
-rw-r--r-- | lib/xrd.php (renamed from plugins/OStatus/lib/xrd.php) | 0 | ||||
-rw-r--r-- | plugins/OStatus/OStatusPlugin.php | 10 |
6 files changed, 35 insertions, 10 deletions
diff --git a/EVENTS.txt b/EVENTS.txt index 17e7d62b6..8b7448d67 100644 --- a/EVENTS.txt +++ b/EVENTS.txt @@ -551,6 +551,12 @@ EndPublicXRDS: End XRDS output (right before the closing XRDS tag) - $action: the current action - &$xrdsoutputter - XRDSOutputter object to write to +StartHostMetaLinks: Start /.well-known/host-meta links +- &links: array containing the links elements to be written + +EndHostMetaLinks: End /.well-known/host-meta links +- &links: array containing the links elements to be written + StartCheckPassword: Check a username/password - $nickname: The nickname to check - $password: The password to check @@ -1095,4 +1101,4 @@ StartShowPageTitle: when beginning to show the page title <h1> - $action: action being shown EndShowPageTitle: when done showing the page title <h1> -- $action: action being shown
\ No newline at end of file +- $action: action being shown diff --git a/plugins/OStatus/actions/hostmeta.php b/actions/hostmeta.php index 8ca07f916..be73665f2 100644 --- a/plugins/OStatus/actions/hostmeta.php +++ b/actions/hostmeta.php @@ -18,8 +18,10 @@ */ /** - * @package OStatusPlugin + * @category Action + * @package StatusNet * @maintainer James Walker <james@status.net> + * @author Craig Andrews <candrews@integralblue.com> */ if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } @@ -27,19 +29,28 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } class HostMetaAction extends Action { + /** + * Is read only? + * + * @return boolean true + */ + function isReadOnly() + { + return true; + } + function handle() { parent::handle(); $domain = common_config('site', 'server'); - $url = common_local_url('userxrd'); - $url.= '?uri={uri}'; $xrd = new XRD(); $xrd->host = $domain; - $xrd->links[] = array('rel' => Discovery::LRDD_REL, - 'template' => $url, - 'title' => array('Resource Descriptor')); + + if(Event::handle('StartHostMetaLinks', array(&$xrd->links))) { + Event::handle('EndHostMetaLinks', array(&$xrd->links)); + } header('Content-type: application/xrd+xml'); print $xrd->toXML(); @@ -204,7 +204,7 @@ function checkMirror($action_obj, $args) function isLoginAction($action) { - static $loginActions = array('login', 'recoverpassword', 'api', 'doc', 'register', 'publicxrds', 'otp', 'opensearch', 'rsd'); + static $loginActions = array('login', 'recoverpassword', 'api', 'doc', 'register', 'publicxrds', 'otp', 'opensearch', 'rsd', 'hostmeta'); $login = null; diff --git a/lib/router.php b/lib/router.php index ca3c2e880..86dd116c8 100644 --- a/lib/router.php +++ b/lib/router.php @@ -151,6 +151,8 @@ class Router $m->connect('main/xrds', array('action' => 'publicxrds')); + $m->connect('.well-known/host-meta', + array('action' => 'hostmeta')); // these take a code diff --git a/plugins/OStatus/lib/xrd.php b/lib/xrd.php index 145cd64cb..145cd64cb 100644 --- a/plugins/OStatus/lib/xrd.php +++ b/lib/xrd.php diff --git a/plugins/OStatus/OStatusPlugin.php b/plugins/OStatus/OStatusPlugin.php index 77bc9872b..dd1509954 100644 --- a/plugins/OStatus/OStatusPlugin.php +++ b/plugins/OStatus/OStatusPlugin.php @@ -50,8 +50,6 @@ class OStatusPlugin extends Plugin function onRouterInitialized($m) { // Discovery actions - $m->connect('.well-known/host-meta', - array('action' => 'hostmeta')); $m->connect('main/xrd', array('action' => 'userxrd')); $m->connect('main/ownerxrd', @@ -1012,4 +1010,12 @@ class OStatusPlugin extends Plugin return true; } + + function onStartHostMetaLinks(&$links) { + $url = common_local_url('userxrd'); + $url.= '?uri={uri}'; + $links[] = array('rel' => Discovery::LRDD_REL, + 'template' => $url, + 'title' => array('Resource Descriptor')); + } } |