diff options
Diffstat (limited to 'lib/noticelist.php')
-rw-r--r-- | lib/noticelist.php | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/lib/noticelist.php b/lib/noticelist.php index dd97b85bd..5877827ff 100644 --- a/lib/noticelist.php +++ b/lib/noticelist.php @@ -392,6 +392,11 @@ class NoticeListItem extends Widget $name = $location->getName(); + if (empty($name)) { + // XXX: Could be a translation issue. Fall back to... something? + return; + } + $lat = $this->notice->lat; $lon = $this->notice->lon; $latlon = (!empty($lat) && !empty($lon)) ? $lat.';'.$lon : ''; @@ -400,17 +405,16 @@ class NoticeListItem extends Widget $this->out->elementStart('span', array('class' => 'location')); $this->out->text(_('at')); - - $this->out->elementStart('a', array('class' => 'geo', 'href' => $url)); - $this->out->elementStart('abbr', array('class' => 'latitude', 'title' => $lat, 'style' => empty($name)?null:'display: none')); - $this->out->text($lat); //TODO translate to a prettier format, like "S 37.2 deg" instead of "-37.2" - $this->out->elementEnd('abbr'); - $this->out->elementStart('abbr', array('class' => 'longitude', 'title' => $lon, 'style' => empty($name)?null:'display: none')); - $this->out->text($lon); - $this->out->elementEnd('abbr'); - $this->out->text($name); - $this->out->elementEnd('a'); - + if (empty($url)) { + $this->out->element('span', array('class' => 'geo', + 'title' => $latlon), + $name); + } else { + $this->out->element('a', array('class' => 'geo', + 'title' => $latlon, + 'href' => $url), + $name); + } $this->out->elementEnd('span'); } |