protected function buildPost(XML_Atom_Feed $feed, BlorgPost $post) { $site_base_href = $this->app->getBaseHref(); $blorg_base_href = $site_base_href . $this->app->config->blorg->path; $path = $blorg_base_href . 'archive'; $date = clone $post->publish_date; $date->convertTZ($this->app->default_time_zone); $year = $date->getYear(); $month_name = BlorgPageFactory::$month_names[$date->getMonth()]; $post_uri = sprintf('%s/%s/%s/%s', $path, $year, $month_name, $post->shortname); $entry = new XML_Atom_Entry($post_uri, $post->getTitle(), $post->publish_date); if ($post->extended_bodytext != '') { $full_bodytext = $post->bodytext . $post->extended_bodytext; $entry->setSummary($post->bodytext, 'html'); $entry->setContent($full_bodytext, 'html'); } else { $entry->setContent($post->bodytext, 'html'); } foreach ($post->getTags() as $tag) { $entry->addCategory($tag->shortname, $blorg_base_href, $tag->title); } $entry->addLink($post_uri, 'alternate', 'text/html'); foreach ($post->getVisibleFiles() as $file) { $link = new XML_Atom_Link($site_base_href . $file->getRelativeUri($this->app->config->blorg->path), 'enclosure', $file->mime_type); $link->setTitle($file->getDescription()); $link->setLength($file->filesize); $entry->addLink($link); } if ($post->author->visible) { $author_uri = $blorg_base_href . 'author/' . $post->author->shortname; } else { $author_uri = ''; } $entry->addAuthor($post->author->name, $author_uri, $post->author->email); $visible_comment_count = $post->getVisibleCommentCount(); if ($post->comment_status == SiteCommentStatus::OPEN || $post->comment_status == SiteCommentStatus::MODERATED || $post->comment_status == SiteCommentStatus::LOCKED && $visible_comment_count > 0) { $entry->addLink($post_uri . '#comments', 'comments', 'text/html'); } $feed->addEntry($entry); }
protected function buildComment(XML_Atom_Feed $feed, BlorgComment $comment) { $comment_uri = $this->getPostUri($this->post) . '#comment' . $comment->id; if ($comment->author !== null) { $author_name = $comment->author->name; if ($comment->author->visible) { $author_uri = $this->getBlorgBaseHref() . 'author/' . $this->post->author->shortname; $author_email = $this->post->author->email; } else { $author_uri = ''; $author_email = ''; } } else { $author_name = $comment->fullname; $author_uri = $comment->link; // don't show anonymous author email $author_email = ''; } $entry = new XML_Atom_Entry($comment_uri, sprintf(Blorg::_('By: %s'), $author_name), $comment->createdate); $entry->setContent(SiteCommentFilter::toXhtml($comment->bodytext), 'html'); $entry->addAuthor($author_name, $author_uri, $author_email); $entry->addLink($comment_uri, 'alternate', 'text/html'); $feed->addEntry($entry); }
protected function buildComment(XML_Atom_Feed $feed, BlorgComment $comment) { $post = $comment->post; $path = $this->getBlorgBaseHref() . 'archive'; $date = clone $post->publish_date; $date->convertTZ($this->app->default_time_zone); $year = $date->getYear(); $month_name = BlorgPageFactory::$month_names[$date->getMonth()]; $post_uri = sprintf('%s/%s/%s/%s', $path, $year, $month_name, $post->shortname); $comment_uri = $post_uri . '#comment' . $comment->id; if ($comment->author !== null) { $author_name = $comment->author->name; if ($comment->author->visible) { $author_uri = $this->getBlorgBaseHref() . 'author/' . $comment->author->shortname; $author_email = $comment->author->email; } else { $author_uri = ''; $author_email = ''; } } else { $author_name = $comment->fullname; $author_uri = $comment->link; // don't show anonymous author email $author_email = ''; } $entry = new XML_Atom_Entry($comment_uri, sprintf(Blorg::_('%s on ā%sā'), $author_name, $post->getTitle()), $comment->createdate); $entry->setContent(SiteCommentFilter::toXhtml($comment->bodytext), 'html'); $entry->addAuthor($author_name, $author_uri, $author_email); $entry->addLink($comment_uri, 'alternate', 'text/html'); $feed->addEntry($entry); }
protected function getEntry(PinholeComment $comment) { $photo_uri = $this->getPinholeBaseHref(); $photo_uri .= 'photo/' . $comment->photo->id; $comment_uri = $photo_uri . '#comment' . $comment->id; if ($comment->photographer !== null) { $author_name = $comment->photographer->fullname; $author_uri = ''; $author_email = ''; } else { $author_name = $comment->fullname; $author_uri = $comment->link; $author_email = ''; } $entry = new XML_Atom_Entry($comment_uri, sprintf(Pinhole::_('%s on ā%sā'), $author_name, $comment->photo->getTitle()), $comment->createdate); ob_start(); $img_tag = $comment->photo->getImgTag('thumb'); $a_tag = new SwatHtmlTag('a'); $a_tag->href = $this->getPinholeBaseHref() . 'photo/' . $comment->photo->id; $a_tag->style = sprintf('display: block; position: absolute; ' . 'width: %dpx;', $img_tag->width); $a_tag->open(); echo $img_tag; $a_tag->close(); printf('<div style="margin-left: %dpx;">', $img_tag->width + 20); echo SiteCommentFilter::toXhtml($comment->bodytext); echo '</div>'; $entry->setContent(ob_get_clean(), 'html'); $entry->addAuthor($author_name, $author_uri, $author_email); $entry->addLink($comment_uri, 'alternate', 'text/html'); return $entry; }