$template_variables['post_slug'] = '';
$template_variables['post_date'] = '';
$template_variables['post_data'] = '';
+ $template_variables['post_is_draft'] = true;
+
$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_draft'] = $post->is_draft;
$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;
+ $draft = cx_form_input_sanitized('post_is_draft') == 'draft';
$data = cx_form_input_sanitized('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, $draft, $data);
} else {
$id = $_GET['id'];
- cx_posts_update_post($id, $title, $slug, $date, $data);
+ cx_posts_update_post($id, $title, $slug, $date, $draft, $data);
}
cx_http_redirect(cx_url_admin('/'));
public $title;
public $slug;
public $date;
+ public $is_draft;
public $data;
public $html_content;
public $html_excerpt;
$this->title = $dict['post_title'];
$this->slug = $dict['post_slug'];
$this->date = $dict['post_date'];
+ $this->is_draft = $dict['post_is_draft'];
$this->data = $dict['post_data'];
$this->html_content = mk_markdown($this->data);
$this->html_excerpt = null;
return $slug;
}
-function cx_posts_add_post($site_id, $title, $slug, $date, $data) {
+function cx_posts_add_post($site_id, $title, $slug, $date, $draft, $data) {
$creation_time = $update_time = time();
if ($slug == null) {
post_slug,
post_date,
post_is_page,
+ post_is_draft,
post_title,
post_data,
post_data_version)
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?);';
- cx_db_exec($sql, $site_id, $creation_time, $update_time, $slug, $date, false, $title, $data, 1);
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?);';
+ cx_db_exec($sql, $site_id, $creation_time, $update_time, $slug, $date, false, $draft, $title, $data, 1);
}
-function cx_posts_update_post($post_id, $title, $slug, $date, $data) {
+function cx_posts_update_post($post_id, $title, $slug, $date, $draft, $data) {
$update_time = time();
if ($slug == null) {
SET post_update_time = ?,
post_slug = ?,
post_date = ?,
+ post_is_draft = ?,
post_title = ?,
post_data = ?
WHERE post_id == ?;';
//LIMIT 1;';
- cx_db_exec($sql, $update_time, $slug, $date , $title, $data, $post_id);
+ cx_db_exec($sql, $update_time, $slug, $date, $draft, $title, $data, $post_id);
}
function cx_posts_delete_post($post_id) {
cx_db_exec($sql, $post_id);
}
-function cx_posts_get(int $limit = 0) {
+function cx_posts_get(int $limit = 0, bool $include_drafts = false) {
$sql = 'SELECT
post_id,
post_slug,
post_date,
+ post_is_draft,
post_title,
post_data
FROM posts
- WHERE post_is_page==FALSE
- ORDER BY post_date DESC';
+ WHERE post_is_page == FALSE';
+
+ if ($include_drafts == false) {
+ $sql .= ' AND post_is_draft == FALSE';
+ }
+
+ $sql .= ' ORDER BY post_date DESC';
if ($limit > 0) {
$sql .= ' LIMIT ' . $limit;
post_id,
post_slug,
post_date,
+ post_is_draft,
post_title,
post_data
FROM posts
post_id,
post_slug,
post_date,
+ post_is_draft,
post_title,
post_data
FROM posts
WHERE post_is_page == TRUE
+ AND post_is_draft == FALSE
ORDER BY post_creation_time DESC;';
foreach (cx_db_query($sql) as $post) {
post_slug STRING,
post_date INTEGER,
post_is_page BOOLEAN,
+ post_is_draft BOOLEAN,
post_title STRING,
post_data BLOB,
post_data_version INTEGER,