* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
+if (!defined('GNUSOCIAL')) { exit(1); }
define('LISTENER', 1);
define('LISTENEE', -1);
define('BOTH', 0);
// @todo XXX: Documentation missing.
-class FoafAction extends Action
+class FoafAction extends ManagedAction
{
function isReadOnly($args)
{
return true;
}
- function prepare($args)
+ protected function doPreparation()
{
- parent::prepare($args);
-
$nickname_arg = $this->arg('nickname');
if (empty($nickname_arg)) {
return true;
}
- function handle($args)
+ public function showPage()
{
- parent::handle($args);
-
header('Content-Type: application/rdf+xml');
$this->startXML();
// This is the document about the user
- $this->showPpd('', $this->user->uri);
+ $this->showPpd('', $this->user->getUri());
// Would be nice to tell if they were a Person or not (e.g. a #person usertag?)
- $this->elementStart('Agent', array('rdf:about' =>
- $this->user->uri));
- if ($this->user->email) {
+ $this->elementStart('Agent', array('rdf:about' => $this->user->getUri()));
+ if (common_config('foaf', 'mbox_sha1sum') && $this->user->email) {
$this->element('mbox_sha1sum', null, sha1('mailto:' . $this->user->email));
}
if ($this->profile->fullname) {
}
$person = $this->showMicrobloggingAccount($this->profile,
- common_root_url(), $this->user->uri,
+ common_root_url(), $this->user->getUri(),
/*$fetchSubscriptions*/true,
/*$isSubscriber*/false);
if ($sub->find()) {
while ($sub->fetch()) {
$profile = Profile::getKV('id', $sub->subscriber);
- if (empty($profile)) {
+ if (!$profile instanceof Profile) {
common_debug('Got a bad subscription: '.print_r($sub,true));
continue;
}
$profile = Profile::getKV($id);
$this->elementStart('Agent', array('rdf:about' => $uri));
if ($type == BOTH) {
- $this->element('knows', array('rdf:resource' => $this->user->uri));
+ $this->element('knows', array('rdf:resource' => $this->user->getUri()));
}
$this->showMicrobloggingAccount($profile,
($local == 'local') ? common_root_url() : null,
unset($sub);
} else if ($isSubscriber) {
// Just declare that they follow the user whose FOAF we're showing.
- $this->element('sioc:follows', array('rdf:resource' => $this->user->uri . '#acct'));
+ $this->element('sioc:follows', array('rdf:resource' => $this->user->getUri() . '#acct'));
}
$this->elementEnd('OnlineAccount');