diff options
author | Craig Andrews <candrews@integralblue.com> | 2009-11-19 12:00:25 -0500 |
---|---|---|
committer | Craig Andrews <candrews@integralblue.com> | 2009-11-19 12:00:25 -0500 |
commit | 4463768baed036b487d473a60b30f0c314ee1673 (patch) | |
tree | 5c617bf209239e36929117beda261778815756f9 /actions | |
parent | ad0b9a7115dd0681b003f350bebcd6b6e39ea8b2 (diff) |
tobyink's location RDF patch
Diffstat (limited to 'actions')
-rw-r--r-- | actions/foaf.php | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/actions/foaf.php b/actions/foaf.php index 356393304..e9f67b7f2 100644 --- a/actions/foaf.php +++ b/actions/foaf.php @@ -108,11 +108,29 @@ class FoafAction extends Action 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'); } |