Configure the new TinyMCE to have almost the same buttons as the old one.
Configure the new TinyMCE to have almost the same buttons as the old one.

File last commit:

3cf3f8fd35f8
3cf3f8fd35f8
Show More
edit-page.php
173 lines | 5.6 KiB | text/x-php | PhpLexer
/ edit-page.php
Add most necessary files for admin interface.
r1 <?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';
Clean up extraneous spaces at the ends of lines.
r8
Add most necessary files for admin interface.
r1 if( isset( $_POST['publish'] ) ) $page->status = 'published'; // If [publish] button is used, ignore radio button
Clean up extraneous spaces at the ends of lines.
r8
Add most necessary files for admin interface.
r1 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;
Clean up extraneous spaces at the ends of lines.
r8
Add most necessary files for admin interface.
r1 case 'savepage':
check_nonce('save-page-' . $page->url_name);
updatepage($page);
break;
}
if( $upload_info ) $info.=$upload_info;
Clean up extraneous spaces at the ends of lines.
r8 if( $upload_error ) $error.=$upload_error;
Add most necessary files for admin interface.
r1 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 ///////////////////////
Start setting up the new editor in relevant pages.
r38 adminhead('Edit Static Page');
Add most necessary files for admin interface.
r1 adminmenu('manage-pages.php');
?>
Convert the page editor to the new TinyMCE.
r16 <!--
Add most necessary files for admin interface.
r1 <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",
Allow selecting the "spoiler" style when editing pages.
r12 theme_advanced_buttons1 : "bold,italic,underline,separator,strikethrough,justifyleft,justifycenter,justifyright,justifyfull,bullist,numlist,undo,redo,link,unlink,code,formatselect,styleselect",
Add most necessary files for admin interface.
r1 theme_advanced_buttons2 : "",
theme_advanced_buttons3 : "",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_path_location : "bottom",
Allow static pages to contain iframe elements. This is necessary for twitch embedding.
r9 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]",
Allow selecting the "spoiler" style when editing pages.
r12 theme_advanced_blockformats : "p,h3,h4,h5,h6",
theme_advanced_resizing : true,
theme_advanced_styles : "Spoiler=spoiler"
Start setting up the new editor in relevant pages.
r38
Add most necessary files for admin interface.
r1 });
</script>
Convert the page editor to the new TinyMCE.
r16 -->
Add most necessary files for admin interface.
r1
<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>
Convert the page editor to the new TinyMCE.
r16 <script src="include/tinymce/tinymce.min.js"></script>
Start setting up the new editor in relevant pages.
r38 <script src="include/mce_config.js"></script>
Convert the page editor to the new TinyMCE.
r16 <script type="text/javascript">
Start setting up the new editor in relevant pages.
r38 mce_config.selector = '#content';
mce_config.content_css = 'styles/megatokyo.css';
tinymce.init(mce_config);
Convert the page editor to the new TinyMCE.
r16 </script>
Add most necessary files for admin interface.
r1 <?php adminfooter() ?>