* @link http://status.net/
*/
-if (!defined('STATUSNET')) {
- // This check helps protect against security problems;
- // your code file can't be executed directly from the web.
- exit(1);
-}
+if (!defined('GNUSOCIAL')) { exit(1); }
/**
* widget for displaying a single notice
*
* @param Notice $notice The notice we'll display
*/
- function __construct($notice, $out=null)
+ function __construct(Notice $notice, HTMLOutputter $out=null)
{
parent::__construct($out);
if (!empty($notice->repeat_of)) {
$this->showNoticeLink();
$this->showNoticeSource();
$this->showNoticeLocation();
- $this->showContext();
+ if ($this->notice->hasConversation()) {
+ $this->showContext();
+ }
$this->showRepeat();
Event::handle('EndShowNoticeInfo', array($this));
}
/**
* show the link to the main page for the notice
*
- * Displays a link to the page for a notice, with "relative" time. Tries to
- * get remote notice URLs correct, but doesn't always succeed.
+ * Displays a local link to the rendered notice, with "relative" time.
*
* @return void
*/
function showNoticeLink()
{
- $noticeurl = $this->notice->bestUrl();
-
- // above should always return an URL
-
- assert(!empty($noticeurl));
-
$this->out->elementStart('a', array('rel' => 'bookmark',
'class' => 'timestamp',
- 'href' => $noticeurl));
+ 'href' => $this->notice->getLocalUrl()));
$this->out->element('time', array('class' => 'dt-published',
'datetime' => common_date_iso8601($this->notice->created),
// TRANS: Timestamp title (tooltip text) for NoticeListItem
*/
function showContext()
{
- if ($this->notice->hasConversation()) {
- $conv = Conversation::getKV(
- 'id',
- $this->notice->conversation
- );
- $convurl = $conv->uri;
- if (!empty($convurl)) {
- $this->out->text(' ');
- $this->out->element(
- 'a',
- array(
- 'href' => $convurl.'#notice-'.$this->notice->id,
- 'class' => 'response'),
- // TRANS: Addition in notice list item if notice is part of a conversation.
- _('in context')
- );
- } else {
- $msg = sprintf(
- "Couldn't find Conversation ID %d to make 'in context'"
- . "link for Notice ID %d",
- $this->notice->conversation,
- $this->notice->id
- );
- common_log(LOG_WARNING, $msg);
- }
- }
+ $this->out->element('a',
+ array('href' => $this->notice->getConversationUrl(),
+ 'class' => 'conversation'),
+ // TRANS: Addition in notice list item if notice is part of a conversation.
+ _('in context'));
}
/**