X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=testcms-final-anon%2Fsystem%2Ffunctions%2Fposts.php;fp=testcms-final-anon%2Fsystem%2Ffunctions%2Fposts.php;h=e4e5fb7b5e46d61066fcb9db498c896bdcd7ebc2;hb=487e0193c6d3093651c15b478e9e56b6a2f550f9;hp=0000000000000000000000000000000000000000;hpb=e48921c08b5a6cae18d285ef9979b625e4558b4b;p=ssproject1617.git diff --git a/testcms-final-anon/system/functions/posts.php b/testcms-final-anon/system/functions/posts.php new file mode 100644 index 0000000..e4e5fb7 --- /dev/null +++ b/testcms-final-anon/system/functions/posts.php @@ -0,0 +1,71 @@ + 'published', + 'sortby' => 'id', + 'sortmode' => 'desc', + 'limit' => Config::get('metadata.posts_per_page', 10), + 'offset' => Input::get('offset', 0) + ); + $posts = Posts::list_all($params); + IoC::instance('posts', $posts, true); + + $total_posts = Posts::count(array('status' => 'published')); + IoC::instance('total_posts', $total_posts, true); + } + + return $posts->length() > 0; +} + +function posts() { + if(has_posts() === false) { + return false; + } + + $posts = IoC::resolve('posts'); + + if($result = $posts->valid()) { + // register single post + IoC::instance('article', $posts->current(), true); + + // move to next + $posts->next(); + } + + return $result; +} + +function posts_next($text = 'Next', $default = '') { + $per_page = Config::get('metadata.posts_per_page'); + $offset = Input::get('offset', 0); + $total = IoC::resolve('total_posts'); + + $pages = floor($total / $per_page); + $page = $offset / $per_page; + + if($page < $pages) { + return '' . $text . ''; + } + + return $default; +} + +function posts_prev($text = 'Previous', $default = '') { + $per_page = Config::get('metadata.posts_per_page'); + $offset = Input::get('offset', 0); + $total = IoC::resolve('total_posts'); + + $pages = ceil($total / $per_page); + $page = $offset / $per_page; + + if($offset > 0) { + return '' . $text . ''; + } + + return $default; +} \ No newline at end of file