$p = new blog\Post(); $posts = $p->by($page->author, $page->limit, $page->offset); $page->count = $p->query()->where('published', 'yes')->where('author', $page->author)->count(); $page->last = $page->offset + count($posts); $page->more = $page->count > $page->last ? true : false; $page->next = $page->num + 2; $footer = Appconf::blog('Blog', 'post_footer'); $footer_stripped = strip_tags($footer); $footer = $footer && !empty($footer_stripped) ? $tpl->run_includes($footer) : false; if (Appconf::blog('Blog', 'post_format') === 'markdown') { require_once 'apps/blog/lib/markdown.php'; } foreach ($posts as $post) { $post->url = '/blog/post/' . $post->id . '/' . URLify::filter($post->title); $post->tag_list = strlen($post->tags) > 0 ? explode(',', $post->tags) : array(); $post->social_buttons = $appconf['Social Buttons']; if (Appconf::blog('Blog', 'post_format') === 'html') { $post->body = $tpl->run_includes($post->body); } else { $post->body = $tpl->run_includes(Markdown($post->body)); } if ($preview_chars) { $post->body = blog_filter_truncate($post->body, $preview_chars) . ' <a href="' . $post->url . '">' . __('Read more') . '</a>'; } else { $post->footer = $footer; } echo $tpl->render('blog/post', $post); } $page->title = __('Posts by %s', $tpl->sanitize($page->author)); $page->add_script(sprintf('<link rel="alternate" type="application/rss+xml" href="http://%s/blog/rss" />', $_SERVER['HTTP_HOST'])); echo $tpl->render('blog/by', $page);
} else { if (User::require_acl('admin', 'blog', 'admin/add')) { echo '<p class="hide-in-preview"><a href="/blog/add">' . __('Add Blog Post') . '</a></p>'; } if (Appconf::blog('Blog', 'post_format') === 'markdown') { require_once 'apps/blog/lib/markdown.php'; } foreach ($posts as $_post) { $post = $_post->orig(); $post->url = '/blog/post/' . $post->id . '/'; $post->fullurl = $post->url . URLify::filter($post->title); $post->tag_list = strlen($post->tags) > 0 ? explode(',', $post->tags) : array(); $post->social_buttons = Appconf::blog('Social Buttons'); if (Appconf::blog('Blog', 'post_format') === 'html') { $post->body = $tpl->run_includes($post->body); } else { $post->body = $tpl->run_includes(Markdown($post->body)); } if ($preview_chars) { $post->body = blog_filter_truncate($post->body, $preview_chars) . ' <a href="' . $post->url . '">' . __('Read more') . '</a>'; } else { $post->footer = $footer; } echo $tpl->render('blog/post', $post); } } if (!$this->internal) { $page->window_title = Appconf::blog('Blog', 'title'); } $page->add_script(sprintf('<link rel="alternate" type="application/rss+xml" href="http://%s/blog/rss" />', $_SERVER['HTTP_HOST'])); echo $tpl->render('blog/index', $page);
? $tpl->run_includes ($footer) : false; echo $tpl->render ('blog/post', $post); switch (Appconf::blog ('Blog', 'comments')) { case 'disqus': echo $this->run ('blog/disqus/comments', $post); break; case 'facebook': echo $this->run ('social/facebook/comments', $post); break; default: if (Appconf::blog ('Blog', 'comments') != false) { echo $this->run ( Appconf::blog ('Blog', 'comments'), array ( 'identifier' => $post->url ) ); } break; } // add rss discovery $page->add_script (sprintf ( '<link rel="alternate" type="application/rss+xml" href="http://%s/blog/rss" />', $_SERVER['HTTP_HOST'] )); // add opengraph meta tags
/** * Creates a preview of a web page based on POST data sent to it. * POST data must match values available to the Page object. */ $this->require_admin(); $post = new blog\Post($_POST); $page->id = 'blog'; $page->layout = Appconf::blog('Blog', 'post_layout'); if (Appconf::blog('Blog', 'post_format') === 'html') { $post->body = $tpl->run_includes($post->body); } else { require_once 'apps/blog/lib/markdown.php'; $post->body = $tpl->run_includes(Markdown($post->body)); } $post->social_buttons = Appconf::blog('Social Buttons'); echo $tpl->render('blog/post', $post); switch (Appconf::blog('Blog', 'comments')) { case 'disqus': echo $this->run('blog/disqus/comments', $post); break; case 'facebook': echo $this->run('social/facebook/comments', $post); break; default: if (Appconf::blog('Blog', 'comments') != false) { echo $this->run(Appconf::blog('Blog', 'comments'), array('identifier' => $post->url)); } break; } $page->add_script(sprintf('<link rel="alternate" type="application/rss+xml" href="http://%s/blog/rss" />', $_SERVER['HTTP_HOST']));