';
$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}}
{{date.format}} {{{category.link}}} {{{author.link}}} {{{custom.metadata}}}
{{#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}}
{{#external_link}}
{{/external_link}}
{{^external_link}}
{{/external_link}}
{{date.format}} {{{category.link}}} {{{author.link}}} {{{custom.metadata}}}
{{#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'] = '
';
$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) {
?>