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:

dc98d7eb2bb1
3cf3f8fd35f8
Show More
edit-comic.php
257 lines | 9.5 KiB | text/x-php | PhpLexer
/ edit-comic.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.
$strip = new Strip();
$strip->id = (int)$_REQUEST['strip_id'];
$strip = getstrip($strip->id);
if( $_POST ) {
Switch to mysqli_* in other php files.
r5
Add most necessary files for admin interface.
r1 // Form Elements
$strip->new_id = (int)$_POST['strip_new_id'] ? (int)$_POST['strip_new_id'] : $strip->id;
$strip->published = empty($_POST['strip_date']) ? time() : strtotime( $_POST['strip_date'] );
$strip->type = (int)$_POST['strip_type'];
$strip->title = trim($_POST['strip_title']);
$strip->transcript_posted = $_POST['content'];
$strip->book = trim($_POST['book']);
$strip->page = trim($_POST['page']);
Switch to mysqli_* in other php files.
r5
Add most necessary files for admin interface.
r1 if( '' == $strip->title ) mtdie('Strips must be supplied with titles.');
$YESTERDAY = mktime(0,0,0, date('m'), date('d')-1, date('Y'));
switch($_POST['action']) {
case 'new_comic':
check_nonce('new-strip');
// Ensure that dates are not in the past
if( $strip->published < $YESTERDAY )
mtdie('Strips may not be backdated. Enter a date today or in the future.');
if( !is_valid_upload('comicFile') )
{
adminlog("Image upload failed.", MTS_STRIP, MTA_ADD, E_WARNING);
mtdie('If you want to upload a new comic, you must provide said comic.','Strip upload failed.');
}
Switch to mysqli_* in other php files.
r5
Add most necessary files for admin interface.
r1 // get image type and target extension
$imagedata = getimagesize($_FILES['comicFile']['tmp_name']);
$strip->media = $imagedata[2];
$fileext = $mtdb->getOne( 'SELECT extension FROM media_t WHERE id = ' . (int)$strip->media );
Switch to mysqli_* in other php files.
r5
Add most necessary files for admin interface.
r1 if(strlen($fileext) < 3)
{
//bad image upload type
adminlog("Bad image type upload on new strip. Invalid media type.", MTS_STRIP, MTA_ADD, E_ERROR);
mtdie('Bad image type upload on new strip. Invalid media type.');
}
Switch to mysqli_* in other php files.
r5
Add most necessary files for admin interface.
r1 // Insert new strip into the database, get a real $strip->id
if(!insertstrip( $strip ))
{
Switch to mysqli_* in other php files.
r5 adminlog("Error on insertion of new strip: ".mysqli_error(), MTS_STRIP, MTA_ADD, E_ERROR);
mtdie('Error on insertion of new strip: '.mysqli_error(), 'SQL Error');
Add most necessary files for admin interface.
r1 }
Switch to mysqli_* in other php files.
r5
Add most necessary files for admin interface.
r1 // Store the uploaded file to xxxx-0.ext
$basefile = $strip->published <= time() ?
sprintf(SITE_PATH_ABS.'/'.SITE_STRIP.'/'.'%04d.%s', $strip->id, $fileext) :
sprintf(SITE_PATH_ABS.'/'.SITE_STRIP.'/restricted/'.'%04d.%s', $strip->id, $fileext);
if(!move_uploaded_file($_FILES['comicFile']['tmp_name'], $basefile))
{
adminlog("Filesystem error in storing image.", MTS_STRIP, MTA_ADD, E_ERROR);
mtdie('There was a problem storing the uploaded strip image. Please <s>harass</s> contact support.','Filesystem Error');
}
// Alert Twitter if the strip is for immediate publication
if( $strip->published <= time() )
twitterpost("Comic ".$strip->id." posted: ".SITE_HOST.SITE_PATH."/strip/".$strip->id);
$info.="<p>Comic posted!</p>";
break;
Switch to mysqli_* in other php files.
r5
Add most necessary files for admin interface.
r1 case 'edit_comic':
if( 0 >= $strip->new_id ) mtdie('Strip numbers must be numeric, greater than 0.');
if( 0 >= $strip->id ) mtdie('Existing strip number, in the form, was zero. This should never happen.');
Switch to mysqli_* in other php files.
r5
Add most necessary files for admin interface.
r1 // When updating, $strip->id is the old strip number. Update in place first. Possibly adjust strip number later.
check_nonce('save-strip-'.$strip->id);
// If uploading, get filetype. If not uploading, filetype got loaded from database earlier.
if( is_valid_upload('comicFile') ) {
$imagedata = getimagesize($_FILES['comicFile']['tmp_name']);
$strip->media = $imagedata[2];
}
$fileext = $mtdb->getOne( 'SELECT extension FROM media_t WHERE id=' . (int)$strip->media );
Switch to mysqli_* in other php files.
r5
Add most necessary files for admin interface.
r1 if(strlen($fileext) < 3)
{
//bad image upload type
adminlog("Bad image type upload on strip ".$strip->id.". Invalid media type.", MTS_STRIP, MTA_UPDATE, E_ERROR);
mtdie('Bad image type upload on strip '.$strip->id.'. Invalid media type.');
}
Switch to mysqli_* in other php files.
r5
Add most necessary files for admin interface.
r1 // Update existing strip
if(!updatestrip( $strip ) )
{
adminlog("Failed to update strip ".$strip->id.".", MTS_STRIP, MTA_UPDATE);
Switch to mysqli_* in other php files.
r5 mtdie('Error updating strip: ' . mysqli_error(), 'SQL Error');
Add most necessary files for admin interface.
r1 }
Switch to mysqli_* in other php files.
r5
Add most necessary files for admin interface.
r1 if( is_valid_upload('comicFile') ) { // If uploading, store the uploaded file to xxxx-n.ext
$basefile = $strip->published <= time() ?
sprintf(SITE_PATH_ABS.'/'.SITE_STRIP.'/'.'%04d.%s', $strip->id, $fileext) :
sprintf(SITE_PATH_ABS.'/'.SITE_STRIP.'/restricted/'.'%04d.%s', $strip->id, $fileext);
Switch to mysqli_* in other php files.
r5
Add most necessary files for admin interface.
r1 if(!move_uploaded_file($_FILES['comicFile']['tmp_name'], $basefile))
{
adminlog("Filesystem error in saving image.", MTS_STRIP, MTA_UPDATE, E_ERROR);
mtdie("There was a problem storing the uploaded strip image. Please <s>harass</s> contact support.", 'Filesystem Error');
}
adminlog("Image replaced for comic ".$strip->id.".", MTS_STRIP, MTA_UPDATE);
}
// No new file uploaded. Do nuffink.
// Conditionally broadcast success
if( $_POST['broadcast'] ) {
#Limit broadcast message to 60 characters. Compose it now.
$b_msg = 'Comic ' . $strip->id . ' updated: ' . substr(trim($_REQUEST['broadcast_message']), 0, 60) . ', ' . SITE_HOST . SITE_PATH . "/strip/" . $strip->id;
Switch to mysqli_* in other php files.
r5
Add most necessary files for admin interface.
r1 rsspost($b_msg, SITE_HOST.SITE_PATH.'/strip/'.$strip->id);
twitterpost($b_msg);
$info.="<p>Update broadcasted with message '$b_msg'.</p>";
}
$info.="<p>Changes saved. <a href=\"".SITE_HOST.SITE_PATH."/index.php?strip_id=".$strip->id."\">View on site</a>.";
break;
Switch to mysqli_* in other php files.
r5
Add most necessary files for admin interface.
r1 default:
adminlog("User did something strange.", MTS_STRIP, MTA_MODIFY);
mtdie('You know, it would be <em>really</em> nice if you avoided nonsensical actions.');
}
Switch to mysqli_* in other php files.
r5
Add most necessary files for admin interface.
r1 $info = savetranscript($strip) . $info;
# If the strip number changed, swap strips sequentially to shuffle it into place
if( $strip->id != $strip->new_id ) {
$f = fopen(SITE_PATH_ABS.'/'.SITE_STRIP.'/'.SITE_STRIP_LOCK, 'w');
flock($f, LOCK_EX);
Switch to mysqli_* in other php files.
r5
Add most necessary files for admin interface.
r1 while( $strip->new_id < $strip->id ) { // Move this strip backward
swap_strips( $strip->id - 1, $strip->id );
$strip->id--;
}
while( $strip->id < $strip->new_id ) { // Move this strip forward
swap_strips( $strip->id + 1, $strip->id );
$strip->id++;
}
$strip->id = $strip->new_id;
close($f);
}
}
////////////////////// Display Edit Form ////////////////////////
$strip = getstrip($strip->id);
gettranscript($strip);
adminhead('Edit Comic');
adminmenu('manage-comics.php');
?>
<h2>Edit Comic</h2>
<form action="edit-comic.php" method="post" enctype="multipart/form-data" name="post" id="post">
<?php nonce_field('save-strip-'.$strip->id); ?>
<input type="hidden" name="action" value="edit_comic" />
<input type="hidden" name="strip_id" size="40" tabindex="1" value="<?php echo $strip->id; ?>" />
<div id="poststuff">
<div id="moremeta">
<div id="grabit" class="dbx-group">
<fieldset id="slugdiv" class="dbx-box">
<h3 class="dbx-handle">Comic Type</h3>
<div class="dbx-content"><select name="strip_type">
<?php
$types = $mtdb->getAll( 'SELECT id, description FROM strip_t ORDER BY id' );
foreach( $types as $k=>$v )
printf('<option value="%s" %s>%s</option>', htmlentities($v->id), ($strip->type == $v->id ? 'selected="selected"' : '' ), htmlentities($v->description));
?>
</select></div>
</fieldset>
<fieldset id="pubdatediv" class="dbx-box">
<h3 class="dbx-handle">Post Date</h3>
<div class="dbx-content"> <input type="text" name="strip_date" value="<?php echo htmlentities( date( 'Y-m-d H:i:s', $strip->published )); ?>" /> </div>
</fieldset>
<fieldset id="pubdatediv" class="dbx-box">
<h3 class="dbx-handle">Strip Number</h3>
<div class="dbx-content"> <input type="text" name="strip_new_id" size="6" value="<?php echo $strip->id; ?>" id="strip_id" /> </div>
</fieldset>
<fieldset id="stripdiv" class="dbx-box">
<h3 class="dbx-handle">Replace Comic</h3>
<div class="dbx-content"> <input type="hidden" name="MAX_FILE_SIZE" value="10000000" /><input name="comicFile" type="file" tabindex="2" size="12"/> </div>
</fieldset>
<fieldset id="broadcastdiv" class="dbx-box">
<h3 class="dbx-handle">Broadcast Update</h3>
<div class="dbx-content">
<label><input type="radio" name="broadcast" value="0" checked="checked" />No</label>
<label><input type="radio" name="broadcast" value="1" />Yes</label>
<input type="text" name="broadcast_message" maxlength="60" size="15" />
</div>
</fieldset>
<?php
$file = get_stripimage_filename( $strip );
if( file_exists( SITE_PATH_ABS.'/'.$file ) ){
?>
<fieldset id="pubdatediv" class="dbx-box">
<h3 class="dbx-handle">Strip</h3>
<div class="dbx-content"> <a target="_new" href="<?php echo SITE_HOST.SITE_PATH; ?>/index.php?strip_id=<?php echo $strip->id;
?>"><img src="<?php echo SITE_HOST.SITE_PATH.'/'.$file; ?>" width="170" /></a> </div>
</fieldset>
<?php
}
?>
<fieldset id="bookpagenumberdiv" class="dbx-box">
<h3 class="dbx-handle">Book Page Number</h3>
<div class="dbx-content"> <input type="text" name="book" size="3" value="<?php echo $strip->book; ?>" />-<input type="text" name="page" size="4" value="<?php echo $strip->page; ?>" /></div>
</fieldset>
</div>
</div>
<fieldset id="titlediv">
<legend>Title</legend>
<div><input type="text" name="strip_title" size="40" tabindex="1" value="<?php echo numeric_entities(utfentities($strip->title)) ?>" id="title" /></div>
</fieldset>
<fieldset id="postdivrich">
<legend>Transcript</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="27" cols="40" name="content" tabindex="3" id="content"><?php echo htmlentities($strip->transcript, ENT_COMPAT, 'UTF-8'); ?></textarea></div>
</fieldset>
<p class="submit">
<input name="edit_comic" type="submit" id="edit_comic" tabindex="4" accesskey="s" value="Save Changes" />
</p>
</div>
</form>
<?php
adminfooter();
?>