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,7 +57,7 @@ function get_posts($page = 1, $perpage = 0){
// Create a new instance of the markdown parser // Create a new instance of the markdown parser
$md = new MarkdownParser(); $md = new MarkdownParser();
foreach($posts as $k=>$v){ foreach($posts as $index => $v){
$post = new stdClass; $post = new stdClass;
@ -91,9 +91,19 @@ function get_posts($page = 1, $perpage = 0){
$post->title = str_replace('<h1>','',$arr[0]); $post->title = str_replace('<h1>','',$arr[0]);
$post->body = $arr[1]; $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; $tmp[] = $post;
} }
return $tmp; return $tmp;
} }
@ -188,6 +198,17 @@ function get_tag($tag){
$post->title = str_replace('<h1>','',$arr[0]); $post->title = str_replace('<h1>','',$arr[0]);
$post->body = $arr[1]; $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; $tmp[] = $post;
} }
else { else {
@ -240,6 +261,17 @@ function get_archive($req){
$post->title = str_replace('<h1>','',$arr[0]); $post->title = str_replace('<h1>','',$arr[0]);
$post->body = $arr[1]; $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; $tmp[] = $post;
} }
} }
@ -604,16 +636,16 @@ function publisher(){
function analytics(){ function analytics(){
$analytics = config('google.analytics.id'); $analytics = config('google.analytics.id');
$script = <<<EOF $script = <<<EOF
<script type="text/javascript"> <script type="text/javascript">
var _gaq = _gaq || []; var _gaq = _gaq || [];
_gaq.push(['_setAccount', '{$analytics}']); _gaq.push(['_setAccount', '{$analytics}']);
_gaq.push(['_trackPageview']); _gaq.push(['_trackPageview']);
(function() { (function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; 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'; 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); var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})(); })();
</script> </script>
EOF; EOF;
if (!empty($analytics)) { if (!empty($analytics)) {
return $script; return $script;

View file

@ -1,19 +1,6 @@
<?php if (!empty($breadcrumb)):?><div class="breadcrumb"><?php echo $breadcrumb ?></div><?php endif;?> <?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 foreach($posts as $p):?>
<?php <div class="post <?php echo $p->cls ?>" itemprop="blogPost" itemscope="itemscope" itemtype="http://schema.org/BlogPosting">
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="main"> <div class="main">
<h2 class="title-index" itemprop="name"><a href="<?php echo $p->url?>"><?php echo $p->title ?></a></h2> <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> <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>