X-Git-Url: https://git.bts.cx/cx.git/blobdiff_plain/27850f5b260560bdf75f3fca169ec5950ed00b22..refs/heads/mainline:/cx/lib/posts.php?ds=sidebyside diff --git a/cx/lib/posts.php b/cx/lib/posts.php index 2c2dc82..7b13166 100644 --- a/cx/lib/posts.php +++ b/cx/lib/posts.php @@ -2,21 +2,15 @@ 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) { - $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->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 = 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); } -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, @@ -153,6 +147,10 @@ function cx_posts_get(int $limit = 0, bool $include_drafts = false) { if ($limit > 0) { $sql .= ' LIMIT ' . $limit; } + + if ($offset > 0) { + $sql .= ' OFFSET ' . $offset; + } $sql .= ';';