X-Git-Url: https://git.bts.cx/cx.git/blobdiff_plain/6e68608aecb6a542b9c75a13afd5002aeb7bc0f1..ef10a64a4f43bf4ba5e660c0f56d31e4602998c3:/cx/cx.php?ds=sidebyside diff --git a/cx/cx.php b/cx/cx.php index e1f8daf..74bd42e 100644 --- a/cx/cx.php +++ b/cx/cx.php @@ -66,6 +66,7 @@ function cx_route($path) { if (count($path_components) == 0) { $template = 'list'; + $template_variables['page_number'] = 0; } else if (count($path_components) >= 1 && $path_components[0] == 'feed') { header('Content-type: application/atom+xml;'); $template = 'atom'; @@ -101,6 +102,8 @@ function cx_route($path) { $template_variables['post_slug'] = ''; $template_variables['post_date'] = ''; $template_variables['post_data'] = ''; + $template_variables['post_is_page'] = false; + $template_variables['post_is_draft'] = true; $template_class = 'admin'; $template = 'post'; @@ -112,6 +115,8 @@ function cx_route($path) { $template_variables['post_slug'] = $post->slug; $template_variables['post_date'] = $post->date; $template_variables['post_data'] = $post->data; + $template_variables['post_is_page'] = $post->is_page; + $template_variables['post_is_draft'] = $post->is_draft; $template_class = 'admin'; $template = 'post'; @@ -121,13 +126,15 @@ 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; - $data = cx_form_input_sanitized('post_data'); + $is_page = cx_form_input_sanitized('post_is_page') == 'page'; + $is_draft = cx_form_input_sanitized('post_is_draft') == 'draft'; + $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, $data); + cx_posts_add_post(1, $title, $slug, $date, $is_page, $is_draft, $data); } else { $id = $_GET['id']; - cx_posts_update_post($id, $title, $slug, $date, $data); + cx_posts_update_post($id, $title, $slug, $date, $is_page, $is_draft, $data); } cx_http_redirect(cx_url_admin('/')); @@ -158,15 +165,33 @@ function cx_route($path) { } } } - } else if (count($path_components) >= 3) { // FIXME sometime, needs more flexibility... - $year = $path_components[0]; - $month = $path_components[1]; - $slug = $path_components[2]; + } else if (count($path_components) >= 2 && $path_components[0] == 'page') { // FIXME sometime, needs more flexibility... + $page_number = $path_components[1]; - $template = 'post'; - $template_variables['post_id'] = cx_posts_find_post_id($slug); + $template = 'list'; + $template_variables['page_number'] = $page_number; + } else { + if (count($path_components) >= 1) { + $slug = $path_components[0]; + $page_id = cx_posts_find_page_id($slug); + if ($page_id) { + $template = 'post'; + $template_variables['post_id'] = $page_id; + } + } + + if ($template == null && count($path_components) >= 3) { // FIXME sometime, needs more flexibility... + $year = $path_components[0]; + $month = $path_components[1]; + $slug = $path_components[2]; + $post_id = cx_posts_find_article_id($slug); + if ($post_id) { + $template = 'post'; + $template_variables['post_id'] = $post_id; + } + } } - + if ($template != null) { $output = cx_template_render($template_class, $template, $template_variables); echo($output);