]> git.bts.cx Git - cx.git/blobdiff - cx/cx.php
Updated Parsedown and fixed some bugs for pages
[cx.git] / cx / cx.php
index cbe76468bab4432e471107ddafcdb75c08b96be2..74bd42edd64130c4bb0357b770ea04a0658bcd3d 100644 (file)
--- a/cx/cx.php
+++ b/cx/cx.php
@@ -66,6 +66,7 @@ function cx_route($path) {
 
        if (count($path_components) == 0) {
                $template = 'list';
 
        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';
        } else if (count($path_components) >= 1 && $path_components[0] == 'feed') {
                header('Content-type: application/atom+xml;');
                $template = 'atom';
@@ -101,8 +102,8 @@ function cx_route($path) {
                                        $template_variables['post_slug'] = '';
                                        $template_variables['post_date'] = '';
                                        $template_variables['post_data'] = '';
                                        $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_variables['post_is_draft'] = true;
-                                       
 
                                        $template_class = 'admin';
                                        $template = 'post';
 
                                        $template_class = 'admin';
                                        $template = 'post';
@@ -114,6 +115,7 @@ 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_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_variables['post_is_draft'] = $post->is_draft;
 
                                        $template_class = 'admin';
@@ -124,14 +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;
                                        if (isset($slug) == false) $slug = null;
                                        $date = cx_form_input_sanitized_date_time('post_date');
                                        if (isset($date) == false) $date = null;
-                                       $draft = cx_form_input_sanitized('post_is_draft') == 'draft';
-                                       $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) {
                                        
                                        if (isset($_GET['id']) == false or $_GET['id'] == 0) {
-                                               cx_posts_add_post(1, $title, $slug, $date, $draft, $data);
+                                               cx_posts_add_post(1, $title, $slug, $date, $is_page, $is_draft, $data);
                                        } else {
                                                $id = $_GET['id'];
                                        } else {
                                                $id = $_GET['id'];
-                                               cx_posts_update_post($id, $title, $slug, $date, $draft, $data);
+                                               cx_posts_update_post($id, $title, $slug, $date, $is_page, $is_draft, $data);
                                        }
                                        
                                        cx_http_redirect(cx_url_admin('/'));
                                        }
                                        
                                        cx_http_redirect(cx_url_admin('/'));
@@ -162,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 = '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;
+                       }
+               }
 
 
-               $template = 'post';
-               $template_variables['post_id'] = cx_posts_find_post_id($slug);
+               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);
        if ($template != null) {
                $output = cx_template_render($template_class, $template, $template_variables);
                echo($output);