// @todo XXX: Documentation missing.
class FoafAction extends Action
{
- function isReadOnly($args)
+ function isReadOnly(array $args=array())
{
return true;
}
- function prepare($args)
+ function prepare(array $args=array())
{
parent::prepare($args);
if (empty($nickname_arg)) {
// TRANS: Client error displayed when requesting Friends of a Friend feed without providing a user nickname.
$this->clientError(_('No such user.'), 404);
- return false;
}
$this->nickname = common_canonical_nickname($nickname_arg);
common_redirect(common_local_url('foaf',
array('nickname' => $this->nickname)),
301);
- return false;
}
$this->user = User::getKV('nickname', $this->nickname);
if (!$this->user) {
// TRANS: Client error displayed when requesting Friends of a Friend feed for an object that is not a user.
$this->clientError(_('No such user.'), 404);
- return false;
}
$this->profile = $this->user->getProfile();
if (!$this->profile) {
// TRANS: Error message displayed when referring to a user without a profile.
$this->serverError(_('User has no profile.'), 500);
- return false;
}
return true;
}
- function handle($args)
+ function handle(array $args=array())
{
parent::handle($args);
// 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));
+ $this->elementStart('Agent', array('rdf:about' => $this->user->getUri()));
if ($this->user->email) {
$this->element('mbox_sha1sum', null, sha1('mailto:' . $this->user->email));
}
}
$this->elementEnd('Image');
$this->elementEnd('img');
- } catch (Exception $e) {
+ } catch (NoAvatarException $e) {
// No avatar for this user!
}
$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');