if ($this->profile->bio) {
$this->element('bio:olb', null, $this->profile->bio);
}
- // XXX: more structured location data
- if ($this->profile->location) {
+
+ $location = $this->profile->getLocation();
+ if ($location) {
+ $attr = array();
+ if ($location->getRdfURL()) {
+ $attr['rdf:about'] = $location->getRdfURL();
+ }
+ $location_name = $location->getName();
+
$this->elementStart('based_near');
- $this->elementStart('geo:SpatialThing');
- $this->element('name', null, $this->profile->location);
+ $this->elementStart('geo:SpatialThing', $attr);
+ if ($location_name) {
+ $this->element('name', null, $location_name);
+ }
+ if ($location->lat) {
+ $this->element('geo:lat', null, $location->lat);
+ }
+ if ($location->lon) {
+ $this->element('geo:long', null, $location->lat);
+ }
+ if ($location->getURL()) {
+ $this->element('page', array('rdf:resource'=>$location->getURL()));
+ }
$this->elementEnd('geo:SpatialThing');
$this->elementEnd('based_near');
}
while ($sub->fetch()) {
if ($sub->token) {
$other = Remote_profile::staticGet('id', $sub->subscriber);
+ $profile = Profile::staticGet('id', $sub->subscriber);
} else {
$other = User::staticGet('id', $sub->subscriber);
+ $profile = Profile::staticGet('id', $sub->subscriber);
}
if (!$other) {
common_debug('Got a bad subscription: '.print_r($sub,true));
} else {
$person[$other->uri] = array(LISTENER,
$other->id,
- $other->nickname,
+ $profile->nickname,
(empty($sub->token)) ? 'User' : 'Remote_profile');
}
$other->free();
$other = null;
unset($other);
+ $profile->free();
+ $profile = null;
+ unset($profile);
}
}
while ($sub->fetch()) {
if (!empty($sub->token)) {
$other = Remote_profile::staticGet('id', $sub->subscribed);
+ $profile = Profile::staticGet('id', $sub->subscribed);
} else {
$other = User::staticGet('id', $sub->subscribed);
+ $profile = Profile::staticGet('id', $sub->subscribed);
}
if (empty($other)) {
common_debug('Got a bad subscription: '.print_r($sub,true));
$this->element('sioc:follows', array('rdf:resource' => $other->uri.'#acct'));
$person[$other->uri] = array(LISTENEE,
$other->id,
- $other->nickname,
+ $profile->nickname,
(empty($sub->token)) ? 'User' : 'Remote_profile');
$other->free();
$other = null;
unset($other);
+ $profile->free();
+ $profile = null;
+ unset($profile);
}
}