function generate() { $params = array(); foreach ($this->parameters as $key => $val) { if ($key === 'tree') { continue; } $params[] = "'{$key}' => \"" . $this->attr_parse($val) . '"'; } $params = join(',', $params); if (!Koken::$main_load_token && !isset($this->parameters['source']) && isset($this->parameters['infinite'])) { $infinite = $this->attr_parse($this->parameters['infinite']); Koken::$main_load_token = Koken::$tokens[0]; if (isset($this->parameters['infinite_toggle'])) { $infinite_selector = $this->attr_parse($this->parameters['infinite_toggle']); unset($this->parameters['infinite_toggle']); } else { $infinite_selector = ''; } unset($this->parameters['infinite']); } else { $infinite = 'false'; $infinite_selector = ''; } $main = '$value' . Koken::$tokens[0]; $curl = '$curl' . Koken::$tokens[0]; $page = '$page' . Koken::$tokens[0]; $options = '$options' . Koken::$tokens[0]; $collection_name = '$collection' . Koken::$tokens[0]; $paginate = '$paginate' . Koken::$tokens[0]; $custom_source_var = '$source' . Koken::$tokens[0]; $custom_source = $custom_source_var . ' = ' . (isset($this->parameters['source']) ? 'true' : 'false'); $load_url = '$url' . Koken::$tokens[0]; $load_url_var = '\\$url' . Koken::$tokens[0]; $top_token = Koken::$tokens[0]; return <<<DOC <?php \tlist({$load_url}, {$options}, {$collection_name}, {$paginate}) = Koken::load( array({$params}) ); \t{$custom_source}; \tif ({$paginate}) \t{ \t\tif (isset(Koken::\$location['parameters']['page'])) \t\t{ \t\t\t{$load_url} .= '/page:' . Koken::\$location['parameters']['page']; \t\t} \t} \tif ({$options}['list'] && isset(Koken::\$routed_variables['tags'])) \t{ \t\t{$load_url} .= '/tags:' . Koken::\$routed_variables['tags']; \t} \tKoken::\$load_history[] = {$load_url}; \t{$main} = Koken::api({$load_url}); \tif (!{$custom_source_var} && isset({$main}['error'])) \t{ \t\theader("Location: " . Koken::\$location['root_folder'] . "/error/{{$main}['http']}/"); \t} \tif ({$options}['list']) \t{ \t\tif (isset({$main}['page'])) \t\t{ \t\t\t{$page} = array( \t\t\t\t'page' => {$main}['page'], \t\t\t\t'pages' => {$main}['pages'], \t\t\t\t'per_page' => {$main}['per_page'], \t\t\t\t'total' => {$main}['total'], \t\t\t); \t\t\tif ({$infinite}) \t\t\t{ \t\t\t\tKoken::\$location['__infinite_token'] = '{$top_token}'; ?> \t\t\t\t<script> \t\t\t\t\t\$K.infinity.totalPages = <?php echo {$page}['pages']; ?>; \t\t\t\t\t\$K.infinity.selector = '{$infinite_selector}'; \t\t\t\t</script> <?php \t\t\t} \t\t} \t\tif (isset({$main}['content'])) \t\t{ \t\t\t{$main}['__loop__'] = {$main}['content']; \t\t} \t\telse if (isset({$main}['albums'])) \t\t{ \t\t\t{$main}['__loop__'] = {$main}['albums']; \t\t} \t\telse if (isset({$main}['text'])) \t\t{ \t\t\t{$main}['__loop__'] = {$main}['text']; \t\t} \t\telse if (isset({$main}['items'])) \t\t{ \t\t\t\$__arr = array('items' => {$main}['items']); \t\t\tif (isset({$main}['event'])) \t\t\t{ \t\t\t\t\$__arr['__koken__'] = 'event'; \t\t\t\t\$__arr['event'] = {$main}['event']; \t\t\t} \t\t\t{$main}['__loop__'] = array(\$__arr); \t\t\tif (isset({$main}['__koken__']) && !isset({$main}[{$main}['__koken__']])) \t\t\t{ \t\t\t\t{$main}[{$main}['__koken__']] =& {$main}; \t\t\t} \t\t} \t\telse if (isset({$main}[{$collection_name}])) \t\t{ \t\t\t{$main}['__loop__'] = {$main}[{$collection_name}]; \t\t\t{$main}[{$collection_name}] =& {$main}['__loop__']; \t\t} \t\telse \t\t{ \t\t\t{$main}['__loop__'] = {$main}; \t\t} \t\tif (array_key_exists('counts', {$main})) \t\t{ \t\t\t{$main}[{$collection_name}]['counts'] =& {$main}['counts']; \t\t} \t} \tif (({$options}['list'] && !empty({$main}['__loop__'])) || (!{$options}['list'] && {$main} && !isset({$main}['error']))): \t\tif ({$options}['list']) \t\t{ \t\t\tif ({$options}['archive']) \t\t\t{ \t\t\t\tswitch({$options}['archive']) \t\t\t\t{ \t\t\t\t\tcase 'tag': \t\t\t\t\t\t{$main}['archive'] = array('__koken__' => 'tag', 'type' => 'tag', 'title' => str_replace(',', ', ', urldecode(isset(Koken::\$routed_variables['id']) ? Koken::\$routed_variables['id'] : Koken::\$routed_variables['slug']))); \t\t\t\t\t\tbreak; \t\t\t\t\tcase 'category': \t\t\t\t\t\t{$main}['archive'] = array('__koken__' => 'category', 'type' => 'category', 'title' => {$main}['category']['title'], 'slug' => {$main}['category']['slug']); \t\t\t\t\t\tbreak; \t\t\t\t\tcase 'date': \t\t\t\t\t\t{$main}['archive'] = array('__koken__' => 'archive', 'type' => 'date', 'day' => isset(Koken::\$routed_variables['day']) ? Koken::\$routed_variables['day'] : false, 'month' => isset(Koken::\$routed_variables['month']) ? Koken::\$routed_variables['month'] : false, 'year' => Koken::\$routed_variables['year']); \t\t\t\t\t\tbreak; \t\t\t\t} \t\t\t} \t\t} \t\telse \t\t{ \t\t\tif (isset({$main}['page_type']) && isset({$main}['draft'])) \t\t\t{ \t\t\t\t{$main}['content'] = {$main}['draft']; \t\t\t\t{$main}['title'] = {$main}['draft_title']; \t\t\t\techo '<script>\$(document).ready( function() { \$K.textPreview(' . {$main}['id'] . ', ' . ({$main}['published'] ? 'true' : 'false') . '); } );</script>'; \t\t\t\techo <<<CSS <!-- KOKEN HEAD BEGIN --> <style type="text/css"> #k_essay_preview { \theight:28px !important; \tline-height:28px !important; \twidth:100% !important; \tposition:fixed !important; \tz-index:99999 !important; \ttop:0 !important; \tleft:0 !important; \tcolor:#bbb !important; \tfont-size:12px !important; \ttext-align:center !important; \tfont-family:'HelveticaNeue-Medium', Helvetica, Arial, sans-serif !important; \tborder-top: 1px solid #070707 !important; \tborder-bottom: 1px solid #070707 !important; \ttext-shadow: 0 1px 1px #000 !important; \tbackground-color: #303030 !important; \tbackground-repeat: repeat-x !important; \tbackground-image: -khtml-gradient(linear, left top, left bottom, from(#333), to(#242424)) !important; \tbackground-image: -moz-linear-gradient(#333, #242424) !important; \tbackground-image: -ms-linear-gradient(#333, #242424) !important; \tbackground-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #333), color-stop(100%, #242424)) !important; \tbackground-image: -webkit-linear-gradient(#333, #242424) !important; \tbackground-image: linear-gradient(#333, #242424) !important; } #k_essay_preview a { \tcolor:#fff !important; \ttext-decoration:none !important; } </style> <!-- KOKEN HEAD END --> CSS; \t\t\t} \t\t\tif (!isset({$main}[{$main}['__koken__']])) \t\t\t{ \t\t\t\t{$main}[{$main}['__koken__']] =& {$main}; \t\t\t} \t\t} \t\tif (!{$custom_source_var}) \t\t{ \t\t\t\$__meta_source = {$main}; \t\t\tif (!empty({$main}['title'])) \t\t\t{ \t\t\t\t\$the_title = {$main}['title']; \t\t\t} \t\t\telse if (isset({$main}['filename'])) \t\t\t{ \t\t\t\t\$the_title = {$main}['filename']; \t\t\t} \t\t\telse if (isset({$main}['album']['title'])) \t\t\t{ \t\t\t\t\$the_title = {$main}['album']['title']; \t\t\t\t\$__meta_source = {$main}['album']; \t\t\t} \t\t\telse if (isset({$main}['archive']['title'])) \t\t\t{ \t\t\t\t\$the_title = {$main}['archive']['title']; \t\t\t} \t\t\telse if (isset({$main}['event'])) \t\t\t{ \t\t\t\t\$__fmt = Koken::\$site['date_format']; \t\t\t\tif (!isset({$main}['event']['day'])) \t\t\t\t{ \t\t\t\t\tif (isset({$main}['event']['month'])) \t\t\t\t\t{ \t\t\t\t\t\t\$__fmt = 'F Y'; \t\t\t\t\t} \t\t\t\t\telse \t\t\t\t\t{ \t\t\t\t\t\t\$__fmt = 'Y'; \t\t\t\t\t} \t\t\t\t} \t\t\t\t\$the_title = date(\$__fmt, strtotime({$main}['event']['year'] . '-' . (isset({$main}['event']['month']) ? {$main}['event']['month'] : '01') . '-' . (isset({$main}['event']['day']) ? {$main}['event']['day'] : '01'))); \t\t\t} \t\t\telse if (isset({$main}['archive'])) \t\t\t{ \t\t\t\t\$the_title = Koken::title_from_archive({$main}['archive']); \t\t\t} \t\t\tif (isset({$main}['canonical_url']) || isset({$main}['album']['canonical_url'])) \t\t\t{ \t\t\t\t\$__canon = isset({$main}['canonical_url']) ? {$main}['canonical_url'] : {$main}['album']['canonical_url']; \t\t\t\techo '<!-- KOKEN HEAD BEGIN --><link rel="canonical" href="' . \$__canon . '"><!-- KOKEN HEAD END -->'; \t\t\t} \t\t\tif (isset(\$the_title) && isset(Koken::\$the_title_separator) && !Koken::\$page_title_set) \t\t\t{ \t\t\t\tKoken::\$page_title_set = true; \t\t\t\techo '<!-- KOKEN HEAD BEGIN --><koken_title>' . \$the_title . Koken::\$the_title_separator . Koken::\$site['page_title'] . '</koken_title><!-- KOKEN HEAD END -->'; \t\t\t} \t\t\tif (isset({$main}['essay']) && !isset(\$_COOKIE['koken_session_ci']) && !{$main}['essay']['published']) \t\t\t{ \t\t\t\theader('Location: ' . Koken::\$location['root'] . '/error/403/'); \t\t\t\texit; \t\t\t} \t\t\t\$__public = isset({$main}['public']) ? {$main}['public'] : ( isset({$main}['album']['public']) ? {$main}['album']['public'] : true ); \t\t\tif (!\$__public) \t\t\t{ \t\t\t\techo '<!-- KOKEN HEAD BEGIN --><meta name="robots" content="noindex" /><!-- KOKEN HEAD END -->'; \t\t\t} \t\t\tif (isset({$main}['album']) || isset({$main}['context']['album'])) \t\t\t{ \t\t\t\tif (isset({$main}['album'])) \t\t\t\t{ \t\t\t\t\t\$__rss = {$main}['album']['rss'] = Koken::\$location['root'] . '/feed/albums/' . {$main}['album']['id'] . '/recent.rss'; \t\t\t\t\t\$__title = {$main}['album']['title']; \t\t\t\t\t\$__public = {$main}['album']['public']; \t\t\t\t} \t\t\t\telse \t\t\t\t{ \t\t\t\t\t\$__rss = {$main}['context']['album']['rss'] = Koken::\$location['root'] . '/feed/albums/' . {$main}['context']['album']['id'] . '/recent.rss'; \t\t\t\t\t\$__title = {$main}['context']['album']['title']; \t\t\t\t\t\$__public = {$main}['context']['album']['public']; \t\t\t\t} \t\t\t\tif (\$__public) \t\t\t\t{ \t\t\t\t\techo '<!-- KOKEN HEAD BEGIN --><link rel="alternate" type="application/atom+xml" title="' . Koken::\$site['page_title'] . ': Uploads from ' . \$__title . '" href="' . \$__rss . '" /><!-- KOKEN HEAD END -->'; \t\t\t\t} \t\t\t} \t\t\t\$__meta = array('description' => '', 'keywords' => array()); \t\t\t\$__candidates = array('summary', 'description', 'caption', 'excerpt', 'title', 'filename'); \t\t\twhile (strlen(\$__meta['description']) === 0 && count(\$__candidates)) \t\t\t{ \t\t\t\t\$__field = array_shift(\$__candidates); \t\t\t\tif (isset(\$__meta_source[\$__field]) && strlen(\$__meta_source[\$__field]) > 0) \t\t\t\t{ \t\t\t\t\t\$__meta['description'] = preg_replace('/\\s+/', ' ', preg_replace('/ +/', ' ', strip_tags(\$__meta_source[\$__field]))); \t\t\t\t} \t\t\t} \t\t\tif (isset(\$__meta_source['tags']) && !isset(\$__meta_source['page'])) \t\t\t{ \t\t\t\tforeach(\$__meta_source['tags'] as \$__tag) \t\t\t\t{ \t\t\t\t\t\$__meta['keywords'][] = \$__tag['title']; \t\t\t\t} \t\t\t} \t\t\techo '<!-- KOKEN META DESCRIPTION BEGIN -->' . Koken::truncate(\$__meta['description'], 160) . '<!-- KOKEN META DESCRIPTION END -->'; \t\t\techo '<!-- KOKEN META KEYWORDS BEGIN -->' . join(', ', \$__meta['keywords']) . '<!-- KOKEN META KEYWORDS END -->'; \t\t} ?> DOC; }