function getRandomTagsView($tags, $template) { $context = Model_Context::getInstance(); ob_start(); list($maxTagFreq, $minTagFreq) = getTagFrequencyRange(); foreach ($tags as $tag) { $view = $template; dress('tag_link', $context->getProperty('uri.blog') . "/tag/" . (Setting::getBlogSettingGlobal('useSloganOnTag', true) ? URL::encode($tag['name'], $context->getProperty('service.useEncodedURL')) : $tag['id']), $view); dress('tag_name', htmlspecialchars($tag['name']), $view); dress('tag_class', "cloud" . getTagFrequency($tag, $maxTagFreq, $minTagFreq), $view); print $view; } $view = ob_get_contents(); ob_end_clean(); return $view; }
$pool->setQualifier('visibility', 'equals', 3); $pool->setQualifier('acceptcomment', 'equals', 1); $row = $pool->getAll('*'); if (!empty($row)) { sendCommentPing($entryId, $context->getProperty('uri.default') . "/" . ($context->getProperty('blog.useSloganOnPost') ? "entry/{$row['slogan']}" : $entryId), is_null($user) ? $comment['name'] : $user['name'], is_null($user) ? $comment['homepage'] : $user['homepage']); } } importlib('model.blog.skin'); $skin = new Skin($context->getProperty('skin.skin')); if ($entryId > 0) { $commentBlock = getCommentView($entry, $skin); dress('article_rep_id', $entryId, $commentBlock); $commentBlock = escapeCData(revertTempTags(removeAllTags($commentBlock))); $recentCommentBlock = escapeCData(revertTempTags(getRecentCommentsView(getRecentComments($blogid), null, $skin->recentCommentItem))); $commentCount = getCommentCount($blogid, $entryId); $commentCount = $commentCount > 0 ? $commentCount : 0; list($tempTag, $commentView) = getCommentCountPart($commentCount, $skin); } else { $commentView = ''; $commentBlock = getCommentView($entry, $skin); dress('article_rep_id', $entryId, $commentBlock); $commentBlock = escapeCData(revertTempTags(removeAllTags($commentBlock))); $commentCount = 0; $recentCommentBlock = escapeCData(revertTempTags(getRecentCommentsView(getRecentComments($blogid), $skin->recentComment, $skin->recentCommentItem))); } Respond::PrintResult(array('error' => 0, 'commentView' => $commentView, 'commentCount' => $commentCount, 'commentBlock' => $commentBlock, 'recentCommentBlock' => $recentCommentBlock)); exit; } } } }
function handleSidebars(&$sval, &$obj, $previewMode) { global $service, $pluginURL, $pluginPath, $pluginName, $configVal, $configMappings; importlib('model.blog.sidebar'); $newSidebarAllOrders = array(); // [sidebar id][element id](type, id, parameters) // type : 1=skin text, 2=default handler, 3=plug-in // id : type1=sidebar i, type2=handler id, type3=plug-in handler name // parameters : type1=sidebar j, blah blah~ $sidebarCount = count($obj->sidebarBasicModules); $sidebarAllOrders = getSidebarModuleOrderData($sidebarCount); if ($previewMode == true) { $sidebarAllOrders = null; } else { if (is_null($sidebarAllOrders)) { $sidebarAllOrders = array(); } } for ($i = 0; $i < $sidebarCount; $i++) { $str = ""; if (!is_null($sidebarAllOrders) && array_key_exists($i, $sidebarAllOrders)) { $currentSidebarOrder = $sidebarAllOrders[$i]; for ($j = 0; $j < count($currentSidebarOrder); $j++) { if ($currentSidebarOrder[$j]['type'] == 1) { // skin text $skini = $currentSidebarOrder[$j]['id']; $skinj = $currentSidebarOrder[$j]['parameters']; if (isset($obj->sidebarBasicModules[$skini]) && isset($obj->sidebarBasicModules[$skini][$skinj])) { $str .= $obj->sidebarBasicModules[$skini][$skinj]['body']; } } else { if ($currentSidebarOrder[$j]['type'] == 2) { // default handler // TODO : implement } else { if ($currentSidebarOrder[$j]['type'] == 3) { // plugin $plugin = $currentSidebarOrder[$j]['id']['plugin']; $handler = $currentSidebarOrder[$j]['id']['handler']; include_once ROOT . "/plugins/{$plugin}/index.php"; if (function_exists($handler)) { $str .= "[##_temp_sidebar_element_{$i}_{$j}_##]"; $parameter = $currentSidebarOrder[$j]['parameters']; $obj->sidebarStorage["temp_sidebar_element_{$i}_{$j}"]['plugin'] = $plugin; $obj->sidebarStorage["temp_sidebar_element_{$i}_{$j}"]['handler'] = $handler; $obj->sidebarStorage["temp_sidebar_element_{$i}_{$j}"]['parameters'] = $parameter; } else { $obj->sidebarStorage["temp_sidebar_element_{$i}_{$j}"] = ""; } } else { // WHAT? } } } } } else { $newSidebarAllOrders[$i] = array(); for ($j = 0; $j < count($obj->sidebarBasicModules[$i]); $j++) { $str .= $obj->sidebarBasicModules[$i][$j]['body']; array_push($newSidebarAllOrders[$i], array('type' => '1', 'id' => "{$i}", 'parameters' => "{$j}")); } if (!is_null($sidebarAllOrders)) { $sidebarAllOrders[$i] = $newSidebarAllOrders[$i]; } } dress("sidebar_{$i}", $str, $sval); } if (count($newSidebarAllOrders) > 0) { if ($previewMode == false && !is_null($sidebarAllOrders)) { Setting::setBlogSettingGlobal("sidebarOrder", serialize($sidebarAllOrders)); CacheControl::flushSkin(); } } }
function pretty_dress($view) { global $blogid, $blog, $database, $service, $stats, $skinSetting; $context = Model_Context::getInstance(); /* local static */ global $pd_category, $pd_categoryXhtml, $pd_archive, $pd_calendar, $pd_tags, $pd_notices, $pd_recentEntry; global $pd_recentComment, $pd_recentTrackback, $pd_link, $pd_authorList; if (isset($_REQUEST['safe'])) { // safe mode return '<div class="coverpage-element-safebox">…</div>'; } if (isset($_REQUEST['tag'])) { // safe mode return '<div class="coverpage-element-safebox"><p>' . nl2br(htmlspecialchars($view, ENT_QUOTES)) . '</p></div>'; } $writer = User::getBlogOwnerName($blogid); $pageTitle = _t('페이지 제목'); dress('page_title', htmlspecialchars($pageTitle), $view); dress('blogger', htmlspecialchars($writer), $view); dress('title', htmlspecialchars($context->getProperty('blog.title')), $view); dress('desc', htmlspecialchars($context->getProperty('blog.description')), $view); if ($context->getProperty('blog.logo') != null) { dress('image', $context->getProperty('service.path') . "/attach/{$blogid}/" . $context->getProperty('blog.logo'), $view); } else { dress('image', $context->getProperty('service.path') . "/resources/image/spacer.gif", $view); } dress('blog_link', $context->getProperty('uri.blog') . "/", $view); dress('keylog_link', $context->getProperty('uri.blog') . "/keylog", $view); dress('localog_link', $context->getProperty('uri.blog') . "/location", $view); dress('taglog_link', $context->getProperty('uri.blog') . "/tag", $view); dress('guestbook_link', $context->getProperty('uri.blog') . "/guestbook", $view); list($view, $searchView) = Skin::cutSkinTag($view, 'search'); dress('search_name', 'search', $searchView); dress('search_text', isset($search) ? htmlspecialchars($search) : '', $searchView); dress('search_onclick_submit', 'searchBlog()', $searchView); dress('search', '<form id="TTSearchForm" action="' . parseURL($context->getProperty('uri.blog') . '/search/') . '" method="get" onsubmit="return searchBlog()">' . $searchView . '</form>', $view); dress('category', $pd_category, $view); dress('category_list', $pd_categoryXhtml, $view); dress('count_total', $stats['total'], $view); dress('count_today', $stats['today'], $view); dress('count_yesterday', $stats['yesterday'], $view); list($view, $archiveView) = Skin::cutSkinTag($view, 'archive_rep'); dress('archive_rep', getArchivesView($pd_archive, $archiveView), $view); dress('calendar', $pd_calendar, $view); list($view, $randomView) = Skin::cutSkinTag($view, 'random_tags'); dress('random_tags', getRandomTagsView($pd_tags, $randomView), $view); list($view, $recentNoticeItem) = Skin::cutSkinTag($view, 'rct_notice_rep'); list($view, $noticeView) = Skin::cutSkinTag($view, 'rct_notice'); $notices = $pd_notices; if (sizeof($notices) == 0) { $notices = array(array('title' => _t('공지 제목'), 'id' => -1)); } if (sizeof($notices) > 0) { $itemsView = ''; foreach ($notices as $notice) { $itemView = $recentNoticeItem; dress('notice_rep_title', htmlspecialchars(fireEvent('ViewNoticeTitle', Utils_Unicode::lessenAsEm($notice['title'], $skinSetting['recentNoticeLength']), $notice['id'])), $itemView); dress('notice_rep_link', "{$context->getProperty}('uri.blog')/notice/{$notice['id']}", $itemView); $itemsView .= $itemView; } dress('rct_notice_rep', $itemsView, $noticeView); dress('rct_notice', $noticeView, $view); } list($view, $authorList) = Skin::cutSkinTag($view, 'author_rep'); dress('author_rep', getAuthorListView($pd_authorList, $authorList), $view); list($view, $recentEntry) = Skin::cutSkinTag($view, 'rctps_rep'); dress('rctps_rep', getRecentEntriesView($pd_recentEntry, null, $recentEntry), $view); list($view, $recentComments) = Skin::cutSkinTag($view, 'rctrp_rep'); dress('rctrp_rep', getRecentCommentsView($pd_recentComment, null, $recentComments), $view); list($view, $recentTrackback) = Skin::cutSkinTag($view, 'rcttb_rep'); dress('rcttb_rep', getRecentTrackbacksView($pd_recentTrackback, null, $recentTrackback), $view); list($view, $s_link_rep) = Skin::cutSkinTag($view, 'link_rep'); dress('link_rep', getLinksView($pd_link, $s_link_rep), $view); dress('rss_url', "{$context->getProperty}('uri.blog')/rss", $view); dress('owner_url', "{$context->getProperty}('uri.blog')/owner", $view); dress('textcube_name', TEXTCUBE_NAME, $view); dress('textcube_version', TEXTCUBE_VERSION, $view); $tagSearches = array('@<a @i', '@</a *>@i', '@ id *= *".*"@isU', '@ onkey(down|up|press) *="@i', '@ on(click|load|unload) *="@i', '@<input +@i', '@<script.*</script *>@siU', '@<form @siU', '@</form>@siU'); $tagReplaces = array('<span ', '</span>', '', ' onnothing="', ' onnothing="', '<input disabled="disabled" ', '', '<div ', '</div>'); $view = preg_replace($tagSearches, $tagReplaces, $view); return correctCoverpageImage($view); }
<?php /// 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) $keywordView = $skin->keyword; $previousGroup = ''; $itemsView = ''; if (isset($keywords)) { foreach ($keywords as $item) { $itemView = $skin->keywordItem; dress('keyword_label', htmlspecialchars($item), $itemView); if ($skinSetting['keylogSkin'] != null) { dress('onclick_keyword', "openKeyword('" . $context->getProperty('uri.blog') . "/keylog/" . escapeJSInAttribute($item) . "'); return false;", $itemView); } else { dress('onclick_keyword', "return false;", $itemView); } $itemsView .= $itemView; } } dress('keyword_rep', $itemsView, $keywordView); dress('keyword', $keywordView, $view);
function getTrackbackCountPart($trackbackCount, &$skin) { $noneTrackbackMessage = $skin->noneTrackbackMessage; $singleTrackbackMessage = $skin->singleTrackbackMessage; if ($trackbackCount == 0 && !empty($noneTrackbackMessage)) { dress('article_rep_tb_cnt', 0, $noneTrackbackMessage); $trackbackView = $noneTrackbackMessage; } else { if ($trackbackCount == 1 && !empty($singleTrackbackMessage)) { dress('article_rep_tb_cnt', 1, $singleTrackbackMessage); $trackbackView = $singleTrackbackMessage; } else { $trackbackPart = $skin->trackbackCount; dress('article_rep_tb_cnt', $trackbackCount, $trackbackPart); $trackbackView = $trackbackPart; } } return array("tb_count", $trackbackView); }
list($entries, $paging) = getEntryWithPagingBySlogan($blogid, $suri['value'], true); } else { list($entries, $paging) = getEntryWithPaging($blogid, $suri['id'], true); } if (count($entries) === 1) { unset($paging); } fireEvent('OBStart'); require ROOT . '/interface/common/blog/begin.php'; if (empty($entries)) { header('HTTP/1.1 404 Not Found'); if (empty($skin->pageError)) { dress('article_rep', fireEvent('ViewErrorPage', '<div class="TCwarning">' . _text('존재하지 않는 페이지입니다.') . '</div>'), $view); } else { dress('article_rep', NULL, $view); dress('page_error', fireEvent('ViewErrorPage', $skin->pageError), $view); } unset($paging); } else { require ROOT . '/interface/common/blog/entries.php'; } require ROOT . '/interface/common/blog/end.php'; fireEvent('OBEnd'); } else { if (!empty($freeSlogan)) { header("HTTP/1.1 404 Not Found"); exit; } list($entries, $paging) = getEntriesWithPagingByPage($blogid, $suri['page'], $blog['entriesOnPage']); fireEvent('OBStart'); require ROOT . '/interface/common/blog/begin.php';
<?php /// Copyright (c) 2004-2012, Needlworks / Tatter Network Foundation /// All rights reserved. Licensed under the GPL. /// See the GNU General Public License for more details. (/documents/LICENSE, /documents/COPYRIGHT) $commentListView = $skin->commentList; $itemsView = ''; foreach ($commentList['items'] as $item) { $itemView = $skin->commentListItem; dress('rplist_rep_regdate', fireEvent('ViewCommentListDate', Timestamp::format3($item['written']), $item['written']), $itemView); dress('rplist_rep_link', $context->getProperty('uri.blog') . "/" . ($context->getProperty('blog.useSloganOnPost') ? "entry/" . URL::encode($item['slogan'], $service['useEncodedURL']) : $item['entry']) . "#comment{$item['id']}", $itemView); dress('rplist_rep_name', htmlspecialchars($item['name']), $itemView); dress('rplist_rep_body', htmlspecialchars(fireEvent('ViewCommentListTitle', Utils_Unicode::lessenAsEm($item['comment'], 70))), $itemView); $itemsView .= $itemView; } dress('rplist_rep', $itemsView, $commentListView); dress('rplist_conform', htmlspecialchars(fireEvent('ViewCommentListHeadTitle', $commentList['title'])), $commentListView); dress('rplist_count', count($commentList['items']), $commentListView); dress('rplist', $commentListView, $view);
<?php /// Copyright (c) 2004-2016, Needlworks / Tatter Network Foundation /// All rights reserved. Licensed under the GPL. /// See the GNU General Public License for more details. (/documents/LICENSE, /documents/COPYRIGHT) if (isset($_POST['page'])) { $_GET['page'] = $_POST['page']; } $IV = array('GET' => array('page' => array('int', 1, 'default' => 1))); require ROOT . '/library/preprocessor.php'; fireEvent('OBStart'); require ROOT . '/interface/common/blog/begin.php'; if (count($coverpageMappings) > 0) { dress('article_rep', '', $view); dress('paging', '', $view); require ROOT . '/interface/common/blog/cover.php'; } require ROOT . '/interface/common/blog/end.php'; fireEvent('OBEnd');
/// 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');
if (!empty($sidebarElements)) { foreach ($sidebarElements as $element) { $pluginData = $skin->sidebarStorage[$element]; $plugin = $pluginData['plugin']; include_once ROOT . "/plugins/{$plugin}/index.php"; $pluginURL = $context->getProperty('service.path') . "/plugins/{$plugin}"; // LEGACY SUPPORT $pluginPath = ROOT . "/plugins/{$plugin}"; // LEGACY SUPPORT $context->setProperty('plugin.uri', $context->getProperty('service.path') . "/plugins/{$plugin}"); $context->setProperty('plugin.path', ROOT . "/plugins/{$plugin}"); $context->setProperty('plugin.name', ROOT . $plugin); if (!empty($configMappings[$plugin]['config'])) { $configVal = getCurrentSetting($plugin); // LEGACY SUPPORT $context->setProperty('plugin.config', Setting::fetchConfigVal($configVal)); } else { $configVal = ''; $context->setProperty('plugin.config', array()); } dress($element, call_user_func($pluginData['handler'], $pluginData['parameters']), $view); } } // Coverpage dressing $coverpageElements = array_keys($skin->coverpageStorage); foreach ($coverpageElements as $element) { dress($element, $skin->coverpageStorage[$element], $view); } $view = revertTempTags(removeAllTags($view)); print $view; $gCacheStorage->save();
if (count($entries) > 1 || count($entries) == 1 && empty($suri['value'])) { unset($totalTags); } if (count($entries) == 1) { // Adds trackback RDF $info = array(); $info['title'] = htmlspecialchars($entries[0]['title']); $info['permalink'] = $permalink; $info['trackbackURL'] = $context->getProperty('uri.default') . "/trackback/" . $entries[0]['id']; $entriesView .= getTrackbackRDFView($blogid, $info); } if (isset($cache)) { $cache->contents = revertTempTags(removeAllTags($entriesView)); if (isset($paging)) { $cache->dbContents = $paging; } $cache->update(); } } } $view = str_replace("[##_article_rep_##]", "<div class=\"hfeed\">[##_article_rep_##]</div>", $view); if (isset($isKeylog) && $isKeylog) { dressInsertBefore('list', $entriesView, $view); $isKeylog = false; } else { if (isset($cache->contents)) { dressInsertBefore('article_rep', $entriesView, $view); } else { dress('article_rep', $entriesView, $view); } }
if (isset($cache->contents)) { dress('line', $cache->contents, $view); } else { if (isset($lines) && isset($skin)) { $lineView = $skin->line; $itemsView = ''; $printDate = ''; foreach ($lines as $item) { $time = Timestamp::getHumanReadable($item['created']); if ($item['root'] == 'default') { $item['root'] = 'Textcube Line'; } $itemsView .= str_replace(array('[##_line_rep_regdate_##]', '[##_line_rep_content_##]', '[##_line_rep_author_##]', '[##_line_rep_source_##]', '[##_line_rep_permalink_##]'), array(fireEvent('ViewLineDate', $time, $item['created']), fireEvent('ViewLineContent', $item['content']), fireEvent('ViewLineAuthor', htmlspecialchars($item['author'])), fireEvent('ViewLineSource', htmlspecialchars($item['root'])), fireEvent('ViewLinePermalink', $item['permalink'])), $skin->lineItem); } $itemsView = '<div id="line-content">' . CRLF . $itemsView . CRLF . '</div>'; dress('line_rep', $itemsView, $lineView); $buttonView = str_replace(array('[##_line_onclick_more_##]'), array('getMoreLineStream(2,20,\'bottom\');return false;'), $skin->lineButton); $buttonView = '<div id="line-more-page">' . CRLF . $buttonView . CRLF . '</div>'; dress('line_button', $buttonView, $lineView); $lineView = fireEvent('ViewLine', $lineView, $lines); dress('line_rssurl', $context->getProperty('uri.default') . '/rss/line', $lineView); dress('line_atomurl', $context->getProperty('uri.default') . '/atom/line', $lineView); // if(empty($lines)) $lineView = $lineView.CRLF.'[##_paging_line_##]'; dress('line', $lineView, $view); if (isset($cache)) { $cache->contents = $lineView; $cache->dbContents = $paging; $cache->update(); } } }
<?php /// Copyright (c) 2004-2016, Needlworks / Tatter Network Foundation /// All rights reserved. Licensed under the GPL. /// See the GNU General Public License for more details. (/documents/LICENSE, /documents/COPYRIGHT) $locativeView = '[##_SKIN_local_rep_start_##]'; $prevPath = array(); foreach ($locatives as $locative) { $path = explode('/', $locative['location']); array_shift($path); for ($depth = $i = 0; $i < count($path); $i++, $depth += 20) { $spotView = $skin->locativeSpot; dress('local_spot_depth', $depth, $spotView); dress('local_spot', htmlspecialchars($path[$i]), $spotView); if (empty($prevPath[$i]) || $path[$i] != $prevPath[$i]) { $locativeView .= $spotView; } } $entryView = $skin->locativeEntry; dress('local_info_depth', $depth + 20, $entryView); dress('local_info_link', $context->getProperty('uri.blog') . "/" . ($context->getProperty('blog.useSloganOnPost') ? 'entry/' . URL::encode($locative['slogan'], $service['useEncodedURL']) : $locative['id']), $entryView); dress('local_info_title', htmlspecialchars($locative['title']), $entryView); dress('local_info_author', User::getName($locative['userid']), $entryView); $locativeView .= $entryView; $prevPath = $path; } dress('local', '[##_SKIN_local_start_##]' . str_replace('[##_local_spot_rep_##]', $locativeView, $skin->locative) . '[##_SKIN_local_end_##]', $view);
function dressStaticElements(&$view) { $context = Model_Context::getInstance(); $blogid = $context->getProperty('blog.id'); $writer = User::getBlogOwnerName($blogid); dress('title', htmlspecialchars($context->getProperty('blog.title')), $view); dress('blogger', htmlspecialchars($writer), $view); dress('desc', htmlspecialchars($context->getProperty('blog.description')), $view); $logo = $context->getProperty('blog.logo'); if (!empty($logo)) { dress('image', $context->getProperty('uri.service') . "/attach/{$blogid}/" . $context->getProperty('blog.logo'), $view); } else { dress('image', $context->getProperty('uri.service') . "/resources/image/spacer.gif", $view); } dress('blog_link', $context->getProperty('uri.blog') . "/", $view); dress('keylog_link', $context->getProperty('uri.blog') . "/keylog", $view); dress('localog_link', $context->getProperty('uri.blog') . "/location", $view); dress('taglog_link', $context->getProperty('uri.blog') . "/tag", $view); dress('guestbook_link', $context->getProperty('uri.blog') . "/guestbook", $view); if ($context->getProperty('blog.rssURL', null) != null) { dress('rss_url', $context->getProperty('blog.rssURL'), $view); } else { dress('rss_url', $context->getProperty('uri.default') . "/rss", $view); } dress('response_rss_url', $context->getProperty('uri.default') . "/rss/response", $view); dress('comment_rss_url', $context->getProperty('uri.default') . "/rss/comment", $view); dress('trackback_rss_url', $context->getProperty('uri.default') . "/rss/trackback", $view); if ($context->getProperty('blog.atomURL', null) != null) { dress('atom_url', $context->getProperty('blog.atomURL'), $view); } else { dress('atom_url', $context->getProperty('uri.default') . "/atom", $view); } dress('response_atom_url', $context->getProperty('uri.default') . "/atom/response", $view); dress('comment_atom_url', $context->getProperty('uri.default') . "/atom/comment", $view); dress('trackback_atom_url', $context->getProperty('uri.default') . "/atom/trackback", $view); dress('owner_url', $context->getProperty('uri.blog') . "/owner", $view); dress('textcube_name', TEXTCUBE_NAME, $view); dress('textcube_version', TEXTCUBE_VERSION, $view); dress('tattertools_name', TEXTCUBE_NAME, $view); // For skin legacy. dress('tattertools_version', TEXTCUBE_VERSION, $view); }
define('__TEXTCUBE_NOTICE__', true); if (isset($suri['id']) || isset($suri['value']) && strlen($suri['value']) > 0) { if (!isset($suri['id']) || Setting::getBlogSettingGlobal('useSloganOnPost', 1) == 1) { list($entries, $paging) = getEntryWithPagingBySlogan($blogid, $suri['value'], true); } else { list($entries, $paging) = getEntryWithPaging($blogid, $suri['id'], true); } fireEvent('OBStart'); require ROOT . '/interface/common/blog/begin.php'; if (empty($entries)) { header('HTTP/1.1 404 Not Found'); if (empty($skin->pageError)) { dress('article_rep', '<div class="TCwarning">' . _text('존재하지 않는 페이지입니다.') . '</div>', $view); } else { dress('article_rep', NULL, $view); dress('page_error', $skin->pageError, $view); } unset($paging); } else { require ROOT . '/interface/common/blog/entries.php'; } require ROOT . '/interface/common/blog/end.php'; fireEvent('OBEnd'); } else { list($entries, $paging) = getEntriesWithPagingByNotice($blogid, $suri['page'], $blog['entriesOnPage']); fireEvent('OBStart'); require ROOT . '/interface/common/blog/begin.php'; require ROOT . '/interface/common/blog/entries.php'; require ROOT . '/interface/common/blog/end.php'; fireEvent('OBEnd'); }
<?php /// Copyright (c) 2004-2016, Needlworks / Tatter Network Foundation /// All rights reserved. Licensed under the GPL. /// See the GNU General Public License for more details. (/documents/LICENSE, /documents/COPYRIGHT) if (isset($cache->contents)) { $tagView = $cache->contents; } else { $tagView = $skin->siteTag; list($maxTagFreq, $minTagFreq) = getTagFrequencyRange(); $itemsView = ''; foreach ($siteTags as $siteTag) { $itemView = $skin->siteTagItem; dress('tag_name', htmlspecialchars($siteTag['name']), $itemView); dress('tag_link', $context->getProperty('uri.blog') . "/tag/" . ($context->getProperty('blog.useSloganOnTag', true) ? URL::encode($siteTag['name'], $service['useEncodedURL']) : $siteTag['id']), $itemView); dress('tag_class', "cloud" . getTagFrequency($siteTag['name'], $maxTagFreq, $minTagFreq), $itemView); $itemsView .= $itemView; } dress('tag_rep', $itemsView, $tagView); if (isset($cache)) { $cache->contents = $tagView; $cache->update(); } } dress('tag', $tagView, $view);
/// Copyright (c) 2004-2016, Needlworks / Tatter Network Foundation /// All rights reserved. Licensed under the GPL. /// See the GNU General Public License for more details. (/documents/LICENSE, /documents/COPYRIGHT) if (!empty($listView)) { dress('list', $listView, $view); } else { if (isset($list) && isset($skin)) { $listView = $skin->list; $itemsView = ''; foreach ($list['items'] as $item) { $author = User::getName($item['userid']); $itemsView .= str_replace(array('[##_list_rep_regdate_##]', '[##_list_rep_name_##]', '[##_list_rep_author_##]', '[##_list_rep_link_##]', '[##_list_rep_title_##]', '[##_list_rep_rp_cnt_##]'), array(fireEvent('ViewListDate', Timestamp::formatDate($item['published']), $item['published']), fireEvent('ViewListName', htmlspecialchars($author)), fireEvent('ViewListName', htmlspecialchars($author)), (!empty($skinSetting['showListWithTotalEntries']) ? "#entry_" . $item['id'] : $context->getProperty('uri.blog') . "/" . ($context->getProperty('blog.useSloganOnPost') ? 'entry/' . URL::encode($item['slogan'], $service['useEncodedURL']) : $item['id'])) . (isset($list['category']) ? '?category=' . $list['category'] : ''), fireEvent('ViewListTitle', htmlspecialchars($item['title'])), $item['comments'] > 0 ? "{$item['comments']}" : ''), $skin->listItem); } dress('list_rep', $itemsView, $listView); dress('list_conform', fireEvent('ViewListHeadTitle', htmlspecialchars($list['title'])), $listView); dress('list_count', isset($list['count']) ? $list['count'] : '0', $listView); dress('list_rss_url', $context->getProperty('uri.default') . '/rss/' . $listFeedURL, $listView); dress('list_atom_url', $context->getProperty('uri.default') . '/atom/' . $listFeedURL, $listView); $listView = fireEvent('ViewList', $listView, $list); if (empty($entries)) { $listView = $listView . CRLF . '[##_paging_list_##]'; } dress('list', $listView, $view); if (isset($cache)) { $cache->contents = $listView; $cache->dbContents = $paging; $cache->update(); } } }
public function getFormattedList($conditions) { //data [array(id, blogid, category, content, $data = $this->getWithConditions($conditions); $view = ''; foreach ($data as $d) { $template = $conditions['template']; $d['created'] = Timestamp::getHumanReadable($d['created']); if ($d['root'] == 'default') { $d['root'] = 'Textcube Line'; } foreach ($conditions['dress'] as $tag => $match) { dress($tag, $d[$match], $template); } $view .= $template; } return $view; }
/// All rights reserved. Licensed under the GPL. /// See the GNU General Public License for more details. (/documents/LICENSE, /documents/COPYRIGHT) if (isset($cache->contents)) { dress('cover', $cache->contents, $view); } else { if (isset($skin)) { if (rtrim($suri['url'], '/') == $context->getProperty('uri.path')) { /* same code exists in entries.php */ $automaticLink .= "<link rel=\"meta\" type=\"application/rdf+xml\" title=\"FOAF\" href=\"" . $context->getProperty('uri.default') . "/foaf\" />\n"; } $coverView = $skin->cover; $itemsView = ''; handleCoverpages($skin, false); $coverpageModule = $skin->coverpageModule; foreach ($coverpageModule as $coverpageItem) { $itemsView .= str_replace('[##_cover_content_##]', $coverpageItem, $skin->coverItem); } dress('cover_rep', $itemsView, $coverView); /* Add webslice feature */ if (Setting::getBlogSettingGlobal('useMicroformat', 3) == 3) { $coverView = addWebSlice($coverView, 'coverPageWebslice', htmlspecialchars($blog['title'] . ' - ' . _t('표지'))); } dress('cover', $coverView, $view); dress('foaf_url', $context->getProperty('uri.default') . "/foaf", $view); if (isset($cache)) { $cache->contents = $coverView; $cache->dbContents = $paging; $cache->update(); } } }
<?php /// Copyright (c) 2004-2012, Needlworks / Tatter Network Foundation /// All rights reserved. Licensed under the GPL. /// See the GNU General Public License for more details. (/documents/LICENSE, /documents/COPYRIGHT) dress('guest', "<div id=\"entry0Comment\">" . getCommentView(null, $skin) . '</div>', $view);
function getCommentCountPart($commentCount, &$skin) { $noneCommentMessage = $skin->noneCommentMessage; $singleCommentMessage = $skin->singleCommentMessage; if ($commentCount == 0 && !empty($noneCommentMessage)) { dress('article_rep_rp_cnt', 0, $noneCommentMessage); $commentView = $noneCommentMessage; } else { if ($commentCount == 1 && !empty($singleCommentMessage)) { dress('article_rep_rp_cnt', 1, $singleCommentMessage); $commentView = $singleCommentMessage; } else { $commentPart = $skin->commentCount; dress('article_rep_rp_cnt', $commentCount, $commentPart); $commentView = $commentPart; } } return array("rp_count", $commentView); }
function getPagingView(&$paging, &$template, &$itemTemplate, $useSkinCache = false) { $ctx = Model_Context::getInstance(); if ($paging === false || empty($paging['page'])) { $paging['url'] = NULL; $paging['prefix'] = NULL; $paging['postfix'] = NULL; $paging['total'] = NULL; $paging['pages'] = 1; $paging['page'] = 1; $paging['next'] = NULL; } $url = str_replace('/%3F/', '/?/', URL::encode($paging['url'], $ctx->getProperty('service.useEncodedURL'))); $prefix = $paging['prefix']; $postfix = isset($paging['postfix']) ? $paging['postfix'] : ''; ob_start(); if (isset($paging['first'])) { $itemView = "{$itemTemplate} <span class=\"interword\">...</span> "; dress('paging_rep_link_num', '<span>1</span>', $itemView, $useSkinCache); dress('paging_rep_link', "href='{$url}{$prefix}{$paging['first']}{$postfix}'", $itemView, $useSkinCache); print $itemView; } else { if ($paging['page'] > 5) { $itemView = "{$itemTemplate} <span class=\"interword\">...</span> "; dress('paging_rep_link_num', '<span>1</span>', $itemView, $useSkinCache); dress('paging_rep_link', "href='{$url}{$prefix}1{$postfix}'", $itemView, $useSkinCache); print $itemView; } } if (isset($paging['before'])) { $page = $paging['page'] - count($paging['before']); } else { $page = $paging['page'] < 5 ? 1 : $paging['page'] - 4; } if (isset($paging['before'])) { foreach ($paging['before'] as $value) { $itemView = $itemTemplate; dress('paging_rep_link_num', "<span>{$page}</span>", $itemView, $useSkinCache); dress('paging_rep_link', "href='{$url}{$prefix}{$value}{$postfix}'", $itemView, $useSkinCache); print $itemView; $page++; } } else { for ($i = 0; $i < 4 && $page < $paging['page']; $i++) { $itemView = $itemTemplate; dress('paging_rep_link_num', "<span>{$page}</span>", $itemView, $useSkinCache); dress('paging_rep_link', "href='{$url}{$prefix}{$page}{$postfix}'", $itemView, $useSkinCache); print $itemView; $page++; } } if ($page == $paging['page'] && $page <= $paging['pages']) { $itemView = $itemTemplate; dress('paging_rep_link_num', "<span class=\"selected\" >{$page}</span>", $itemView, $useSkinCache); dress('paging_rep_link', '', $itemView, $useSkinCache); print $itemView; $page++; } if (isset($paging['before'])) { foreach ($paging['after'] as $value) { $itemView = $itemTemplate; dress('paging_rep_link_num', "<span>{$page}</span>", $itemView, $useSkinCache); dress('paging_rep_link', "href='{$url}{$prefix}{$value}{$postfix}'", $itemView, $useSkinCache); print $itemView; $page++; } } else { for ($i = 0; $i < 4 && $page <= $paging['pages']; $i++) { $itemView = $itemTemplate; dress('paging_rep_link_num', "<span>{$page}</span>", $itemView, $useSkinCache); dress('paging_rep_link', "href='{$url}{$prefix}{$page}{$postfix}'", $itemView, $useSkinCache); print $itemView; $page++; } } if (isset($paging['last'])) { $itemView = " <span class=\"interword\">...</span> {$itemTemplate}"; dress('paging_rep_link_num', "<span>{$paging['pages']}</span>", $itemView, $useSkinCache); dress('paging_rep_link', "href='{$url}{$prefix}{$paging['last']}{$postfix}'", $itemView, $useSkinCache); print $itemView; } else { if ($paging['pages'] - $paging['page'] > 4) { $itemView = " <span class=\"interword\">...</span> {$itemTemplate}"; dress('paging_rep_link_num', "<span>{$paging['pages']}</span>", $itemView, $useSkinCache); dress('paging_rep_link', "href='{$url}{$prefix}{$paging['pages']}{$postfix}'", $itemView, $useSkinCache); print $itemView; } } $itemsView = ob_get_contents(); ob_end_clean(); $view = $template; dress('prev_page', isset($paging['prev']) ? "href='{$url}{$prefix}{$paging['prev']}{$postfix}'" : '', $view, $useSkinCache); dress('paging_rep', $itemsView, $view, $useSkinCache); dress('next_page', isset($paging['next']) ? "href='{$url}{$prefix}{$paging['next']}{$postfix}'" : '', $view, $useSkinCache); dress('no_more_prev', isset($paging['prev']) ? '' : 'no-more-prev', $view, $useSkinCache); dress('no_more_next', isset($paging['next']) ? '' : 'no-more-next', $view, $useSkinCache); return $view; }
dress('SKIN_head_end', $automaticLink . "[##_SKIN_head_end_##]", $view); if ($context->getProperty('blog.useBlogIconAsIphoneShortcut') == true && file_exists(__TEXTCUBE_ATTACH_DIR__ . "/" . $context->getProperty('blog.id') . "/index.gif")) { dress('SKIN_head_end', '<link rel="apple-touch-icon" href="' . $context->getProperty('uri.default') . "/index.gif" . '" />' . "[##_SKIN_head_end_##]", $view); } if (defined('__TEXTCUBE_COVER__')) { dress('body_id', "tt-body-cover", $view); } else { if (!empty($category)) { dress('body_id', getCategoryBodyIdById($blogid, $category) ? getCategoryBodyIdById($blogid, $category) : 'tt-body-category', $view); } else { if (!empty($search)) { dress('body_id', "tt-body-search", $view); } else { if (!empty($period)) { dress('body_id', "tt-body-archive", $view); //} else if (isset($list)) { // dress('body_id',$suri['value'],$view); } else { if ($suri['directive'] == '/' && is_numeric($suri['value']) || $suri['directive'] == '/owner/entry/preview') { dress('body_id', "tt-body-entry", $view); } else { if ($suri['directive'] == '/') { dress('body_id', "tt-body-pages", $view); } else { dress('body_id', "tt-body-" . ltrim($suri['directive'], '/'), $view); } } } } } }