]> git.bts.cx Git - cx.git/blobdiff - cx/lib/posts.php
Fixes for pages
[cx.git] / cx / lib / posts.php
index b187c51c46c41f3a55b72b39a085d9792d77ab20..f056c8834797ada3b96a028e07c61a5f6c283b80 100644 (file)
@@ -19,6 +19,7 @@ class Post {
        public $title;
        public $slug;
        public $date;
+       public $is_page;
        public $is_draft;
        public $data;
        public $html_content;
@@ -29,6 +30,7 @@ class Post {
                $this->title = $dict['post_title'];
                $this->slug = $dict['post_slug'];
                $this->date = $dict['post_date'];
+               $this->is_page = $dict['post_is_page'];
                $this->is_draft = $dict['post_is_draft'];
                $this->data = $dict['post_data'];
                $this->html_content = cx_markdown_generate_html($this->data);
@@ -71,7 +73,7 @@ function cx_post_make_slug($title) {
        return $slug;
 }
 
-function cx_posts_add_post($site_id, $title, $slug, $date, $draft, $data) {
+function cx_posts_add_post($site_id, $title, $slug, $date, $page, $draft, $data) {
        $creation_time = $update_time = time();
        
        if ($slug == null) {
@@ -94,10 +96,10 @@ function cx_posts_add_post($site_id, $title, $slug, $date, $draft, $data) {
                        post_data,
                        post_data_version)
                VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?);';
-       cx_db_exec($sql, $site_id, $creation_time, $update_time, $slug, $date, false, $draft, $title, $data, 1);
+       cx_db_exec($sql, $site_id, $creation_time, $update_time, $slug, $date, $page, $draft, $title, $data, 1);
 }
 
-function cx_posts_update_post($post_id, $title, $slug, $date, $draft, $data) {
+function cx_posts_update_post($post_id, $title, $slug, $date, $page, $draft, $data) {
        $update_time = time();
        
        if ($slug == null) {
@@ -112,12 +114,13 @@ function cx_posts_update_post($post_id, $title, $slug, $date, $draft, $data) {
                SET post_update_time = ?,
                post_slug = ?,
                post_date = ?,
+               post_is_page = ?,
                post_is_draft = ?,
                post_title = ?,
                post_data = ?
                WHERE post_id == ?;';
                //LIMIT 1;';
-       cx_db_exec($sql, $update_time, $slug, $date, $draft, $title, $data, $post_id);
+       cx_db_exec($sql, $update_time, $slug, $date, $page, $draft, $title, $data, $post_id);
 }
 
 function cx_posts_delete_post($post_id) {
@@ -189,8 +192,7 @@ function cx_posts_find_post($post_id) {
                post_title,
                post_data
                FROM posts
-               WHERE post_is_page == FALSE
-               AND post_id == ?
+               WHERE post_id == ?
                LIMIT 1;';
 
        foreach (cx_db_query($sql, $post_id) as $post) {
@@ -201,11 +203,29 @@ function cx_posts_find_post($post_id) {
        return null;
 }
 
-function cx_posts_find_post_id($post_slug) {
+function cx_posts_find_article_id($post_slug) {
        $sql = 'SELECT
                post_id
                FROM posts
                WHERE post_slug == ?
+               AND post_is_page == FALSE
+               AND post_is_draft == FALSE
+               LIMIT 1;';
+
+       foreach (cx_db_query($sql, $post_slug) as $post) {
+               return $post['post_id'];
+       }
+
+       return null;
+}
+
+function cx_posts_find_page_id($post_slug) {
+       $sql = 'SELECT
+               post_id
+               FROM posts
+               WHERE post_slug == ?
+               AND post_is_page == TRUE
+               AND post_is_draft == FALSE
                LIMIT 1;';
 
        foreach (cx_db_query($sql, $post_slug) as $post) {