summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Prodromou <evan@status.net>2010-03-03 14:32:03 -0500
committerEvan Prodromou <evan@status.net>2010-03-03 14:32:03 -0500
commitccd0db1e0a928fe914c894966ecf2260964a68f0 (patch)
treecfb1979b3c3a272b312fd97e6abebe430e078bf7
parent33af29b47cb4009dc89b5431597bfda14dccfe65 (diff)
add remote subscribe button for not-logged-in users looking a profile list with local users in it
-rw-r--r--plugins/OStatus/OStatusPlugin.php30
1 files changed, 26 insertions, 4 deletions
diff --git a/plugins/OStatus/OStatusPlugin.php b/plugins/OStatus/OStatusPlugin.php
index e371f72f9..da7ca2fe2 100644
--- a/plugins/OStatus/OStatusPlugin.php
+++ b/plugins/OStatus/OStatusPlugin.php
@@ -111,11 +111,11 @@ class OStatusPlugin extends Plugin
$acct = 'acct:'. $action->profile->nickname .'@'. common_config('site', 'server');
$url = common_local_url('xrd');
$url.= '?uri='. $acct;
-
+
header('Link: <'.$url.'>; rel="'. Discovery::LRDD_REL.'"; type="application/xrd+xml"');
}
}
-
+
/**
* Set up a PuSH hub link to our internal link for canonical timeline
* Atom feeds for users and groups.
@@ -229,7 +229,6 @@ class OStatusPlugin extends Plugin
return false;
}
-
/**
* Check if we've got remote replies to send via Salmon.
*
@@ -587,7 +586,6 @@ class OStatusPlugin extends Plugin
// Drop the PuSH subscription if there are no other subscribers.
$oprofile->garbageCollect();
-
$member = Profile::staticGet($user->id);
$act = new Activity();
@@ -806,4 +804,28 @@ class OStatusPlugin extends Plugin
return true;
}
+
+ function onStartProfileListItemActionElements($item)
+ {
+ if (!common_logged_in()) {
+
+ $profileUser = User::staticGet('id', $item->profile->id);
+
+ if (!empty($profileUser)) {
+
+ $output = $item->out;
+
+ // Add an OStatus subscribe
+ $output->elementStart('li', 'entity_subscribe');
+ $url = common_local_url('ostatusinit',
+ array('nickname' => $profileUser->nickname));
+ $output->element('a', array('href' => $url,
+ 'class' => 'entity_remote_subscribe'),
+ _m('Subscribe'));
+ $output->elementEnd('li');
+ }
+ }
+
+ return true;
+ }
}