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