2015-05-05 03:00:01 +02:00
|
|
|
<?php defined('BLUDIT') or die('Bludit CMS.');
|
|
|
|
|
|
|
|
// ============================================================================
|
|
|
|
// Functions
|
|
|
|
// ============================================================================
|
|
|
|
|
|
|
|
function editPost($args)
|
|
|
|
{
|
|
|
|
global $dbPosts;
|
2015-08-29 07:02:09 +02:00
|
|
|
global $dbTags;
|
2015-07-20 05:14:12 +02:00
|
|
|
global $Language;
|
2015-08-03 02:49:12 +02:00
|
|
|
|
2015-05-05 03:00:01 +02:00
|
|
|
// Post status, published or draft.
|
|
|
|
if( isset($args['publish']) ) {
|
|
|
|
$args['status'] = "published";
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
$args['status'] = "draft";
|
|
|
|
}
|
|
|
|
|
|
|
|
// Edit the post.
|
|
|
|
if( $dbPosts->edit($args) )
|
|
|
|
{
|
2015-08-29 07:02:09 +02:00
|
|
|
// Regenerate the database tags
|
2015-08-30 01:26:46 +02:00
|
|
|
$dbPosts->removeUnpublished();
|
|
|
|
$dbPosts->sortByDate();
|
2015-08-29 07:02:09 +02:00
|
|
|
$dbTags->reindexPosts( $dbPosts->db );
|
|
|
|
|
2015-07-22 05:15:02 +02:00
|
|
|
Alert::set($Language->g('The changes have been saved'));
|
2015-07-04 02:14:58 +02:00
|
|
|
Redirect::page('admin', 'edit-post/'.$args['key']);
|
2015-05-05 03:00:01 +02:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2015-07-22 05:15:02 +02:00
|
|
|
Log::set(__METHOD__.LOG_SEP.'Error occurred when trying to edit the post.');
|
2015-05-05 03:00:01 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
function deletePost($key)
|
|
|
|
{
|
|
|
|
global $dbPosts;
|
2015-08-29 07:02:09 +02:00
|
|
|
global $dbTags;
|
2015-07-22 05:15:02 +02:00
|
|
|
global $Language;
|
2015-05-05 03:00:01 +02:00
|
|
|
|
|
|
|
if( $dbPosts->delete($key) )
|
|
|
|
{
|
2015-08-29 07:02:09 +02:00
|
|
|
// Regenerate the database tags
|
|
|
|
$dbTags->reindexPosts( $dbPosts->db );
|
|
|
|
|
2015-07-22 05:15:02 +02:00
|
|
|
Alert::set($Language->g('The post has been deleted successfully'));
|
2015-05-05 03:00:01 +02:00
|
|
|
Redirect::page('admin', 'manage-posts');
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2015-07-22 05:15:02 +02:00
|
|
|
Log::set(__METHOD__.LOG_SEP.'Error occurred when trying to delete the post.');
|
2015-05-05 03:00:01 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2015-08-03 02:49:12 +02:00
|
|
|
// ============================================================================
|
|
|
|
// Main before POST
|
|
|
|
// ============================================================================
|
|
|
|
|
2015-05-05 03:00:01 +02:00
|
|
|
// ============================================================================
|
|
|
|
// POST Method
|
|
|
|
// ============================================================================
|
|
|
|
|
|
|
|
if( $_SERVER['REQUEST_METHOD'] == 'POST' )
|
|
|
|
{
|
|
|
|
if( isset($_POST['delete']) ) {
|
|
|
|
deletePost($_POST['key']);
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
editPost($_POST);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// ============================================================================
|
2015-08-03 02:49:12 +02:00
|
|
|
// Main after POST
|
2015-05-05 03:00:01 +02:00
|
|
|
// ============================================================================
|
|
|
|
|
2015-07-26 02:25:13 +02:00
|
|
|
if(!$dbPosts->postExists($layout['parameters']))
|
|
|
|
{
|
|
|
|
Log::set(__METHOD__.LOG_SEP.'Error occurred when trying to get the post: '.$layout['parameters']);
|
2015-05-05 03:00:01 +02:00
|
|
|
Redirect::page('admin', 'manage-posts');
|
|
|
|
}
|
|
|
|
|
|
|
|
$_Post = buildPost($layout['parameters']);
|
2015-07-07 00:22:03 +02:00
|
|
|
|
|
|
|
$layout['title'] .= ' - '.$Language->g('Edit post').' - '.$_Post->title();
|