2006-10-25 22:55:05 +00:00
<? php
2008-08-11 20:26:31 +00:00
/**
* WordPress Export Administration Panel
*
* @package WordPress
* @subpackage Administration
*/
/** Load WordPress Bootstrap */
2006-10-25 22:55:05 +00:00
require_once ( 'admin.php' );
2008-08-11 20:26:31 +00:00
2009-08-02 02:23:54 +00:00
if ( ! current_user_can ( 'edit_files' ) )
2010-04-30 01:54:32 +00:00
wp_die ( __ ( 'You do not have sufficient permissions to export the content of this site.' ));
2009-08-02 02:23:54 +00:00
2008-08-11 20:26:31 +00:00
/** Load WordPress export API */
2010-04-18 06:14:45 +00:00
require_once ( './includes/export.php' );
2006-11-18 07:31:29 +00:00
$title = __ ( 'Export' );
2006-10-25 22:55:05 +00:00
2008-02-05 06:47:27 +00:00
if ( isset ( $_GET [ 'download' ] ) ) {
2010-03-03 16:45:40 +00:00
$author = isset ( $_GET [ 'author' ]) ? $_GET [ 'author' ] : 'all' ;
2010-05-04 17:31:36 +00:00
$taxonomy = array ();
foreach ( get_taxonomies ( array ( 'show_ui' => true ) ) as $tax )
$taxonomy [ $tax ] = ! empty ( $_GET [ 'taxonomy' ][ $tax ] ) ? $_GET [ 'taxonomy' ][ $tax ] : 'all' ;
2010-03-03 16:45:40 +00:00
$post_type = isset ( $_GET [ 'post_type' ]) ? stripslashes_deep ( $_GET [ 'post_type' ]) : 'all' ;
$status = isset ( $_GET [ 'status' ]) ? stripslashes_deep ( $_GET [ 'status' ]) : 'all' ;
$mm_start = isset ( $_GET [ 'mm_start' ]) ? $_GET [ 'mm_start' ] : 'all' ;
$mm_end = isset ( $_GET [ 'mm_end' ]) ? $_GET [ 'mm_end' ] : 'all' ;
2010-05-04 17:31:36 +00:00
if ( $mm_start != 'all' ) {
$start_date = sprintf ( "%04d-%02d-%02d" , substr ( $mm_start , 0 , 4 ), substr ( $mm_start , 5 , 2 ), 1 );
2010-03-03 16:45:40 +00:00
} else {
$start_date = 'all' ;
}
2010-05-04 17:31:36 +00:00
if ( $mm_end != 'all' ) {
$end_date = sprintf ( "%04d-%02d-%02d" , substr ( $mm_end , 0 , 4 ), substr ( $mm_end , 5 , 2 ), 1 );
2010-03-03 16:45:40 +00:00
} else {
$end_date = 'all' ;
}
2010-05-04 17:31:36 +00:00
export_wp ( array ( 'author' => $author , 'taxonomy' => $taxonomy , 'post_type' => $post_type , 'post_status' => $status , 'start_date' => $start_date , 'end_date' => $end_date ) );
2007-11-15 05:32:33 +00:00
die ();
}
2006-10-25 22:55:05 +00:00
require_once ( 'admin-header.php' );
2010-03-03 16:45:40 +00:00
2010-05-07 21:53:11 +00:00
$dateoptions = $edateoptions = '' ;
2010-05-07 20:51:01 +00:00
$types = "'" . implode ( "', '" , get_post_types ( array ( 'public' => true , 'can_export' => true ), 'names' )) . "'" ;
$stati = "'" . implode ( "', '" , get_post_stati ( array ( 'internal' => false ), 'names' )) . "'" ;
2010-05-07 21:53:11 +00:00
if ( $monthyears = $wpdb -> get_results ( "SELECT DISTINCT YEAR(post_date) AS `year`, MONTH(post_date) AS `month`, YEAR(DATE_ADD(post_date, INTERVAL 1 MONTH)) AS `eyear`, MONTH(DATE_ADD(post_date, INTERVAL 1 MONTH)) AS `emonth` FROM $wpdb->posts WHERE post_type IN ( $types ) AND post_status IN ( $stati ) ORDER BY post_date ASC " ) ) {
foreach ( $monthyears as $k => $monthyear )
$monthyears [ $k ] -> lmonth = $wp_locale -> get_month ( $monthyear -> month , 2 );
for ( $s = 0 , $e = count ( $monthyears ) - 1 ; $e >= 0 ; $s ++ , $e -- ) {
$dateoptions .= " \t <option value= \" " . $monthyears [ $s ] -> year . '-' . zeroise ( $monthyears [ $s ] -> month , 2 ) . '">' . $monthyears [ $s ] -> lmonth . ' ' . $monthyears [ $s ] -> year . "</option> \n " ;
$edateoptions .= " \t <option value= \" " . $monthyears [ $e ] -> eyear . '-' . zeroise ( $monthyears [ $e ] -> emonth , 2 ) . '">' . $monthyears [ $e ] -> lmonth . ' ' . $monthyears [ $e ] -> year . "</option> \n " ;
2010-05-04 17:31:36 +00:00
}
}
?>
2006-10-25 22:55:05 +00:00
<div class="wrap">
2008-11-26 13:51:25 +00:00
<?php screen_icon(); ?>
2009-05-18 15:11:07 +00:00
<h2><?php echo esc_html( $title ); ?></h2>
2008-10-17 20:02:03 +00:00
2006-12-05 07:15:12 +00:00
<p><?php _e('When you click the button below WordPress will create an XML file for you to save to your computer.'); ?></p>
2008-03-09 22:14:49 +00:00
<p><?php _e('This format, which we call WordPress eXtended RSS or WXR, will contain your posts, pages, comments, custom fields, categories, and tags.'); ?></p>
2010-04-30 01:54:32 +00:00
<p><?php _e('Once you’ve saved the download file, you can use the Import function on another WordPress site to import this site.'); ?></p>
2006-10-25 22:55:05 +00:00
<form action="" method="get">
2010-05-21 21:39:35 +00:00
<h3><?php _e('Filters'); ?></h3>
2006-11-18 23:13:15 +00:00
2008-02-27 19:18:21 +00:00
<table class="form-table">
2006-11-18 23:13:15 +00:00
<tr>
2010-05-21 21:39:35 +00:00
<th><label for="mm_start"><?php _e('Start Date'); ?></label></th>
<td>
2010-03-03 16:45:40 +00:00
<select name="mm_start" id="mm_start">
2010-05-04 17:31:36 +00:00
<option value="all" selected="selected"><?php _e('All Dates'); ?></option>
2010-05-07 21:53:11 +00:00
<?php echo $dateoptions; ?>
2010-05-21 21:39:35 +00:00
</select>
</td>
</tr>
<tr>
<th><label for="mm_end" id="mm_end"><?php _e('End Date'); ?></label></th>
<td>
2010-03-03 16:45:40 +00:00
<select name="mm_end" id="mm_end">
2010-05-04 17:31:36 +00:00
<option value="all" selected="selected"><?php _e('All Dates'); ?></option>
2010-05-07 21:53:11 +00:00
<?php echo $edateoptions; ?>
2010-05-04 17:31:36 +00:00
</select>
2010-03-03 16:45:40 +00:00
</td>
</tr>
<tr>
2010-05-21 21:39:35 +00:00
<th><label for="author"><?php _e('Authors'); ?></label></th>
2006-11-18 23:13:15 +00:00
<td>
2008-05-04 10:37:06 +00:00
<select name="author" id="author">
2008-02-14 00:57:29 +00:00
<option value="all" selected="selected"><?php _e('All Authors'); ?></option>
2006-11-18 23:13:15 +00:00
<?php
2010-05-04 17:31:36 +00:00
$authors = $wpdb->get_results( "SELECT DISTINCT u.id, u.display_name FROM $wpdb->users u INNER JOIN $wpdb->posts p WHERE u.id = p.post_author ORDER BY u.display_name" );
foreach ( (array) $authors as $author ) {
echo "<option value='{$author->id}'>{$author->display_name}</option>\n";
}
2010-03-03 16:45:40 +00:00
?>
</select>
</td>
</tr>
2010-05-04 17:31:36 +00:00
<?php foreach ( get_taxonomies( array( 'show_ui' => true ), 'objects' ) as $tax_obj ) {
$term_dropdown = wp_dropdown_categories( array( 'taxonomy' => $tax_obj->name, 'hide_if_empty' => true, 'show_option_all' => __( 'All Terms' ), 'name' => 'taxonomy[' . $tax_obj->name . ']', 'id' => 'taxonomy-' . $tax_obj->name, 'class' => '', 'echo' => false ) );
if ( $term_dropdown )
2010-05-21 21:39:35 +00:00
echo '<tr><th><label for="taxonomy-' . $tax_obj->name . '">' . $tax_obj->labels->name . '</label></th><td>' . $term_dropdown . '</td></tr>';
2006-11-18 23:13:15 +00:00
}
?>
2010-03-03 16:45:40 +00:00
<tr>
2010-05-21 21:39:35 +00:00
<th><label for="post_type"><?php _e('Content Types'); ?></label></th>
2010-03-03 16:45:40 +00:00
<td>
<select name="post_type" id="post_type">
2010-05-04 17:31:36 +00:00
<option value="all" selected="selected"><?php _e('All Content'); ?></option>
<?php foreach ( get_post_types( array( 'public' => true, 'can_export' => true ), 'objects' ) as $post_type_obj ) { ?>
2010-05-11 19:52:50 +00:00
<option value="<?php echo $post_type_obj->name; ?>"><?php echo $post_type_obj->labels->name; ?></option>
2010-05-04 17:31:36 +00:00
<?php } ?>
2010-03-03 16:45:40 +00:00
</select>
</td>
</tr>
<tr>
2010-05-21 21:39:35 +00:00
<th><label for="status"><?php _e('Statuses'); ?></label></th>
2010-03-03 16:45:40 +00:00
<td>
<select name="status" id="status">
2010-05-04 17:31:36 +00:00
<option value="all" selected="selected"><?php _e('All Statuses'); ?></option>
<?php foreach ( get_post_stati( array( 'internal' => false ), 'objects' ) as $post_status_obj ) { ?>
<option value="<?php echo $post_status_obj->name; ?>"><?php echo $post_status_obj->label; ?></option>
<?php } ?>
2010-03-03 16:45:40 +00:00
</select>
</td>
</tr>
2006-11-18 23:13:15 +00:00
</table>
2009-05-05 19:43:53 +00:00
<p class="submit"><input type="submit" name="submit" class="button" value="<?php esc_attr_e('Download Export File'); ?>" />
2006-10-25 22:55:05 +00:00
<input type="hidden" name="download" value="true" />
</p>
</form>
</div>
<?php
include ('admin-footer.php');
2008-10-27 20:41:05 +00:00
?>