]> git.bts.cx Git - cx.git/blobdiff - cx/lib/posts.php
Basic support for pagination
[cx.git] / cx / lib / posts.php
index 2c2dc821e811bfc0fe94d66823a28f0af7940ce3..7b1316643984a0ad2569831c7e820833df4a9874 100644 (file)
@@ -2,21 +2,15 @@
 
 cx_require('lib', 'db.php');
 cx_require('lib', 'setup.php');
 
 cx_require('lib', 'db.php');
 cx_require('lib', 'setup.php');
-cx_require('third_party', 'parsedown', 'Parsedown.php');
-
-function mk_markdown($markdown) {
-       static $Parsedown = new Parsedown();
-
-       return $Parsedown->text($markdown);
-}
+cx_require('lib', 'markdown.php');
 
 class PostMetadata {
        public $hero_image;
        public $hero_image_alt;
 
        public function __construct($dict) {
 
 class PostMetadata {
        public $hero_image;
        public $hero_image_alt;
 
        public function __construct($dict) {
-               $this->hero_image = $dict['post_hero_image'];
-               $this->hero_image_alt = $dict['post_hero_image_alt'];
+               $this->hero_image = isset($dict['post_hero_image']) ? $dict['post_hero_image'] : null;
+               $this->hero_image_alt = isset($dict['post_hero_image_alt']) ? $dict['post_hero_image_alt'] : null;
        }
 }
 
        }
 }
 
@@ -37,13 +31,13 @@ class Post {
                $this->date = $dict['post_date'];
                $this->is_draft = $dict['post_is_draft'];
                $this->data = $dict['post_data'];
                $this->date = $dict['post_date'];
                $this->is_draft = $dict['post_is_draft'];
                $this->data = $dict['post_data'];
-               $this->html_content = mk_markdown($this->data);
+               $this->html_content = cx_markdown_generate_html($this->data);
                $this->html_excerpt = null;
 
                // Read more...
                $segments = explode('---', $this->data, 2);
                if (count($segments) > 1) {
                $this->html_excerpt = null;
 
                // Read more...
                $segments = explode('---', $this->data, 2);
                if (count($segments) > 1) {
-                       $this->html_excerpt = mk_markdown($segments[0]);
+                       $this->html_excerpt = cx_markdown_generate_html($segments[0]);
                }
        }
 
                }
        }
 
@@ -133,7 +127,7 @@ function cx_posts_delete_post($post_id) {
        cx_db_exec($sql, $post_id);
 }
 
        cx_db_exec($sql, $post_id);
 }
 
-function cx_posts_get(int $limit = 0, bool $include_drafts = false) {
+function cx_posts_get(int $limit = 0, int $offset = 0, bool $include_drafts = false) {
        $sql = 'SELECT
                post_id,
                post_slug,
        $sql = 'SELECT
                post_id,
                post_slug,
@@ -153,6 +147,10 @@ function cx_posts_get(int $limit = 0, bool $include_drafts = false) {
        if ($limit > 0) {
                $sql .= ' LIMIT ' . $limit;
        }
        if ($limit > 0) {
                $sql .= ' LIMIT ' . $limit;
        }
+       
+       if ($offset > 0) {
+               $sql .= ' OFFSET ' . $offset;
+       }
 
        $sql .= ';';
 
 
        $sql .= ';';