show notice location in notice list

This commit is contained in:
Evan Prodromou 2009-10-29 16:16:02 -04:00
parent 5b0809f4a3
commit 49dd54315f

View File

@ -199,6 +199,7 @@ class NoticeListItem extends Widget
{ {
$this->out->elementStart('div', 'entry-content'); $this->out->elementStart('div', 'entry-content');
$this->showNoticeLink(); $this->showNoticeLink();
$this->showNoticeLocation();
$this->showNoticeSource(); $this->showNoticeSource();
$this->showContext(); $this->showContext();
$this->out->elementEnd('div'); $this->out->elementEnd('div');
@ -369,6 +370,44 @@ class NoticeListItem extends Widget
$this->out->elementEnd('a'); $this->out->elementEnd('a');
} }
/**
* show the notice location
*
* shows the notice location in the correct language.
*
* If an URL is available, makes a link. Otherwise, just a span.
*
* @return void
*/
function showNoticeLocation()
{
$id = $this->notice->id;
$location = $this->notice->getLocation();
if (empty($location)) {
return;
}
$name = $location->getName();
if (empty($name)) {
// XXX: Could be a translation issue. Fall back to... something?
return;
}
$url = $location->getUrl();
if (empty($url)) {
$this->out->element('span', array('class' => 'location'), $name);
} else {
$this->out->element('a', array('class' => 'location',
'href' => $url),
$name);
}
}
/** /**
* Show the source of the notice * Show the source of the notice
* *