aboutsummaryrefslogtreecommitdiffstats
path: root/theme/default/html
diff options
context:
space:
mode:
authorThomas Lange <code@nerdmind.de>2021-06-17 22:00:39 +0200
committerThomas Lange <code@nerdmind.de>2021-06-17 22:00:39 +0200
commit5555624546ea48d6327700f32b80848e0662dc90 (patch)
tree47d61fb756a6cb008aaf33586d292fcfe43da2a1 /theme/default/html
parent91d8a28c664afa5378735bcd0efe068dd74d589f (diff)
parent0a2614cb69fc732c2115ef2f0c356f39f602d311 (diff)
downloadblog-5555624546ea48d6327700f32b80848e0662dc90.tar.gz
blog-5555624546ea48d6327700f32b80848e0662dc90.tar.xz
blog-5555624546ea48d6327700f32b80848e0662dc90.zip
Merge branch 'master' into 'optimization'optimization
Diffstat (limited to 'theme/default/html')
-rw-r--r--theme/default/html/403.php11
-rw-r--r--theme/default/html/404.php11
-rw-r--r--theme/default/html/feed/item_page.php27
-rw-r--r--theme/default/html/feed/item_post.php27
-rw-r--r--theme/default/html/feed/main.php52
-rw-r--r--theme/default/html/home.php20
-rw-r--r--theme/default/html/main.php102
-rw-r--r--theme/default/html/page/item.php20
-rw-r--r--theme/default/html/page/list.php19
-rw-r--r--theme/default/html/page/main.php34
-rw-r--r--theme/default/html/pagination.php39
-rw-r--r--theme/default/html/post/item.php20
-rw-r--r--theme/default/html/post/list.php19
-rw-r--r--theme/default/html/post/main.php34
-rw-r--r--theme/default/html/search/main.php34
-rw-r--r--theme/default/html/search/result.php36
-rw-r--r--theme/default/html/user/item.php20
-rw-r--r--theme/default/html/user/list.php19
-rw-r--r--theme/default/html/user/main.php31
19 files changed, 575 insertions, 0 deletions
diff --git a/theme/default/html/403.php b/theme/default/html/403.php
new file mode 100644
index 0000000..1e78316
--- /dev/null
+++ b/theme/default/html/403.php
@@ -0,0 +1,11 @@
+<?php
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+# 403 Template [Thomas Lange <code@nerdmind.de>] #
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+# #
+# [see documentation] #
+# #
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+?>
+<h1><i class="fa fa-exclamation-triangle"></i><?=$Language->text('403_heading_text')?></h1>
+<p><?=$Language->text('403_heading_desc')?></p>
diff --git a/theme/default/html/404.php b/theme/default/html/404.php
new file mode 100644
index 0000000..9495944
--- /dev/null
+++ b/theme/default/html/404.php
@@ -0,0 +1,11 @@
+<?php
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+# 404 Template [Thomas Lange <code@nerdmind.de>] #
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+# #
+# [see documentation] #
+# #
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+?>
+<h1><i class="fa fa-exclamation-triangle"></i><?=$Language->text('404_heading_text')?></h1>
+<p><?=$Language->text('404_heading_desc')?></p>
diff --git a/theme/default/html/feed/item_page.php b/theme/default/html/feed/item_page.php
new file mode 100644
index 0000000..82568a1
--- /dev/null
+++ b/theme/default/html/feed/item_page.php
@@ -0,0 +1,27 @@
+<?php
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+# Feed Item Template [page] [Thomas Lange <code@nerdmind.de>] #
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+# #
+# [see documentation] #
+# #
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+
+$HTML = $PAGE['BODY']['HTML']();
+?>
+<item>
+ <title><?=escapeHTML($PAGE['ATTR']['NAME'])?></title>
+ <link><?=$PAGE['URL']?></link>
+ <guid isPermaLink="false"><?=$PAGE['GUID']?></guid>
+ <pubDate><?=parseDatetime($PAGE['ATTR']['TIME_INSERT'], '[RFC2822]')?></pubDate>
+ <dc:creator><?=escapeHTML($USER['ATTR']['FULLNAME'])?></dc:creator>
+ <description><?=escapeHTML(description($HTML, 400))?></description>
+ <content:encoded>
+ <![CDATA[
+ <?=$HTML?>
+ ]]>
+ </content:encoded>
+ <?php foreach($PAGE['FILE']['LIST'] as $fileURL): ?>
+ <media:content url="<?=$fileURL?>" medium="image"></media:content>
+ <?php endforeach; ?>
+</item>
diff --git a/theme/default/html/feed/item_post.php b/theme/default/html/feed/item_post.php
new file mode 100644
index 0000000..0bf23fc
--- /dev/null
+++ b/theme/default/html/feed/item_post.php
@@ -0,0 +1,27 @@
+<?php
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+# Feed Item Template [post] [Thomas Lange <code@nerdmind.de>] #
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+# #
+# [see documentation] #
+# #
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+
+$HTML = $POST['BODY']['HTML']();
+?>
+<item>
+ <title><?=escapeHTML($POST['ATTR']['NAME'])?></title>
+ <link><?=$POST['URL']?></link>
+ <guid isPermaLink="false"><?=$POST['GUID']?></guid>
+ <pubDate><?=parseDatetime($POST['ATTR']['TIME_INSERT'], '[RFC2822]')?></pubDate>
+ <dc:creator><?=escapeHTML($USER['ATTR']['FULLNAME'])?></dc:creator>
+ <description><?=escapeHTML(description($HTML, 400))?></description>
+ <content:encoded>
+ <![CDATA[
+ <?=$HTML?>
+ ]]>
+ </content:encoded>
+ <?php foreach($POST['FILE']['LIST'] as $fileURL): ?>
+ <media:content url="<?=$fileURL?>" medium="image"></media:content>
+ <?php endforeach; ?>
+</item>
diff --git a/theme/default/html/feed/main.php b/theme/default/html/feed/main.php
new file mode 100644
index 0000000..317bd31
--- /dev/null
+++ b/theme/default/html/feed/main.php
@@ -0,0 +1,52 @@
+<?php
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+# Feed Template [Thomas Lange <code@nerdmind.de>] #
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+# #
+# [see documentation] #
+# #
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+
+$BLOGMETA_NAME = escapeHTML($BLOGMETA['NAME']);
+
+switch($FEED['TYPE']) {
+ case 'post':
+ $title = $Language->text('feed_name_posts', $BLOGMETA_NAME);
+ $self = Application::getURL('feed/post/');
+ break;
+ case 'page':
+ $title = $Language->text('feed_name_pages', $BLOGMETA_NAME);
+ $self = Application::getURL('feed/page/');
+ break;
+ default:
+ $title = $Language->text('feed_name_items', $BLOGMETA_NAME);
+ $self = Application::getURL('feed/');
+}
+?>
+<?='<?xml version="1.0" encoding="UTF-8" ?>'?>
+<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/">
+ <channel>
+ <title><?=$title?></title>
+ <link><?=Application::getURL()?></link>
+ <language><?=$BLOGMETA['LANG']?></language>
+ <description><?=escapeHTML($BLOGMETA['DESC'])?></description>
+
+ <atom:link href="<?=$self?>" rel="self" type="application/rss+xml" />
+
+ <image>
+ <title><?=$title?></title>
+ <url><?=Application::getTemplateURL('rsrc/logo.png')?></url>
+ <link><?=Application::getURL()?></link>
+ </image>
+
+ <!-- Feed items of type "post" -->
+ <?php foreach($FEED['LIST']['POSTS'] as $item): ?>
+ <?php echo $item ?>
+ <?php endforeach; ?>
+
+ <!-- Feed items of type "page" -->
+ <?php foreach($FEED['LIST']['PAGES'] as $item): ?>
+ <?php echo $item ?>
+ <?php endforeach; ?>
+ </channel>
+</rss>
diff --git a/theme/default/html/home.php b/theme/default/html/home.php
new file mode 100644
index 0000000..b412f22
--- /dev/null
+++ b/theme/default/html/home.php
@@ -0,0 +1,20 @@
+<?php
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+# Home Template [Thomas Lange <code@nerdmind.de>] #
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+# #
+# [see documentation] #
+# #
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+?>
+<h1><i class="fa fa-home"></i><?=$Language->text('home_heading_text', escapeHTML(Application::get('BLOGMETA.NAME')))?><span class="head-link brackets"><i class="fa fa-rss"></i><a href="<?=Application::getURL('feed/')?>" title="<?=$Language->text('feed_name_items', escapeHTML($BLOGMETA['NAME']))?>">Feed</a></span></h1>
+<p><?=$Language->text('home_heading_desc', Application::get('POST.LIST_SIZE'))?></p>
+
+<div class="item-container post">
+ <?php foreach($LIST['POSTS'] as $post): ?>
+ <?php echo $post; ?>
+ <?php endforeach; ?>
+</div>
+
+<?=$PAGINATION['HTML']?>
+
diff --git a/theme/default/html/main.php b/theme/default/html/main.php
new file mode 100644
index 0000000..e84618b
--- /dev/null
+++ b/theme/default/html/main.php
@@ -0,0 +1,102 @@
+<?php
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+# Main Template [Thomas Lange <code@nerdmind.de>] #
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+# #
+# [see documentation] #
+# #
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+
+#===============================================================================
+# Escape parameters which are used several times here to reduce escapeHTML calls
+#===============================================================================
+$HEAD_NAME = isset($HEAD['NAME']) ? escapeHTML($HEAD['NAME']) : NULL;
+$HEAD_DESC = isset($HEAD['DESC']) ? escapeHTML($HEAD['DESC']) : NULL;
+$BLOGMETA_NAME = escapeHTML($BLOGMETA['NAME']);
+$BLOGMETA_DESC = escapeHTML($BLOGMETA['DESC']);
+?>
+<!DOCTYPE html>
+<html lang="<?=$BLOGMETA['LANG']?>">
+<head>
+ <meta charset="UTF-8" />
+ <meta name="referrer" content="origin-when-crossorigin" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+
+<?php if(isset($HEAD_DESC)): ?>
+ <meta name="description" content="<?=$HEAD_DESC?>" />
+<?php endif; ?>
+
+<?php if(isset($HEAD['PERM'])): ?>
+ <link rel="canonical" href="<?=$HEAD['PERM']?>" />
+<?php endif; ?>
+
+ <meta property="og:site_name" content="<?=$BLOGMETA_NAME?>" />
+ <meta property="og:title" content="<?=$HEAD_NAME?>" />
+ <meta property="og:image" content="<?=Application::getTemplateURL('rsrc/logo.png')?>" />
+
+<?php if(isset($HEAD['OG_IMAGES'])): ?>
+ <?php foreach($HEAD['OG_IMAGES'] as $imageURL): ?>
+ <meta property="og:image" content="<?=$imageURL?>" />
+ <?php endforeach; ?>
+<?php endif; ?>
+
+ <link rel="icon" href="<?=Application::getTemplateURL('rsrc/favicon.ico')?>" />
+ <link rel="stylesheet" href="<?=Application::getTemplateURL('rsrc/css/main.css')?>" title="<?=$BLOGMETA_NAME?>" />
+
+ <link rel="alternate" type="application/rss+xml" title="<?=$Language->text('feed_name_items', $BLOGMETA_NAME)?>" href="<?=Application::getURL('feed/')?>" />
+ <link rel="alternate" type="application/rss+xml" title="<?=$Language->text('feed_name_posts', $BLOGMETA_NAME)?>" href="<?=Application::getURL('feed/post/')?>" />
+ <link rel="alternate" type="application/rss+xml" title="<?=$Language->text('feed_name_pages', $BLOGMETA_NAME)?>" href="<?=Application::getURL('feed/page/')?>" />
+
+ <script defer src="<?=Application::getTemplateURL('rsrc/main.js')?>"></script>
+
+ <title><?="{$HEAD_NAME} | {$BLOGMETA_NAME} {$BLOGMETA_DESC}"?></title>
+</head>
+<body>
+ <div id="container">
+ <header id="main-header">
+ <div>
+ <a href="<?=Application::getURL()?>" title="<?="{$BLOGMETA_NAME} {$BLOGMETA_DESC}"?>">
+ <img id="main-logo" src="<?=Application::getTemplateURL('rsrc/logo.png')?>" alt="<?=$BLOGMETA_NAME?>" />
+ </a>
+ </div>
+ <nav id="main-navi">
+ <label for="toogle-nav" id="toogle-nav-label" class="fa fa-bars"></label>
+ <input type="checkbox" id="toogle-nav" />
+ <ul>
+ <li>
+ <a href="<?=Application::getURL()?>" title="<?=$Language->text('navigation_home_desc', $BLOGMETA_NAME)?>">
+ <i class="fa fa-home"></i><?=$Language->text('navigation_home_text')?>
+ </a>
+ </li>
+ <li>
+ <a href="<?=Application::getPostURL()?>" title="<?=$Language->text('post_overview')?>">
+ <i class="fa fa-newspaper-o"></i><?=$Language->text('posts')?>
+ </a>
+ </li>
+ <li>
+ <a href="<?=Application::getPageURL()?>" title="<?=$Language->text('page_overview')?>">
+ <i class="fa fa-file-text-o"></i><?=$Language->text('pages')?>
+ </a>
+ </li>
+ <li>
+ <a href="<?=Application::getUserURL()?>" title="<?=$Language->text('user_overview')?>">
+ <i class="fa fa-user"></i><?=$Language->text('users')?>
+ </a>
+ </li>
+ <li>
+ <a href="<?=Application::getURL('search/')?>" title="<?=$Language->text('navigation_search_desc')?>">
+ <i class="fa fa-search"></i><?=$Language->text('navigation_search_text')?>
+ </a>
+ </li>
+ </ul>
+ </nav>
+ </header>
+ <main>
+ <?=$HTML?>
+ </main>
+ <footer id="main-footer">
+ &copy; <?=$BLOGMETA_NAME?>
+ </footer>
+ </div>
+</body>
+</html>
diff --git a/theme/default/html/page/item.php b/theme/default/html/page/item.php
new file mode 100644
index 0000000..20937b9
--- /dev/null
+++ b/theme/default/html/page/item.php
@@ -0,0 +1,20 @@
+<?php
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+# Page Item Template [Thomas Lange <code@nerdmind.de>] #
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+# #
+# [see documentation] #
+# #
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+?>
+<article class="item">
+ <header>
+ <h2>
+ <a title="<?=$Language->text('select_page')?>: »<?=escapeHTML($PAGE['ATTR']['NAME'])?>«" href="<?=$PAGE['URL']?>"><?=escapeHTML($PAGE['ATTR']['NAME'])?></a>
+ </h2>
+ <time class="brackets info" datetime="<?=$PAGE['ATTR']['TIME_INSERT']?>"><?=parseDatetime($PAGE['ATTR']['TIME_INSERT'], $Language->text('date_format'))?></time>
+ </header>
+ <blockquote cite="<?=$PAGE['URL']?>">
+ <p><?=excerpt($PAGE['BODY']['HTML'](), 600)?></p>
+ </blockquote>
+</article>
diff --git a/theme/default/html/page/list.php b/theme/default/html/page/list.php
new file mode 100644
index 0000000..665301e
--- /dev/null
+++ b/theme/default/html/page/list.php
@@ -0,0 +1,19 @@
+<?php
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+# Page List Template [Thomas Lange <code@nerdmind.de>] #
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+# #
+# [see documentation] #
+# #
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+?>
+<h1><i class="fa fa-file-text-o"></i><?=$Language->text('page_overview')?><span class="head-link brackets"><i class="fa fa-rss"></i><a href="<?=Application::getURL('feed/page/')?>" title="<?=$Language->text('feed_name_pages', escapeHTML($BLOGMETA['NAME']))?>">Feed</a></span></h1>
+<p><?=$Language->text('page_overview_heading_desc', $PAGINATION['THIS'])?></p>
+
+<div class="item-container page">
+ <?php foreach($LIST['PAGES'] as $page): ?>
+ <?php echo $page; ?>
+ <?php endforeach; ?>
+</div>
+
+<?=$PAGINATION['HTML']?>
diff --git a/theme/default/html/page/main.php b/theme/default/html/page/main.php
new file mode 100644
index 0000000..7e37805
--- /dev/null
+++ b/theme/default/html/page/main.php
@@ -0,0 +1,34 @@
+<?php
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+# Page Main Template [Thomas Lange <code@nerdmind.de>] #
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+# #
+# [see documentation] #
+# #
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+
+$user = "<a href=\"{$USER['URL']}\" title=\"alias »{$USER['ATTR']['USERNAME']}«\">{$USER['ATTR']['FULLNAME']}</a>";
+$time = "<time datetime=\"{$PAGE['ATTR']['TIME_INSERT']}\" title=\"".parseDatetime($PAGE['ATTR']['TIME_INSERT'], '[W]')."\">".parseDatetime($PAGE['ATTR']['TIME_INSERT'], $Language->text('date_format'))."</time>";
+?>
+<h1><i class="fa fa-file-text-o"></i><?=escapeHTML($PAGE['ATTR']['NAME'])?></h1>
+<p><?=$Language->text('page_main_heading_desc', [$user, $time])?></p>
+
+<div id="content" class="page">
+ <?=$PAGE['BODY']['HTML']()?>
+</div>
+
+<section id="site-navi">
+
+ <?php if($PAGE['PREV']): ?>
+ <div><a id="prev-site" href="<?=$PAGE['PREV']['URL']?>" title="<?=$Language->text('prev_page')?> »<?=escapeHTML($PAGE['PREV']['ATTR']['NAME'])?>«"><i class="fa fa-arrow-left"></i></a></div>
+ <?php else: ?>
+ <div><a class="disabled"><i class="fa fa-arrow-left"></i></a></div>
+ <?php endif; ?>
+
+ <?php if($PAGE['NEXT']): ?>
+ <div><a id="next-site" href="<?=$PAGE['NEXT']['URL']?>" title="<?=$Language->text('next_page')?> »<?=escapeHTML($PAGE['NEXT']['ATTR']['NAME'])?>«"><i class="fa fa-arrow-right"></i></a></div>
+ <?php else: ?>
+ <div><a class="disabled"><i class="fa fa-arrow-right"></i></a></div>
+ <?php endif; ?>
+
+</section>
diff --git a/theme/default/html/pagination.php b/theme/default/html/pagination.php
new file mode 100644
index 0000000..012c891
--- /dev/null
+++ b/theme/default/html/pagination.php
@@ -0,0 +1,39 @@
+<?php
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+# Pagination Template [Thomas Lange <code@nerdmind.de>] #
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+# #
+# [see documentation] #
+# #
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+?>
+<div id="site-navi">
+ <?php if($THIS > 1): ?>
+ <div><a id="prev-site" href="<?=sprintf($HREF, $THIS-1)?>"><i class="fa fa-arrow-left"></i></a></div>
+ <?php else: ?>
+ <div><a class="disabled"><i class="fa fa-arrow-left"></i></a></div>
+ <?php endif; ?>
+
+ <div>
+ <ol>
+ <?php
+ for($current = 1; $current <= $LAST; ++$current) {
+ $class = '';
+ $href = sprintf($HREF, $current);
+
+ if($current === $THIS) {
+ $class = ' class="active"';
+ }
+
+ echo "<li{$class}><a href=\"{$href}\">{$current}</a></li>";
+ }
+ ?>
+ </ol>
+ </div>
+
+ <?php if($THIS < $LAST): ?>
+ <div><a id="next-site" href="<?=sprintf($HREF, $THIS+1)?>"><i class="fa fa-arrow-right"></i></a></div>
+ <?php else: ?>
+ <div><a class="disabled"><i class="fa fa-arrow-right"></i></a></div>
+ <?php endif; ?>
+</div>
diff --git a/theme/default/html/post/item.php b/theme/default/html/post/item.php
new file mode 100644
index 0000000..6f68d79
--- /dev/null
+++ b/theme/default/html/post/item.php
@@ -0,0 +1,20 @@
+<?php
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+# Post Item Template [Thomas Lange <code@nerdmind.de>] #
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+# #
+# [see documentation] #
+# #
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+?>
+<article class="item">
+ <header>
+ <h2>
+ <a title="<?=$Language->text('select_post')?>: »<?=escapeHTML($POST['ATTR']['NAME'])?>«" href="<?=$POST['URL']?>"><?=escapeHTML($POST['ATTR']['NAME'])?></a>
+ </h2>
+ <time class="brackets info" datetime="<?=$POST['ATTR']['TIME_INSERT']?>"><?=parseDatetime($POST['ATTR']['TIME_INSERT'], $Language->text('date_format'))?></time>
+ </header>
+ <blockquote cite="<?=$POST['URL']?>">
+ <?=$POST['BODY']['HTML']()?>
+ </blockquote>
+</article>
diff --git a/theme/default/html/post/list.php b/theme/default/html/post/list.php
new file mode 100644
index 0000000..37fca86
--- /dev/null
+++ b/theme/default/html/post/list.php
@@ -0,0 +1,19 @@
+<?php
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+# Post List Template [Thomas Lange <code@nerdmind.de>] #
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+# #
+# [see documentation] #
+# #
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+?>
+<h1><i class="fa fa-newspaper-o"></i><?=$Language->text('post_overview')?><span class="head-link brackets"><i class="fa fa-rss"></i><a href="<?=Application::getURL('feed/post/')?>" title="<?=$Language->text('feed_name_posts', escapeHTML($BLOGMETA['NAME']))?>">Feed</a></span></h1>
+<p><?=$Language->text('post_overview_heading_desc', $PAGINATION['THIS'])?></p>
+
+<div class="item-container post">
+ <?php foreach($LIST['POSTS'] as $post): ?>
+ <?php echo $post; ?>
+ <?php endforeach; ?>
+</div>
+
+<?=$PAGINATION['HTML']?>
diff --git a/theme/default/html/post/main.php b/theme/default/html/post/main.php
new file mode 100644
index 0000000..4b84ed9
--- /dev/null
+++ b/theme/default/html/post/main.php
@@ -0,0 +1,34 @@
+<?php
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+# Post Main Template [Thomas Lange <code@nerdmind.de>] #
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+# #
+# [see documentation] #
+# #
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+
+$user = "<a href=\"{$USER['URL']}\" title=\"alias »{$USER['ATTR']['USERNAME']}«\">{$USER['ATTR']['FULLNAME']}</a>";
+$time = "<time datetime=\"{$POST['ATTR']['TIME_INSERT']}\" title=\"".parseDatetime($POST['ATTR']['TIME_INSERT'], '[W]')."\">".parseDatetime($POST['ATTR']['TIME_INSERT'], $Language->text('date_format'))."</time>";
+?>
+<h1><i class="fa fa-newspaper-o"></i><?=escapeHTML($POST['ATTR']['NAME'])?></h1>
+<p><?=$Language->text('post_main_heading_desc', [$user, $time])?></p>
+
+<div id="content" class="post">
+ <?=$POST['BODY']['HTML']()?>
+</div>
+
+<section id="site-navi">
+
+ <?php if($POST['PREV']): ?>
+ <div><a id="prev-site" href="<?=$POST['PREV']['URL']?>" title="<?=$Language->text('prev_post')?> »<?=escapeHTML($POST['PREV']['ATTR']['NAME'])?>«"><i class="fa fa-arrow-left"></i></a></div>
+ <?php else: ?>
+ <div><a class="disabled"><i class="fa fa-arrow-left"></i></a></div>
+ <?php endif; ?>
+
+ <?php if($POST['NEXT']): ?>
+ <div><a id="next-site" href="<?=$POST['NEXT']['URL']?>" title="<?=$Language->text('next_post')?> »<?=escapeHTML($POST['NEXT']['ATTR']['NAME'])?>«"><i class="fa fa-arrow-right"></i></a></div>
+ <?php else: ?>
+ <div><a class="disabled"><i class="fa fa-arrow-right"></i></a></div>
+ <?php endif; ?>
+
+</section>
diff --git a/theme/default/html/search/main.php b/theme/default/html/search/main.php
new file mode 100644
index 0000000..e7522ff
--- /dev/null
+++ b/theme/default/html/search/main.php
@@ -0,0 +1,34 @@
+<h1><i class="fa fa-search"></i><?=$Language->text('search_base_heading_text')?></h1>
+<p><?=$Language->text('search_base_heading_desc')?></p>
+
+<?php if($SEARCH['INFO']): ?>
+ <div class="red"><?=$SEARCH['INFO']?></div>
+<?php endif; ?>
+
+<form action="" method="GET">
+ <input autofocus type="search" name="q" placeholder="<?=$Language->text('search_form_placeholder')?>" value="<?=escapeHTML($SEARCH['TEXT'])?>" />
+
+ <select name="d">
+ <option value=""><?=$Language->text('date_d')?></option>
+
+ <?php foreach($FORM['OPTIONS']['D'] as $option): ?>
+ <option value="<?=$option?>"<?=($FORM['SELECT']['D'] === $option) ? ' selected' : '' ?>><?=$option?></option>
+ <?php endforeach; ?>
+ </select>
+ <select name="m">
+ <option value=""><?=$Language->text('date_m')?></option>
+
+ <?php foreach($FORM['OPTIONS']['M'] as $option): ?>
+ <option value="<?=$option?>"<?=($FORM['SELECT']['M'] === $option) ? ' selected' : '' ?>><?=$option?></option>
+ <?php endforeach; ?>
+ </select>
+ <select name="y">
+ <option value=""><?=$Language->text('date_y')?></option>
+
+ <?php foreach($FORM['OPTIONS']['Y'] as $option): ?>
+ <option value="<?=$option?>"<?=($FORM['SELECT']['Y'] === $option) ? ' selected' : '' ?>><?=$option?></option>
+ <?php endforeach; ?>
+ </select>
+
+ <input type="submit" value="<?=$Language->text('search')?>" />
+</form>
diff --git a/theme/default/html/search/result.php b/theme/default/html/search/result.php
new file mode 100644
index 0000000..2dac0ec
--- /dev/null
+++ b/theme/default/html/search/result.php
@@ -0,0 +1,36 @@
+<h1><?=$Language->text('search_result_heading_text', escapeHTML($SEARCH['TEXT']))?></h1>
+<p><?=$Language->text('search_result_heading_desc')?></p>
+
+<form action="" method="GET">
+ <input autofocus type="search" name="q" placeholder="<?=$Language->text('search_form_placeholder')?>" value="<?=escapeHTML($SEARCH['TEXT'])?>" />
+
+ <select name="d">
+ <option value=""><?=$Language->text('date_d')?></option>
+
+ <?php foreach($FORM['OPTIONS']['D'] as $option): ?>
+ <option value="<?=$option?>"<?=($FORM['SELECT']['D'] === $option) ? ' selected' : '' ?>><?=$option?></option>
+ <?php endforeach; ?>
+ </select>
+ <select name="m">
+ <option value=""><?=$Language->text('date_m')?></option>
+
+ <?php foreach($FORM['OPTIONS']['M'] as $option): ?>
+ <option value="<?=$option?>"<?=($FORM['SELECT']['M'] === $option) ? ' selected' : '' ?>><?=$option?></option>
+ <?php endforeach; ?>
+ </select>
+ <select name="y">
+ <option value=""><?=$Language->text('date_y')?></option>
+
+ <?php foreach($FORM['OPTIONS']['Y'] as $option): ?>
+ <option value="<?=$option?>"<?=($FORM['SELECT']['Y'] === $option) ? ' selected' : '' ?>><?=$option?></option>
+ <?php endforeach; ?>
+ </select>
+
+ <input type="submit" value="<?=$Language->text('search')?>" />
+</form>
+
+<div class="item-container post">
+ <?php foreach($RESULT['LIST'] as $post): ?>
+ <?php echo $post; ?>
+ <?php endforeach; ?>
+</div>
diff --git a/theme/default/html/user/item.php b/theme/default/html/user/item.php
new file mode 100644
index 0000000..7d2c36b
--- /dev/null
+++ b/theme/default/html/user/item.php
@@ -0,0 +1,20 @@
+<?php
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+# User Item Template [Thomas Lange <code@nerdmind.de>] #
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+# #
+# [see documentation] #
+# #
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+?>
+<article class="item">
+ <header>
+ <h2>
+ <a title="<?=$Language->text('select_user')?>: »<?=escapeHTML($USER['ATTR']['FULLNAME'])?>«" href="<?=$USER['URL']?>"><?=escapeHTML($USER['ATTR']['FULLNAME'])?></a>
+ </h2>
+ <span class="brackets info"><?=escapeHTML($USER['ATTR']['USERNAME'])?></span>
+ </header>
+ <blockquote cite="<?=$USER['URL']?>">
+ <?=$USER['BODY']['HTML']()?>
+ </blockquote>
+</article>
diff --git a/theme/default/html/user/list.php b/theme/default/html/user/list.php
new file mode 100644
index 0000000..59bc5ee
--- /dev/null
+++ b/theme/default/html/user/list.php
@@ -0,0 +1,19 @@
+<?php
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+# User List Template [Thomas Lange <code@nerdmind.de>] #
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+# #
+# [see documentation] #
+# #
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+?>
+<h1><i class="fa fa-user"></i><?=$Language->text('user_overview')?></h1>
+<p><?=$Language->text('user_overview_heading_desc', $PAGINATION['THIS'])?></p>
+
+<div class="item-container user">
+ <?php foreach($LIST['USERS'] as $user): ?>
+ <?php echo $user; ?>
+ <?php endforeach; ?>
+</div>
+
+<?=$PAGINATION['HTML']?>
diff --git a/theme/default/html/user/main.php b/theme/default/html/user/main.php
new file mode 100644
index 0000000..5b4e2d7
--- /dev/null
+++ b/theme/default/html/user/main.php
@@ -0,0 +1,31 @@
+<?php
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+# User Main Template [Thomas Lange <code@nerdmind.de>] #
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+# #
+# [see documentation] #
+# #
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
+?>
+<h1><i class="fa fa-user"></i><?=escapeHTML($USER['ATTR']['FULLNAME'])?></h1>
+<p><em><?=$Language->text('user_main_heading_desc', [escapeHTML($USER['ATTR']['USERNAME']), $COUNT['POST'], $COUNT['PAGE']])?></em></p>
+
+<div id="content" class="user">
+ <?=$USER['BODY']['HTML']()?>
+</div>
+
+<section id="site-navi">
+
+ <?php if($USER['PREV']): ?>
+ <div><a id="prev-site" href="<?=$USER['PREV']['URL']?>" title="<?=$Language->text('prev_user')?> »<?=escapeHTML($USER['PREV']['ATTR']['FULLNAME'])?>«"><i class="fa fa-arrow-left"></i></a></div>
+ <?php else: ?>
+ <div><a class="disabled"><i class="fa fa-arrow-left"></i></a></div>
+ <?php endif; ?>
+
+ <?php if($USER['NEXT']): ?>
+ <div><a id="next-site" href="<?=$USER['NEXT']['URL']?>" title="<?=$Language->text('next_user')?> »<?=escapeHTML($USER['NEXT']['ATTR']['FULLNAME'])?>«"><i class="fa fa-arrow-right"></i></a></div>
+ <?php else: ?>
+ <div><a class="disabled"><i class="fa fa-arrow-right"></i></a></div>
+ <?php endif; ?>
+
+</section>