public function linkForItem(KurogoObject $post, $data = null) { $options = array('id' => $post->getID()); foreach (array('feed', 'filter') as $field) { if (isset($data[$field])) { $options[$field] = $data[$field]; } } $addBreadcrumb = isset($data['addBreadcrumb']) ? $data['addBreadcrumb'] : true; $noBreadcrumbs = isset($data['noBreadcrumbs']) ? $data['noBreadcrumbs'] : false; if ($noBreadcrumbs) { $url = $this->buildURL('detail', $options); } else { $url = $this->buildBreadcrumbURL('detail', $options, $addBreadcrumb); } $subtitle = $this->elapsedTime($post->getCreated()->format('U')); $author = false; if (isset($data['feed'])) { $subtitle = $this->feeds[$data['feed']]->getTitle() . ' ' . $subtitle; $author = $this->feeds[$data['feed']]->getUser($post->getAuthor()); } $link = array('url' => $url, 'body' => $post->getBody(), 'title' => $post->getBody(), 'created' => $this->elapsedTime($post->getCreated()->format('U')), 'subtitle' => $this->elapsedTime($post->getCreated()->format('U')), 'sort' => $post->getCreated()->format('U'), 'class' => $post->getServiceName()); if ($author) { $link['author'] = $author->getName(); $link['img'] = $author->getImageURL(); } return $link; }