Example #1
0
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;
}
Example #2
0
                    $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;
            }
        }
    }
}
Example #3
0
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();
        }
    }
}
Example #4
0
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">&hellip;</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);
}
Example #5
0
<?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);
}
Example #7
0
        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';
Example #8
0
<?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);
Example #9
0
<?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');
Example #10
0
/// 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');
Example #11
0
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();
Example #12
0
        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);
    }
}
Example #13
0
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();
        }
    }
}
Example #14
0
<?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);
Example #15
0
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);
}
Example #16
0
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');
}
Example #17
0
<?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);
Example #18
0
/// 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();
        }
    }
}
Example #19
0
 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;
 }
Example #20
0
/// 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();
        }
    }
}
Example #21
0
<?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);
Example #22
0
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);
}
Example #23
0
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;
}
Example #24
0
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);
                    }
                }
            }
        }
    }
}