X-Git-Url: https://git.bts.cx/cx.git/blobdiff_plain/4083179b42caa6de33cd4cec006d7ffe46e48a60..c31a7eee27fd40e7aa558ad15e33f65f9fb6aed2:/cx/cx.php diff --git a/cx/cx.php b/cx/cx.php index d54b3d4..1703e78 100644 --- 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'; @@ -126,18 +134,19 @@ function cx_route($path) { if (isset($slug) == false) $slug = null; $date = cx_form_input_sanitized_date_time('post_date'); if (isset($date) == false) $date = null; - $page = cx_form_input_sanitized('post_is_page') == 'page'; - $draft = cx_form_input_sanitized('post_is_draft') == 'draft'; + $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, $page, $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, $page, $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; } } }