2003-05-22 12:12:53 +00:00
<? php
2004-10-19 03:03:06 +00:00
require_once ( 'admin.php' );
2004-04-22 23:32:34 +00:00
$title = __ ( 'Categories' );
2004-08-22 23:24:50 +00:00
$parent_file = 'edit.php' ;
2003-05-22 12:12:53 +00:00
2004-10-19 03:03:06 +00:00
$wpvarstoreset = array ( 'action' , 'cat' );
2003-12-18 09:36:13 +00:00
for ( $i = 0 ; $i < count ( $wpvarstoreset ); $i += 1 ) {
2004-01-27 06:35:07 +00:00
$wpvar = $wpvarstoreset [ $i ];
if ( ! isset ( $$wpvar )) {
2004-04-20 22:56:47 +00:00
if ( empty ( $_POST [ " $wpvar " ])) {
if ( empty ( $_GET [ " $wpvar " ])) {
2004-01-27 06:35:07 +00:00
$$wpvar = '' ;
} else {
2004-04-20 22:56:47 +00:00
$$wpvar = $_GET [ " $wpvar " ];
2004-01-27 06:35:07 +00:00
}
} else {
2004-04-20 22:56:47 +00:00
$$wpvar = $_POST [ " $wpvar " ];
2004-01-27 06:35:07 +00:00
}
}
2003-05-22 12:12:53 +00:00
}
switch ( $action ) {
2003-05-23 08:29:51 +00:00
case 'addcat' :
2004-12-09 01:02:25 +00:00
if ( $user_level < 3 )
die ( __ ( 'Cheatin’ uh?' ));
2004-12-12 20:41:19 +00:00
$cat_name = wp_specialchars ( $_POST [ 'cat_name' ]);
2004-12-09 01:02:25 +00:00
$id_result = $wpdb -> get_row ( "SHOW TABLE STATUS LIKE ' $wpdb->categories '" );
$cat_ID = $id_result -> Auto_increment ;
$category_nicename = sanitize_title ( $cat_name , $cat_ID );
$category_description = $_POST [ 'category_description' ];
$cat = intval ( $_POST [ 'cat' ]);
$wpdb -> query ( "INSERT INTO $wpdb->categories (cat_ID, cat_name, category_nicename, category_description, category_parent) VALUES ('0', ' $cat_name ', ' $category_nicename ', ' $category_description ', ' $cat ')" );
header ( 'Location: categories.php?message=1#addcat' );
2003-05-22 12:12:53 +00:00
break ;
2004-12-14 09:22:21 +00:00
case 'delete' :
2003-05-22 12:12:53 +00:00
2004-12-14 09:22:21 +00:00
check_admin_referer ();
2004-05-17 19:44:53 +00:00
2004-12-14 09:22:21 +00:00
$cat_ID = ( int ) $_GET [ 'cat_ID' ];
$cat_name = get_catname ( $cat_ID );
$category = $wpdb -> get_row ( "SELECT * FROM $wpdb->categories WHERE cat_ID = ' $cat_ID '" );
$cat_parent = $category -> category_parent ;
2003-05-22 12:12:53 +00:00
2004-12-14 09:22:21 +00:00
if ( 1 == $cat_ID )
die ( sprintf ( __ ( "Can't delete the <strong>%s</strong> category: this is the default one" ), $cat_name ));
2003-05-22 12:12:53 +00:00
2004-12-14 09:22:21 +00:00
if ( $user_level < 3 )
die ( __ ( 'Cheatin’ uh?' ));
2003-07-30 23:44:08 +00:00
2004-12-14 09:22:21 +00:00
$wpdb -> query ( "DELETE FROM $wpdb->categories WHERE cat_ID = ' $cat_ID '" );
$wpdb -> query ( "UPDATE $wpdb->categories SET category_parent = ' $cat_parent ' WHERE category_parent = ' $cat_ID '" );
// TODO: Only set categories to general if they're not in another category already
$wpdb -> query ( "UPDATE $wpdb->post2cat SET category_id='1' WHERE category_id=' $cat_ID '" );
2003-05-22 12:12:53 +00:00
2004-12-14 09:22:21 +00:00
header ( 'Location: categories.php?message=2' );
2003-05-22 12:12:53 +00:00
break ;
2003-12-07 10:38:25 +00:00
case 'edit' :
2003-05-22 12:12:53 +00:00
2004-01-27 06:35:07 +00:00
require_once ( 'admin-header.php' );
2004-12-12 20:41:19 +00:00
$cat_ID = ( int ) $_GET [ 'cat_ID' ];
2004-05-24 08:22:18 +00:00
$category = $wpdb -> get_row ( "SELECT * FROM $wpdb->categories WHERE cat_ID = ' $cat_ID '" );
2004-07-24 03:55:31 +00:00
$cat_name = $category -> cat_name ;
2004-01-27 06:35:07 +00:00
?>
2004-08-22 23:24:50 +00:00
2003-05-23 08:29:51 +00:00
<div class="wrap">
2004-12-09 01:02:25 +00:00
<h2><?php _e('Edit Category') ?></h2>
<form name="editcat" action="categories.php" method="post">
<table class="editform" width="100%" cellspacing="2" cellpadding="5">
<tr>
<th width="33%" scope="row"><?php _e('Category name:') ?></th>
2004-12-12 20:41:19 +00:00
<td width="67%"><input name="cat_name" type="text" value="<?php echo wp_specialchars($cat_name); ?>" size="40" /> <input type="hidden" name="action" value="editedcat" />
2004-12-09 01:02:25 +00:00
<input type="hidden" name="cat_ID" value="<?php echo $cat_ID ?>" /></td>
</tr>
<tr>
<th scope="row"><?php _e('Category slug:') ?></th>
2004-12-12 20:41:19 +00:00
<td><input name="category_nicename" type="text" value="<?php echo wp_specialchars($category->category_nicename); ?>" size="40" /></td>
2004-12-09 01:02:25 +00:00
</tr>
<tr>
<th scope="row"><?php _e('Category parent:') ?></th>
<td>
<select name='cat'>
<option value='0' <?php if (!$category->category_parent) echo " selected='selected'"; ?>><?php _e('None') ?></option>
<?php wp_dropdown_cats($category->cat_ID, $category->category_parent); ?>
</select></td>
</tr>
<tr>
<th scope="row"><?php _e('Description:') ?></th>
2004-12-12 20:41:19 +00:00
<td><textarea name="category_description" rows="5" cols="50" style="width: 97%;"><?php echo wp_specialchars($category->category_description, 1); ?></textarea></td>
2004-12-09 01:02:25 +00:00
</tr>
</table>
<p class="submit"><input type="submit" name="submit" value="<?php _e('Edit category') ?> »" /></p>
</form>
<p><a href="categories.php"><?php _e('« Return to category list'); ?></a></p>
2003-05-23 08:29:51 +00:00
</div>
2004-01-27 06:35:07 +00:00
<?php
2003-05-22 12:12:53 +00:00
break;
2003-05-23 08:29:51 +00:00
case 'editedcat':
2004-12-09 01:02:25 +00:00
if ($user_level < 3)
die (__('Cheatin’ uh?'));
2004-12-12 20:41:19 +00:00
$cat_name = wp_specialchars($_POST['cat_name']);
2004-12-09 01:02:25 +00:00
$cat_ID = (int) $_POST['cat_ID'];
$category_nicename = sanitize_title($_POST['category_nicename'], $cat_ID);
$category_description = $_POST['category_description'];
$wpdb->query("UPDATE $wpdb->categories SET cat_name = '$cat_name', category_nicename = '$category_nicename', category_description = '$category_description', category_parent = '$cat' WHERE cat_ID = '$cat_ID'");
header('Location: categories.php?message=3');
2003-05-22 12:12:53 +00:00
break;
default:
2004-11-18 19:51:31 +00:00
require_once ('admin-header.php');
2004-04-28 05:48:31 +00:00
$messages[1] = __('Category added.');
$messages[2] = __('Category deleted.');
$messages[3] = __('Category updated.');
?>
2004-08-22 23:24:50 +00:00
2004-05-07 23:56:33 +00:00
<?php if (isset($_GET['message'])) : ?>
2004-04-28 05:48:31 +00:00
<div class="updated"><p><?php echo $messages[$_GET['message']]; ?></p></div>
<?php endif; ?>
2003-12-27 20:55:03 +00:00
2004-01-30 02:26:22 +00:00
<div class="wrap">
2004-11-18 19:51:31 +00:00
<?php if ( $user_level > 3 ) : ?>
<h2><?php printf(__('Categories (<a href="%s">add new</a>)'), '#addcat') ?> </h2>
<?php else : ?>
<h2><?php _e('Categories') ?> </h2>
<?php endif; ?>
2004-01-30 02:26:22 +00:00
<table width="100%" cellpadding="3" cellspacing="3">
<tr>
2004-04-24 19:32:31 +00:00
<th scope="col"><?php _e('ID') ?></th>
2004-04-22 23:32:34 +00:00
<th scope="col"><?php _e('Name') ?></th>
<th scope="col"><?php _e('Description') ?></th>
<th scope="col"><?php _e('# Posts') ?></th>
<th colspan="2"><?php _e('Action') ?></th>
2004-01-30 02:26:22 +00:00
</tr>
<?php
cat_rows();
?>
</table>
</div>
2003-05-22 12:12:53 +00:00
2004-11-18 19:51:31 +00:00
<?php if ( $user_level > 3 ) : ?>
2004-01-27 06:35:07 +00:00
<div class="wrap">
2005-03-15 16:38:59 +00:00
<p><?php printf(__('<strong>Note:</strong><br />Deleting a category does not delete posts from that category, it will just set them back to the default category <strong>%s</strong>.'), get_catname(1)) ?>
2003-05-23 08:29:51 +00:00
</p>
</div>
2003-05-22 12:12:53 +00:00
2004-01-30 06:22:55 +00:00
<div class="wrap">
2004-04-22 23:32:34 +00:00
<h2><?php _e('Add New Category') ?></h2>
2004-01-30 06:22:55 +00:00
<form name="addcat" id="addcat" action="categories.php" method="post">
2004-04-22 23:32:34 +00:00
<p><?php _e('Name:') ?><br />
2004-01-30 06:22:55 +00:00
<input type="text" name="cat_name" value="" /></p>
2004-04-22 23:32:34 +00:00
<p><?php _e('Category parent:') ?><br />
2004-01-30 06:22:55 +00:00
<select name='cat' class='postform'>
2004-04-22 23:32:34 +00:00
<option value='0'><?php _e('None') ?></option>
2004-06-11 18:23:12 +00:00
<?php wp_dropdown_cats(0); ?>
</select></p>
2004-04-22 23:32:34 +00:00
<p><?php _e('Description: (optional)') ?> <br />
2004-01-30 06:22:55 +00:00
<textarea name="category_description" rows="5" cols="50" style="width: 97%;"></textarea></p>
2004-04-28 05:48:31 +00:00
<p class="submit"><input type="hidden" name="action" value="addcat" /><input type="submit" name="submit" value="<?php _e('Add Category »') ?>" /></p>
2004-01-30 06:22:55 +00:00
</form>
</div>
2004-11-18 19:51:31 +00:00
<?php endif; ?>
2004-01-30 06:22:55 +00:00
2004-11-18 19:51:31 +00:00
<?php
2003-05-22 12:12:53 +00:00
break;
}
2003-12-11 00:22:36 +00:00
include('admin-footer.php');
2005-03-15 16:38:59 +00:00
?>