function RecentRP_getRecentCommentsView($comments, $template) { global $contentContainer; $context = Model_Context::getInstance(); ob_start(); foreach ($comments as $comment) { $view = "{$template}"; Utils_Misc::dress('rctrp_rep_link', $context->getProperty('uri.blog') . "/{$comment['entry']}#comment{$comment['id']}", $view); $contentContainer["recent_comment_{$comment['id']}"] = htmlspecialchars(Utils_Unicode::lessenAsEm(strip_tags($comment['comment']), 30)); Utils_Misc::dress('rctrp_rep_desc', setTempTag("recent_comment_{$comment['id']}"), $view); Utils_Misc::dress('rctrp_rep_desc', htmlspecialchars(Utils_Unicode::lessenAsEm(strip_tags($comment['comment']), 30)), $view); Utils_Misc::dress('rctrp_rep_time', fireEvent('ViewRecentCommentDate', Timestamp::format3($comment['written'])), $view); Utils_Misc::dress('rctrp_rep_name', htmlspecialchars(Utils_Unicode::lessenAsEm(strip_tags($comment['name']), 10)) . $comment['secret'] . $comment['replier'], $view); print $view; } $view = ob_get_contents(); ob_end_clean(); return $view; }
function getRecentCommentsView($comments, $commentView = null, $template = null) { $context = Model_Context::getInstance(); global $contentContainer; $recentCommentView = ''; if (is_null($template)) { $skin = new Skin($context->getProperty('skin.skin')); $template = $skin->recentCommentItem; } foreach ($comments as $comment) { $view = "{$template}"; dress('rctrp_rep_link', $context->getProperty('uri.blog') . "/" . ($context->getProperty('blog.useSloganOnPost') ? "entry/" . URL::encode($comment['slogan'], $context->getProperty('service.useEncodedURL')) : $comment['entry']) . "?commentId=" . $comment['id'] . "#comment{$comment['id']}", $view); $contentContainer["recent_comment_{$comment['id']}"] = htmlspecialchars(Utils_Unicode::lessenAsEm(strip_tags($comment['comment']), $context->getProperty('skin.recentCommentLength'))); dress('rctrp_rep_desc', setTempTag("recent_comment_{$comment['id']}"), $view); dress('rctrp_rep_time', fireEvent('ViewRecentCommentDate', Timestamp::format2($comment['written']), $comment['written']), $view); dress('rctrp_rep_name', htmlspecialchars(Utils_Unicode::lessenAsEm($comment['name'], $context->getProperty('skin.recentCommentLength'))), $view); $recentCommentView .= $view; } if (!is_null($commentView)) { dress('rctrp_rep', $recentCommentView, $commentView); // IE webslice support if ($context->getProperty('blog.useMicroformat', 3) == 3) { $recentCommentView = addWebSlice($commentView, 'recentCommentWebslice', htmlspecialchars($context->getProperty('blog.title') . ' - ' . _t('최근 댓글'))); } else { return $commentView; } } return $recentCommentView; }
/// Copyright (c) 2004-2015, Needlworks / Tatter Network Foundation /// All rights reserved. Licensed under the GPL. /// See the GNU General Public License for more details. (/documents/LICENSE, /documents/COPYRIGHT) // $keylog : $keylog (explanation for specific keyword) // $entries : Posts that contain specific keyword. $skin = new KeylogSkin($skinSetting['keylogSkin']); $out = str_replace("[##_SKIN_head_end_##]", '<script type="text/javascript">//<![CDATA' . CRLF . 'var servicePath = "' . $context->getProperty('service.path') . '"; var blogURL = "' . $context->getProperty('uri.blog') . '"; var adminSkin = "' . $context->getProperty('panel.skin', 'canon') . '";//]]></script><script type="text/javascript" src="' . $service['resourcepath'] . '/script/common3.min.js"></script><script type="text/javascript" src="' . $service['resourcepath'] . '/script/gallery.min.js"></script>' . $skin->skin, $skin->outter); $keylogView = $skin->keylog; $itemsView = ''; $contentContainer = array(); foreach ($entries as $item) { $itemView = $skin->keylogItem; dress('blog_rep_link', $context->getProperty('uri.blog') . "/{$item['id']}", $itemView); dress('blog_rep_title', htmlspecialchars($item['title']), $itemView); dress('blog_rep_regdate', Timestamp::format3($item['published']), $itemView); if ($item['comments'] > 0) { dress('blog_rep_rp_cnt', "({$item['comments']})", $itemView); } $itemsView .= $itemView; } dress('blog_rep', $itemsView, $keylogView); $contentContainer["keyword_{$keylog['id']}"] = getEntryContentView($blogid, $keylog['id'], $keylog['content'], $keylog['contentformatter'], array(), 'Keyword'); dress('blog_desc', setTempTag("keyword_{$keylog['id']}"), $keylogView); dress('blog_conform', htmlspecialchars($keylog['title']), $keylogView); dress('blog', $keylogView, $out); dress('blog_word', htmlspecialchars($keylog['title']), $out); dress('body_id', "tt-body-keylog", $out); $out = revertTempTags(removeAllTags($out)); fireEvent('OBStart'); print $out; fireEvent('OBEnd');
$author = User::getName($entry['userid']); dress('article_rep_author', fireEvent('ViewPostAuthor', $author, $entry['id']), $entryView); dress('article_rep_author_link', $blogURL . "/author/" . rawurlencode($author), $entryView); dress('article_rep_id', $entry['id'], $entryView); dress('article_rep_link', $permalink, $entryView); dress('article_rep_rp_rssurl', $context->getProperty('uri.default') . '/rss/comment/' . $entry['id'], $entryView); dress('article_rep_tb_rssurl', $context->getProperty('uri.default') . '/rss/trackback/' . $entry['id'], $entryView); dress('article_rep_response_rssurl', $context->getProperty('uri.default') . '/rss/response/' . $entry['id'], $entryView); dress('article_rep_rp_atomurl', $context->getProperty('uri.default') . '/atom/comment/' . $entry['id'], $entryView); dress('article_rep_tb_atomurl', $context->getProperty('uri.default') . '/atom/trackback/' . $entry['id'], $entryView); dress('article_rep_response_atomurl', $context->getProperty('uri.default') . '/atom/response/' . $entry['id'], $entryView); dress('article_rep_category_body_id', getCategoryBodyIdById($blogid, $entry['category']) ? getCategoryBodyIdById($blogid, $entry['category']) : 'tt-body-category', $entryView); dress('article_rep_title', htmlspecialchars(fireEvent('ViewPostTitle', $entry['title'], $entry['id'])), $entryView); // 사용자가 작성한 본문은 interface/common/blog/end.php의 removeAllTags() 다음에 처리하기 위한 조치. $contentContainer["article_{$entry['id']}"] = getEntryContentView($blogid, $entry['id'], $entry['content'], $entry['contentformatter'], getKeywordNames($blogid)); dress('article_rep_desc', setTempTag("article_{$entry['id']}"), $entryView); dress('article_rep_category', htmlspecialchars(empty($entry['category']) ? _text('분류없음') : $entry['categoryLabel'], $entry['id']), $entryView); dress('article_rep_category_link', $context->getProperty('uri.blog') . "/category/" . (empty($entry['category']) ? "" : ($blog['useSloganOnCategory'] ? URL::encode($entry['categoryLabel'], $service['useEncodedURL']) : $entry['category'])), $entryView); dress('article_rep_category_rssurl', $context->getProperty('uri.default') . "/rss/category/" . (empty($entry['category']) ? "" : ($blog['useSloganOnCategory'] ? URL::encode($entry['categoryLabel'], $service['useEncodedURL']) : $entry['category'])), $entryView); dress('article_rep_category_atomurl', $context->getProperty('uri.default') . "/atom/category/" . (empty($entry['category']) ? "" : ($blog['useSloganOnCategory'] ? URL::encode($entry['categoryLabel'], $service['useEncodedURL']) : $entry['category'])), $entryView); dress('article_rep_microformat_published', Timestamp::getISO8601($entry['published']), $entryView); dress('article_rep_microformat_updated', Timestamp::getISO8601($entry['modified']), $entryView); dress('article_rep_date', fireEvent('ViewPostDate', Timestamp::format5($entry['published']), $entry['published']), $entryView); dress('article_rep_date_modified', fireEvent('ViewPostDate', Timestamp::format5($entry['modified']), $entry['modified']), $entryView); dress('entry_archive_link', $context->getProperty('uri.blog') . "/archive/" . Timestamp::getDate($entry['published']), $entryView); if ($entry['acceptcomment'] || $entry['comments'] > 0) { dress('article_rep_rp_link', "loadComment({$entry['id']},1,false,false); return false", $entryView); } else { dress('article_rep_rp_link', "return false", $entryView); } dress('article_rep_rp_cnt_id', "commentCount{$entry['id']}", $entryView);