<?php
require_once('include/admin.inc.php');

auth_redirect(); // Require logged in user to access this page.

$page = new Page();
$page->url_name = $_REQUEST['page_name'];
$page = getpage($page->url_name);

if( $_POST ) {
	$page->url_name = $_POST['page_name'] ? $_POST['page_name'] : preg_replace('/\s+/', '_', strtolower(trim($_POST['title'])));
	$page->status = $_POST['page_status'] == 'published' ? 'published' : 'draft';
	$page->title = $_POST['title'];
	$page->body = $_POST['content'];
	$page->style = $_POST['style'];

	if( USING_TIDY ) {
		$tidy = new tidy;
		$config = $tidy->getConfig();
		$tidy->parseString( $page->body, $config, 'UTF8' );
		$tidy->cleanRepair();
		$page->body = tidy_get_output($tidy);
	}

	$action = isset($_POST['publish']) ? 'post' : 'edit';
	
	if( isset( $_POST['publish'] ) ) $page->status = 'published';	// If [publish] button is used, ignore radio button

	
	switch( $_POST['action'] ) {
		case 'new_page':
			check_nonce('new-page');
			if( !insertpage($page) )
			{
				adminlog("Error inserting page.", MTS_PAGE, MTA_INSERT, E_ERROR);
				mtdie('There was an error inserting the page into the database.', 'SQL Error');
			}
			break;
			
		case 'savepage':
			check_nonce('save-page-' . $page->url_name);
			updatepage($page);
			break;
	}
	if( $upload_info ) $info.=$upload_info;
	if( $upload_error ) $error.=$upload_error;	
	if( $error ) $action='edit';

	if( 'post' == $action ) _redirect( ADMIN_PATH . '/manage-pages.php?saved=success' );

	$info.= '<p>' . ( $page->status === 'draft' ? 'Page draft saved.' : sprintf('Page published. <a href="%s%s/static.php?name=%s">View on site</a>.', SITE_HOST, SITE_PATH, $page->url_name) ) . '</p>';

} elseif( !$page->url_name ) {
	mtdie('Attempted to edit page with no name supplied.', 'Bad Request');
}

/////////////////////// Display Edit Form ///////////////////////


adminhead('Edit Page');
adminmenu('manage-pages.php');


?>

<script language="javascript" type="text/javascript" src="include/tiny_mce/tiny_mce.js"></script>
<script language="javascript" type="text/javascript">
tinyMCE.init({
	mode : "exact",
	elements: "content",
	theme : "advanced",
	theme_advanced_buttons1 : "bold,italic,underline,separator,strikethrough,justifyleft,justifycenter,justifyright,justifyfull,bullist,numlist,undo,redo,link,unlink,code,formatselect,styleselect",
	theme_advanced_buttons2 : "",
	theme_advanced_buttons3 : "",
	theme_advanced_toolbar_location : "top",
	theme_advanced_toolbar_align : "left",
	theme_advanced_path_location : "bottom",
	extended_valid_elements : "a[name|href|target|title|onclick],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],"
	                          + "hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style],iframe[frameborder|height|src|width|scrolling|allowfullscreen]",
	theme_advanced_blockformats : "p,h3,h4,h5,h6",
	theme_advanced_resizing : true,
	theme_advanced_styles : "Spoiler=spoiler"
	
});
</script>


<h2>Editing Page "<?php echo htmlentities($page->title, ENT_COMPAT, 'UTF-8') ; ?>"</h2>

<form enctype="multipart/form-data" action="edit-page.php" method="post" name="post" id="post">
<?php nonce_field('save-page-'.$page->url_name); ?>
<input type="hidden" name="action" value="savepage" />

<div id="poststuff">

<div id="moremeta">
<div id="grabit" class="dbx-group">

<fieldset id="pagenamediv" class="dbx-box">
<h3 class="dbx-handle">Page URL Name</h3>
<div class="dbx_content">
	<input type="text" name="page_name" value="<?php echo $page->url_name ?>" />
</div>
</fieldset>

<fieldset id="statusdiv" class="dbx-box">
<h3 class="dbx-handle">Published Status</h3>
<div class="dbx-content">
	<label><input type="radio" name="page_status" value="draft" <?php echo $page->status == 'draft' ? 'checked="checked"' : ''; ?>/>Draft</label>
	<label><input type="radio" name="page_status" value="published" <?php echo $page->status == 'published' ? 'checked="checked"' : ''; ?>/>Published</label>
</div>
</fieldset>


</div>
</div>

<fieldset id="titlediv">
	<legend>Title</legend>
	<div><input type="text" name="title" size="40" tabindex="1" value="<?php echo htmlentities($page->title, ENT_COMPAT, 'UTF-8'); ?>" id="title" /></div>
</fieldset>

<fieldset id="postdivrich">
	<legend>Page</legend>
	<style type="text/css">
		#postdivrich table, #postdivrich #quicktags {border-top: none;}
		#quicktags {border-bottom: none; padding-bottom: 2px; margin-bottom: -1px;}
		#edButtons {border-bottom: 1px solid #ccc;}
	</style>
	<div><textarea class="mceEditor" rows="13" cols="40" name="content" tabindex="3" id="content"><?php echo htmlentities($page->body, ENT_COMPAT, 'UTF-8'); ?></textarea></div>
</fieldset>



<p class="submit">
 <input name="save" type="submit" id="save" tabindex="3" value="Save and Continue Editing" style="font-weight: bold;" />
 <input name="publish" type="submit" id="publish" tabindex="5" accesskey="p" value="Publish" />
</p>



<div class="dbx-b-ox-wrapper">

<fieldset id="cssdivrich">
	<legend>Optional CSS</legend>

	<style type="text/css">
		#postdivrich table, #postdivrich #quicktags {border-top: none;}
		#quicktags {border-bottom: none; padding-bottom: 2px; margin-bottom: -1px;}
		#edButtons {border-bottom: 1px solid #ccc;}
	</style>
	<div><textarea rows="13" cols="40" name="style" tabindex="6" id="style"><?php echo htmlentities($page->style, ENT_COMPAT, 'UTF-8'); ?></textarea></div>

</fieldset>

</div>


</div>
</form>

<?php adminfooter() ?>
