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
manage-types.php
179 lines | 5.9 KiB | text/x-php | PhpLexer
/ manage-types.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.
if( isset($_GET['delete']) && (int)$_GET['delete'] ) {
check_nonce('delete-type-' . (int)$_GET['delete']);
if(! $mtdb->query( 'DELETE FROM strip_t WHERE id=' . (int)$_GET['delete'] ) )
{
adminlog("Error deleting type ".(int)$_GET['delete'], MTS_TYPE, MTA_DELETE, E_WARNING);
Switch to mysqli_* in other php files.
r5 mtdie("Error on deletion of existing type: " . htmlentities(mysqli_error()), 'SQL Error');
Add most necessary files for admin interface.
r1 }
if(! $mtdb->query( 'DELETE FROM meta WHERE type=' . (int)$_GET['delete'] ) )
{
adminlog("Error on deletion of type ".(int)$_GET['delete']."'s metadata.", MTS_TYPE, MTA_DELETE, E_WARNING);
Switch to mysqli_* in other php files.
r5 mtdie("Error on deletion of existing type's metadata: " . htmlentities(mysqli_error()), 'SQL Error');
Add most necessary files for admin interface.
r1 }
$info.='<p>Deleted type successfully.<p>';
adminlog("Deleted type ".(int)$_GET['delete'], MTS_TYPE, MTA_DELETE);
}
if( isset($_POST['action']) && $_POST['action'] == 'new_type' ) {
check_nonce('new-type');
Switch to mysqli_* in other php files.
r5
Add most necessary files for admin interface.
r1 $name = trim($_POST['name']);
$desc = trim($_POST['description']);
Switch to mysqli_* in other php files.
r5
Add most necessary files for admin interface.
r1 if( check_type_name($name) ) {
Switch to mysqli_* in other php files.
r5 if(! $mtdb->query( sprintf( 'INSERT INTO strip_t(name, description) VALUES("%s", "%s")', mysqli_real_escape_string($mtdb->link, $name), mysqli_real_escape_string($mtdb->link, $desc)) ) )
Add most necessary files for admin interface.
r1 {
adminlog("Error on insertion of new type.", MTS_TYPE, MTA_INSERT, E_WARNING);
Switch to mysqli_* in other php files.
r5 mtdie("Error on insertion of new type: ". htmlentities(mysqli_error()), 'SQL Error');
Add most necessary files for admin interface.
r1 }
}
$info.='<p>New type created successfully.<p>';
adminlog("Type '".$name."' created successfully.", MTS_TYPE, MTA_ADD);
}
if( isset($_POST['action']) && $_POST['action'] == 'edit_type' ) {
Switch to mysqli_* in other php files.
r5
Add most necessary files for admin interface.
r1 $id = (int)$_POST['type_id'];
check_nonce("save-type-$id");
$name = trim($_POST['name']);
$desc = trim($_POST['description']);
Switch to mysqli_* in other php files.
r5
Add most necessary files for admin interface.
r1 $meta = $_POST['meta'];
$m_delete = $mtdb->getAll("SELECT meta FROM meta WHERE type = $id");
Switch to mysqli_* in other php files.
r5
Add most necessary files for admin interface.
r1 $m_insert = array();
Switch to mysqli_* in other php files.
r5
// Key listed in both Insert and Delete lists, so remove from both == Do Nothing
foreach( $m_delete as $k=>$v ) {
Add most necessary files for admin interface.
r1 if( array_key_exists( $v->meta, $meta ) ) {
unset($m_delete[$k]);
unset($meta[$v->meta]);
} else {
$m_delete[$k] = 'meta=' . (int)$v->meta;
Switch to mysqli_* in other php files.
r5 }
Add most necessary files for admin interface.
r1 }
// Key listed only in Insert list, make proper format
foreach( $meta as $k=>$v ) {
$m_insert[] = "($id," . (int)$k . ')';
}
if( check_type_name( $name ) ) {
Switch to mysqli_* in other php files.
r5 if( !$mtdb->query( sprintf( 'UPDATE strip_t SET name = "%s", description = "%s" WHERE id = %s', mysqli_real_escape_string($mtdb->link, $name), mysqli_real_escape_string($mtdb->link, $desc), $id)) )
Add most necessary files for admin interface.
r1 {
adminlog("Error on updating type ".$id, MTS_TYPE, MTA_UPDATE, E_WARNING);
Switch to mysqli_* in other php files.
r5 mtdie("Error on update of existing type: ". htmlentities(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 $sql_insert = "INSERT INTO meta (type,meta) VALUES " . implode(',',$m_insert);
$sql_delete = "DELETE FROM meta WHERE type=$id AND ( " . implode(' OR ',$m_delete) . ' )';
$mtdb->query('START TRANSACTION');
Switch to mysqli_* in other php files.
r5
Add most necessary files for admin interface.
r1 if( count($m_insert) )
if(! $mtdb->query( $sql_insert ) )
{
adminlog("Error inserting new metatype association data for type ".$id, MTS_TYPE, MTA_INSERT, E_WARNING);
mtdie("There was an error inserting new metatype association data. Transaction aborted. $sql_insert");
}
if( count($m_delete) )
if(! $mtdb->query( $sql_delete ) )
{
adminlog("Error deleting old metatype association data for type ".$id, MTS_TYPE, MTA_REMOVE, E_WARNING);
mtdie("There was an error deleting old metatype data. Transaction aborted. $sql_delete");
}
Switch to mysqli_* in other php files.
r5
Add most necessary files for admin interface.
r1 $mtdb->query('COMMIT');
Switch to mysqli_* in other php files.
r5
Add most necessary files for admin interface.
r1 } else {
$error.='<p>Invalid type name!</p>';
}
$info.='<p>Changes to type saved successfully.<p>';
adminlog("Type ".$id." updated.", MTS_TYPE, MTA_UPDATE);
}
//display all types
$types = $mtdb->getAll("SELECT strip_t.id AS id, strip_t.name AS name, strip_t.description AS description, COUNT(strip.id) AS strips FROM strip_t LEFT JOIN strip ON strip.type = strip_t.id GROUP BY strip_t.id");
adminhead('Types');
adminmenu();
?>
<h2>Type Management</h2>
<p>Make changes to the types which categorize the comics.</p>
<table class="widefat">
<thead>
<tr>
<th scope="col" style="text-align: center;">Type #</th>
<th scope="col">Name</th>
<th scope="col">Description</th>
<th scope="col">Strips</th>
<th scope="col">Metatypes</th>
<th scope="col"></th>
<th scope="col"></th>
</tr>
</thead>
<tbody id="the-list">
<?php
$alternate=false;
foreach( $types as $s ) {
$alternate=!$alternate;
Switch to mysqli_* in other php files.
r5
Add most necessary files for admin interface.
r1 $metas = $mtdb->getAll("SELECT meta_t.name AS name FROM strip_t
JOIN meta ON meta.type = strip_t.id JOIN meta_t ON meta.meta = meta_t.id
WHERE strip_t.id = $s->id");
Switch to mysqli_* in other php files.
r5
Add most necessary files for admin interface.
r1 $meta = implode(', ', array_map('_getMetaNameFromObject', $metas) );
Switch to mysqli_* in other php files.
r5
Add most necessary files for admin interface.
r1 ?>
<tr id="comic-<?php echo $s->id; ?>" <?php if($alternate) echo 'class="alternate"'; ?>>
<th scope="row" style="text-align: center;"><?php echo $s->id; ?></th>
<td><?php echo htmlentities($s->name); ?></td>
<td><?php echo htmlentities($s->description); ?></td>
<td><?php echo $s->strips ?></td>
<td><?php echo htmlentities($meta); ?> </td>
<td style="text-align: center;"><a href="edit-type.php?edit=<?php echo (int)$s->id; ?>">Edit</a></td>
<td style="text-align: center;"><a class="delete" href="?delete=<?php echo (int)$s->id; ?>">Delete</a></td>
</tr>
<?php
}
?>
</tbody>
</table>
<form enctype="multipart/form-data" name="create-user" id="create-user" action="manage-types.php" method="post">
<?php nonce_field('new-type'); ?>
<input type="hidden" name="action" value="new_type" />
<h2>Create New Type</h2>
<div class="narrow">
<table class="editform" width="100%" cellspacing="2" cellpadding="5">
<tr>
<th scope="row" width="33%">Name</th>
<td width="66%"><input name="name" type="text" id="name" value="" /></td>
</tr>
<tr>
<th scope="row" width="33%">Description</th>
<td width="66%"><input name="description" type="text" id="description" value="" /></td>
</tr>
</table>
Switch to mysqli_* in other php files.
r5
Add most necessary files for admin interface.
r1 <p class="submit"><input type="submit" value="Create &raquo;" name="submit" /></p>
</div>
</form>
<?php
adminfooter();
?>