Poster 2

Changing the world, one site at a time…

">
'; $post_text = 'Post'; $post_prev = '< Previous Post'; $post_next = 'Next Post >'; $items_per_page = '5'; $hide_future_items = getBoolean('False'); setlocale(LC_TIME, "en_US"); $date_format = "%d.%m.%Y"; $time_format = ""; $archive_style = "rw"; $metadata_fb_username = htmlspecialchars("", ENT_QUOTES); $metadata_twitter_username = htmlspecialchars("", ENT_QUOTES); $disqus_name = htmlspecialchars("", ENT_QUOTES); $itunes = getBoolean("False"); $rss_title = htmlspecialchars('My Blog', ENT_QUOTES); // $allow_non_ascii_chars = getBoolean("False"); $rss_data = [ 'rss_title' => $rss_title, 'rss_description' => htmlspecialchars('This is my blog.', ENT_QUOTES), 'rss_language' => 'en-us', 'rss_copyright' => '', 'rss_url' => 'http' . (isset($_SERVER['HTTPS']) ? 's' : '') . '://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']), 'rss_image' => getFullyQualifiedImageURL(''), 'rss_publisher' => '', 'rss_email' => '', 'itunes' => $itunes, 'itunes_summary' => '', 'itunes_subtitle' => '', 'itunes_explicit' => 'no', 'itunes_keywords' => '', 'itunes_category' => '', 'itunes_subcategory' => '' ]; $items_start = ( $page - 1) * $items_per_page + 1; $items_end = ( $page ) * $items_per_page; $item = 0; if ($debug) { $debugArray = array( "PHP Version" => phpversion(), "iconv" => function_exists("iconv") ? true : false, "Date" => NOW, "Time Zone" => date_default_timezone_get(), "page" => $page, "items_per_page" => $items_per_page, "items_start" => $items_start, "items_end" => $items_end, "post" => $post, "display_detail" => $display_detail, "page_path" => $page_path, "fully_qualified_page_path" => $fully_qualified_page_path ); print_r($debugArray); echo '
'; $start_time = microtime(true); } ?>
{{/layout.post_wrapper}} {{#post}}
{{{header.content}}}

{{{title}}}

{{{share_links}}}
{{date.format}} {{{category.link}}} {{{author.link}}} {{{custom.metadata}}}
{{{body.content}}}
{{{tag.link}}}
{{#back}} {{#display}} {{/display}} {{/back}}
{{/post}} {{#layout.post_wrapper}}
{{/layout.post_wrapper}}
{{#nav_post}} {{#prev}} {{/prev}} {{/nav_post}}
{{#nav_post}} {{#next}} {{/next}} {{/nav_post}}
EOT; $templates['detail'] = $eot ?>
{{#filter}}{{#category}}

Category {{category}}

{{/category}}{{#tag}}

Tag {{tag}}

{{/tag}}{{#date}}

Date {{date}}

{{/date}}{{#author}}

Author {{author}}

{{/author}}{{#search}}

Search {{search}}

{{/search}}{{/filter}}
{{#layout.post_wrapper}}
{{/layout.post_wrapper}} {{#post}}
{{{header.content}}}
{{#external_link}} {{/external_link}} {{^external_link}} {{/external_link}}

{{{title}}}

{{{share_links}}}
{{date.format}} {{{category.link}}} {{{author.link}}} {{{custom.metadata}}}
{{{body.content}}}
{{{tag.link}}}
{{#readmore}} {{#display}} {{/display}} {{/readmore}}
{{/post}} {{#layout.post_wrapper}}
{{/layout.post_wrapper}}
{{#nav_page}} {{#prev}} {{/prev}} {{/nav_page}}
{{#nav_page}} {{#next}} {{/next}} {{/nav_page}}
EOT; $templates['list'] = $eot ?>
'; } $fileExtention = ['md','txt']; $files = array(); $filesTemp = glob($directory . '*'); foreach ($filesTemp as $filename) { $ext = strtolower(substr($filename, strrpos($filename, '.') + 1)); if (in_array($ext, $fileExtention)) { $filename = __DIR__ . '/' . $filename; $mdFile = new MdFile($filename); if ($debug) { echo (String)$mdFile . '
'; } $files[] = $mdFile; } } $folder_loop = true; foreach ($files as $folder_loop_index => $mdFile) { $poster_item = new Post('stacks_in_414_page4' . '_' . $folder_loop_index); $poster_item->draft = $mdFile->getMetadataValue('draft', false); if (!$poster_item->draft) { $poster_item->tag['raw'] = $mdFile->getMetadataValue('tags'); $poster_item->category['raw'] = $mdFile->getMetadataValue('categories'); $poster_item->author['raw'] = $mdFile->getMetadataValue('authors'); $poster_item->date['raw'] = $mdFile->getMetadataValue('date'); $poster_item->tag['array'] = buildTagArray($poster_item->tag['raw']); $poster_item->category['array'] = buildCategoryArray($poster_item->category['raw']); $poster_item->author['array'] = buildAuthorArray($poster_item->author['raw']); $poster_item->date['array'] = buildDateArray($poster_item->date['raw']); $poster_item->setTitles(htmlspecialchars($mdFile->getMetadataValue('title'), ENT_QUOTES), $mdFile->getMetadataValue('slug'), htmlspecialchars($mdFile->getMetadataValue('subtitle'), ENT_QUOTES), htmlspecialchars($mdFile->getMetadataValue('description'), ENT_QUOTES)); $text_array = [$poster_item->title, $poster_item->subtitle, $poster_item->description]; if ($search != "") { $text_array[] = $mdFile->getHtml(); } $poster_item->display_list = inQuery($poster_item->tag['array'], $poster_item->category['array'], $poster_item->date['raw'], $poster_item->author['array'], $text_array); if ($poster_item->display_list) { $poster_item->sort_index = $mdFile->getMetadataValue('sort_index'); $poster_item->link = getPostLink($poster_item->slug); $poster_item->permalink = getPostPermalink($poster_item->slug); $poster_item->share_links = buildShareLinks($poster_item->permalink, $poster_item->title); $poster_item->itunes = [ 'file' => $mdFile->getMetadataValue('itunes_file'), 'duration' => $mdFile->getMetadataValue('itunes_duration'), 'length' => $mdFile->getMetadataValue('itunes_length', 1), 'type' => $mdFile->getMetadataValue('itunes_type', 'audio/mpeg') ]; $poster_item->date['format'] = formatDate($poster_item->date['raw']); $poster_item->custom['metadata'] = $mdFile->getMetadataValue('custom_metadata'); $poster_item->preview_image['src'] = getFullyQualifiedImageURL($mdFile->getMetadataValue('metadata_image.src', '')); $poster_item->lightbox = $mdFile->getMetadataValue('lightbox', false); $poster_item->disqus = $mdFile->getMetadataValue('disqus', false); $poster_item->external_link = $mdFile->getMetadataValue('external_link'); $header_content_enabled = $mdFile->getMetadataValue('header_image.src', false); $header_content_detail = $mdFile->getMetadataValue('header_image_detail', false); if (!$header_content_detail) { // downward compatibility to v1 $header_content_detail = $mdFile->getMetadataValue('header_image_details', false); } $header_content_display = ( $header_content_enabled && !$display_detail ) || ( $header_content_enabled && $header_content_detail ); $summary_content_enabled = true; $summary_content_detail = false; $summary_content_display = ( $summary_content_enabled && !$display_detail ) || ( $summary_content_enabled && $summary_content_detail ); $main_content_display = ( !$summary_content_enabled && !$display_detail ) || $display_detail ; if (!empty($poster_item->tag['raw'][0])) { $poster_item->tag['link'] = buildTagLinks($poster_item->tag['array'], $poster_item->tag['raw']); } if (!empty($poster_item->category['raw'][0])) { $poster_item->category['link'] = buildCategoryLinks($poster_item->category['array'], $poster_item->category['raw']); } if (!empty($poster_item->author['raw'][0])) { $poster_item->author['link'] = buildAuthorLinks($poster_item->author['array'], $poster_item->author['raw']); } if ($display_detail) { $poster_item->back = [ 'display' => true, 'text' => $back_text ]; } else { if ($mdFile->getMetadataValue('readmore_enabled', true)) { $poster_item->readmore = [ 'display' => true, 'text' => $mdFile->getMetadataValue('readmore_text') ? htmlspecialchars($mdFile->getMetadataValue('readmore_text'), ENT_QUOTES) : $readmore_text ]; } } if ($header_content_display) { $poster_item->header['content'] = '' . $mdFile->getMetadataValue('header_image.alt', '') . ''; $poster_item->header['image']['src'] = $mdFile->getMetadataValue('header_image.src'); } if (empty($poster_item->preview_image['src'])) { $poster_item->preview_image['src'] = getFullyQualifiedImageURL($mdFile->getMetadataValue('header_image.src')); } $poster_item->summary['content'] = $mdFile->getSummary(); $poster_item->main['content'] = $mdFile->getHtml(); if ($summary_content_display) { $poster_item->body['content'] = $poster_item->summary['content']; } if ($main_content_display) { $poster_item->body['content'] = $poster_item->body['content'] . $poster_item->main['content']; } $poster_item->css = $mdFile->getMetadataValue('css', ''); $poster_items[] = $poster_item; } // end is in query } // end is draft } // end loop $folder_loop = false; ?> date['raw'] <=> $poster_item2->date['raw']; if ($poster_item1->date['raw'] == $poster_item2->date['raw']) { return 0; } return ($poster_item1->date['raw'] < $poster_item2->date['raw']) ? -1 : 1; }); break; case 'date_desc': usort($poster_items, function ($poster_item1, $poster_item2) { // return $poster_item2->date['raw'] <=> $poster_item1->date['raw']; if ($poster_item1->date['raw'] == $poster_item2->date['raw']) { return 0; } return ($poster_item1->date['raw'] > $poster_item2->date['raw']) ? -1 : 1; }); break; case 'title_asc': usort($poster_items, function ($poster_item1, $poster_item2) { // return $poster_item1->title <=> $poster_item2->title; if ($poster_item1->title == $poster_item2->title) { return 0; } return ($poster_item1->title < $poster_item2->title) ? -1 : 1; }); break; case 'title_desc': usort($poster_items, function ($poster_item1, $poster_item2) { // return $poster_item2->title <=> $poster_item1->title; if ($poster_item1->title == $poster_item2->title) { return 0; } return ($poster_item1->title > $poster_item2->title) ? -1 : 1; }); break; case 'sort_index_asc': usort($poster_items, function ($poster_item1, $poster_item2) { // return $poster_item1->sort_index <=> $poster_item2->sort_index; if ($poster_item1->sort_index == $poster_item2->sort_index) { return 0; } return ($poster_item1->sort_index < $poster_item2->sort_index) ? -1 : 1; }); break; case 'sort_index_desc': usort($poster_items, function ($poster_item1, $poster_item2) { // return $poster_item2->sort_index <=> $poster_item1->sort_index; if ($poster_item1->sort_index == $poster_item2->sort_index) { return 0; } return ($poster_item1->sort_index > $poster_item2->sort_index) ? -1 : 1; }); break; case 'random': shuffle($poster_items); break; default: break; } if ( isset($feed) && ($feed == "rss") ) { ob_get_clean(); ob_start(); echo generateRssFeed($poster_items, $rss_data); exit(); } if ( isset($feed) && ($feed == "sitemap") ) { ob_get_clean(); ob_start(); echo generateSitemap($poster_items); exit(); } $mustache_data = []; if ($display_detail) { foreach ($poster_items as $key => $poster_item) { $current_page = floor( $item / $items_per_page ) + 1; $item++; if ($post == $poster_item->slug) { if ($key > 0) { $prev_slug = $poster_items[$key - 1]->slug; $prev_title = $poster_items[$key - 1]->title; } if ($key < count($poster_items) && isset($poster_items[$key + 1])) { $next_slug = $poster_items[$key + 1]->slug; $next_title = $poster_items[$key + 1]->title; } $poster_detail_item = $poster_item; if ($current_page == 1) { $poster_detail_item->back['link'] = './' . checkQueryParameters($query); } else { $poster_detail_item->back['link'] = './?page=' . $current_page . $query; } $mustache_data['post'] = $poster_detail_item; break; } } } else { $temp_poster_items = []; foreach ($poster_items as $key => $poster_item) { $current_page = floor( $item / $items_per_page ) + 1; $item++; if ($items_start <= $item && $item <= $items_end) { $poster_item->readmore['link'] = $poster_item->link; $temp_poster_items[] = $poster_item; } } $mustache_data['post'] = $temp_poster_items; } $mustache_data['display_detail'] = $display_detail; $mustache_data['query'] = $query; $mustache_data['page'] = $page; $mustache_data['current_page'] = $current_page; if ($current_page == 1) { $mustache_data['first_page'] = true; } else { $mustache_data['first_page'] = false; } if ($display_detail) { $mustache_data['nav_post'] = [ 'counter' => $item, 'last' => count($poster_items), 'text' => $post_text ]; if ($prev_slug) { $mustache_data['nav_post']['prev'] = [ 'link' => getPostLink($prev_slug), 'text' => $post_prev, 'title' => $prev_title ]; } if ($next_slug) { $mustache_data['nav_post']['next'] = [ 'link' => getPostLink($next_slug), 'text' => $post_next, 'title' => $next_title ]; } } else { $mustache_data['nav_page'] = [ 'counter' => $page, 'last' => $current_page, 'text' => $page_text ]; if ($page > 1) { $mustache_data['nav_page']['prev'] = [ 'link' => $page == 2 ? './' . checkQueryParameters($query) : './?page='. ($page - 1) . $query, 'text' => $page_prev, 'title' => $page > 1 ? ($page - 1) : '' ]; } if ($page < $current_page) { $mustache_data['nav_page']['next'] = [ 'link' => './?page=' . ($page + 1) . $query, 'text' => $page_next, 'title' => $page < $current_page ? ($page + 1) : '' ]; } } if ($display_filter) { $mustache_data['filter'] = []; $filter = ''; if (array_key_exists ($tag, $tag_archive)) { $mustache_data['filter']['tag'] = $tag_archive[$tag]; $filter = $tag_archive[$tag]; } if (array_key_exists ($category, $category_archive)) { $mustache_data['filter']['category'] = $category_archive[$category]; $filter = $category_archive[$category]; } if ($date != '') { $mustache_data['filter']['date'] = $date; $filter = $date; } if (array_key_exists ($author, $author_archive)) { $mustache_data['filter']['author'] = $author_archive[$author]; $filter = $author_archive[$author]; } if ($search != '') { $mustache_data['filter']['search'] = $search; $filter = $search; } } if ($sort_by != '') { $mustache_data['sort_by'] = [ $sort_by => true ]; } $mustache_data['text'] = [ 'back_text' => $back_text, 'readmore_text' => $readmore_text, 'category_text' => $category_text, 'category_separator' => $category_separator, 'author_text' => $author_text, 'author_separator' => $author_separator, 'tag_text' => $tag_text, 'tag_separator' => $tag_separator, 'page_text' => $page_text, 'page_prev' => $page_prev, 'page_next' => $page_next, 'post_text' => $post_text, 'post_prev' => $post_prev, 'post_next' => $post_next ]; $mustache_data['layout'] = [ 'post_wrapper' => $layout_post_wrapper, 'post_css_wrapper' => $layout_post_css_wrapper, 'post_css_item' => $layout_post_css_item ]; if (empty($templates['list'])) { $templates['list'] = $templates['detail']; } if ($display_detail) { echo $mustache->render($templates['detail'], $mustache_data); } else { echo $mustache->render($templates['list'], $mustache_data); } ?> lightbox) { ?> disqus) { ?>