Simplify the first post and last post generation

Previously the first post and last post generation code, hard coded
directly on main.html.php, now moved to functions.php.
This commit is contained in:
Danang Probo Sayekti 2014-01-02 21:44:44 +07:00
commit d5e6973e82
2 changed files with 46 additions and 27 deletions

View file

@ -57,10 +57,10 @@ function get_posts($page = 1, $perpage = 0){
// Create a new instance of the markdown parser
$md = new MarkdownParser();
foreach($posts as $k=>$v){
foreach($posts as $index => $v){
$post = new stdClass;
// Extract the date
$arr = explode('_', $v);
@ -91,9 +91,19 @@ function get_posts($page = 1, $perpage = 0){
$post->title = str_replace('<h1>','',$arr[0]);
$post->body = $arr[1];
// Get first and last post
if ($index == 0) {
$post->cls = 'item first';
}
elseif ($index == count($posts) - 1) {
$post->cls = 'item last';
}
else {
$post->cls = 'item';
}
$tmp[] = $post;
}
return $tmp;
}
@ -187,6 +197,17 @@ function get_tag($tag){
$arr = explode('</h1>', $content);
$post->title = str_replace('<h1>','',$arr[0]);
$post->body = $arr[1];
// Get first and last post
if ($index == 0) {
$post->cls = 'item first';
}
elseif ($index == count($posts) - 1) {
$post->cls = 'item last';
}
else {
$post->cls = 'item';
}
$tmp[] = $post;
}
@ -239,6 +260,17 @@ function get_archive($req){
$arr = explode('</h1>', $content);
$post->title = str_replace('<h1>','',$arr[0]);
$post->body = $arr[1];
// Get first and last post
if ($index == 0) {
$post->cls = 'item first';
}
elseif ($index == count($posts) - 1) {
$post->cls = 'item last';
}
else {
$post->cls = 'item';
}
$tmp[] = $post;
}
@ -604,16 +636,16 @@ function publisher(){
function analytics(){
$analytics = config('google.analytics.id');
$script = <<<EOF
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', '{$analytics}']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', '{$analytics}']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
EOF;
if (!empty($analytics)) {
return $script;

View file

@ -1,19 +1,6 @@
<?php if (!empty($breadcrumb)):?><div class="breadcrumb"><?php echo $breadcrumb ?></div><?php endif;?>
<?php $i = 0; $len = count($posts);?>
<?php foreach($posts as $p):?>
<?php
if ($i == 0) {
$class = 'first';
}
elseif ($i == $len - 1) {
$class = 'last';
}
else {
$class = '';
}
$i++;
?>
<div class="post <?php echo $class ?>" itemprop="blogPost" itemscope="itemscope" itemtype="http://schema.org/BlogPosting">
<div class="post <?php echo $p->cls ?>" itemprop="blogPost" itemscope="itemscope" itemtype="http://schema.org/BlogPosting">
<div class="main">
<h2 class="title-index" itemprop="name"><a href="<?php echo $p->url?>"><?php echo $p->title ?></a></h2>
<div class="date"><span itemprop="datePublished"><?php echo date('d F Y', $p->date)?></span> - Posted in <span itemprop="articleSection"><a href="<?php echo $p->tagurl ?>"><?php echo ucfirst($p->tag) ?></a></span> by <span itemprop="author"><a href="<?php echo $p->authorurl ?>"><?php echo $p->author ?></a></span><?php if (disqus_count() == true):?> - <span><a href="<?php echo $p->url?>#disqus_thread">Komentar</a></span><?php endif;?></div>