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';
$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_nav_index'] = '';
$template_class = 'admin';
$template = 'post';
$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_variables['post_nav_index'] = $post->nav_index;
$template_class = 'admin';
$template = 'post';
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';
+ $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, $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, $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']);
}
}
}
- } 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, include_drafts: cx_admin_logged_in());
+ 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, include_drafts: cx_admin_logged_in());
+ 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);