]> git.bts.cx Git - cx.git/blobdiff - cx/cx.php
Use the correct file request call
[cx.git] / cx / cx.php
index 35b2722d4c400e145697a0ff683ed5e4830f02c4..1703e780c3a62502df7b6228d8bfec361a09d502 100644 (file)
--- a/cx/cx.php
+++ b/cx/cx.php
@@ -67,6 +67,12 @@ function cx_route($path) {
        if (count($path_components) == 0) {
                $template = 'list';
                $template_variables['page_number'] = 0;
+       } else if (cx_template_has_content('public', $path)) {
+               cx_template_output_content('public', $path);
+               exit(0);
+       } else if (cx_template_has_content('admin', $path)) {
+               cx_template_output_content('admin', $path);
+               exit(0);
        } else if (count($path_components) >= 1 && $path_components[0] == 'feed') {
                header('Content-type: application/atom+xml;');
                $template = 'atom';
@@ -104,6 +110,7 @@ function cx_route($path) {
                                        $template_variables['post_data'] = '';
                                        $template_variables['post_is_page'] = false;
                                        $template_variables['post_is_draft'] = true;
+                                       $template_variables['post_nav_index'] = '';
 
                                        $template_class = 'admin';
                                        $template = 'post';
@@ -117,6 +124,7 @@ function cx_route($path) {
                                        $template_variables['post_data'] = $post->data;
                                        $template_variables['post_is_page'] = $post->is_page;
                                        $template_variables['post_is_draft'] = $post->is_draft;
+                                       $template_variables['post_nav_index'] = $post->nav_index;
 
                                        $template_class = 'admin';
                                        $template = 'post';
@@ -128,16 +136,17 @@ function cx_route($path) {
                                        if (isset($date) == false) $date = null;
                                        $is_page = cx_form_input_sanitized('post_is_page') == 'page';
                                        $is_draft = cx_form_input_sanitized('post_is_draft') == 'draft';
+                                       $nav_index = cx_form_input_sanitized('post_nav_index');
                                        $data = cx_form_input_sanitized_allowing_html('post_data');
                                        
                                        if (isset($_GET['id']) == false or $_GET['id'] == 0) {
-                                               cx_posts_add_post(1, $title, $slug, $date, $is_page, $is_draft, $data);
+                                               $id = cx_posts_add_post(1, $title, $slug, $date, $is_page, $is_draft, $nav_index, $data);
                                        } else {
                                                $id = $_GET['id'];
-                                               cx_posts_update_post($id, $title, $slug, $date, $is_page, $is_draft, $data);
+                                               cx_posts_update_post($id, $title, $slug, $date, $is_page, $is_draft, $nav_index, $data);
                                        }
                                        
-                                       cx_http_redirect(cx_url_admin('/'));
+                                       cx_http_redirect(cx_url_admin('/posts/edit?id=' . $id));
                                        exit(0);
                                } else if (count($path_components) >= 3 && $path_components[1] == 'posts' && $path_components[2] == 'delete') {
                                        cx_posts_delete_post($_GET['id']);
@@ -173,10 +182,10 @@ function cx_route($path) {
        } else {
                if (count($path_components) >= 1) {
                        $slug = $path_components[0];
-                       $page_id = cx_posts_find_page_id($slug);
+                       $page_id = cx_posts_find_page_id($slug, include_drafts: cx_admin_logged_in());
                        if ($page_id) {
                                $template = 'post';
-                               $template_variables['post_id'] = cx_posts_find_page_id($slug);
+                               $template_variables['post_id'] = $page_id;
                        }
                }
 
@@ -184,10 +193,10 @@ function cx_route($path) {
                        $year = $path_components[0];
                        $month = $path_components[1];
                        $slug = $path_components[2];
-                       $post_id = cx_posts_find_article_id($slug);
+                       $post_id = cx_posts_find_article_id($slug, include_drafts: cx_admin_logged_in());
                        if ($post_id) {
                                $template = 'post';
-                               $template_variables['post_id'] = cx_posts_find_article_id($slug);
+                               $template_variables['post_id'] = $post_id;
                        }
                }
        }