wp/wp-admin/export.php
author ymh <ymh.work@gmail.com>
Wed, 06 Nov 2013 03:21:17 +0000
changeset 0 d970ebf37754
child 5 5e2f62d02dcd
permissions -rw-r--r--
first import
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
<?php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
 * WordPress Export Administration Screen
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
 * @package WordPress
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
 * @subpackage Administration
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
/** Load WordPress Bootstrap */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
require_once( dirname( __FILE__ ) . '/admin.php' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
if ( !current_user_can('export') )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
	wp_die(__('You do not have sufficient permissions to export the content of this site.'));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
/** Load WordPress export API */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
require_once( ABSPATH . 'wp-admin/includes/export.php' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
$title = __('Export');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
 * Display JavaScript on the page.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
 * @since 3.5.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
function export_add_js() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
<script type="text/javascript">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
//<![CDATA[
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
	jQuery(document).ready(function($){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
 		var form = $('#export-filters'),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
 			filters = form.find('.export-filters');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
 		filters.hide();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
 		form.find('input:radio').change(function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
			filters.slideUp('fast');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
			switch ( $(this).val() ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
				case 'posts': $('#post-filters').slideDown(); break;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
				case 'pages': $('#page-filters').slideDown(); break;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
 		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
	});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
//]]>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
</script>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
<?php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
add_action( 'admin_head', 'export_add_js' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
get_current_screen()->add_help_tab( array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
	'id'      => 'overview',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
	'title'   => __('Overview'),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
	'content' => '<p>' . __('You can export a file of your site&#8217;s content in order to import it into another installation or platform. The export file will be an XML file format called WXR. Posts, pages, comments, custom fields, categories, and tags can be included. You can choose for the WXR file to include only certain posts or pages by setting the dropdown filters to limit the export by category, author, date range by month, or publishing status.') . '</p>' .
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
		'<p>' . __('Once generated, your WXR file can be imported by another WordPress site or by another blogging platform able to access this format.') . '</p>',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
get_current_screen()->set_help_sidebar(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
	'<p><strong>' . __('For more information:') . '</strong></p>' .
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
	'<p>' . __('<a href="http://codex.wordpress.org/Tools_Export_Screen" target="_blank">Documentation on Export</a>') . '</p>' .
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
	'<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
if ( isset( $_GET['download'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
	$args = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
	if ( ! isset( $_GET['content'] ) || 'all' == $_GET['content'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
		$args['content'] = 'all';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
	} else if ( 'posts' == $_GET['content'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
		$args['content'] = 'post';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
		if ( $_GET['cat'] )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
			$args['category'] = (int) $_GET['cat'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
		if ( $_GET['post_author'] )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
			$args['author'] = (int) $_GET['post_author'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
		if ( $_GET['post_start_date'] || $_GET['post_end_date'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
			$args['start_date'] = $_GET['post_start_date'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
			$args['end_date'] = $_GET['post_end_date'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
		if ( $_GET['post_status'] )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
			$args['status'] = $_GET['post_status'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
	} else if ( 'pages' == $_GET['content'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
		$args['content'] = 'page';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
		if ( $_GET['page_author'] )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
			$args['author'] = (int) $_GET['page_author'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
		if ( $_GET['page_start_date'] || $_GET['page_end_date'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
			$args['start_date'] = $_GET['page_start_date'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
			$args['end_date'] = $_GET['page_end_date'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
		if ( $_GET['page_status'] )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
			$args['status'] = $_GET['page_status'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
	} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
		$args['content'] = $_GET['content'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
	 * Filter the export args.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
	 * @since 3.5.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
	 * @param array $args The arguments to send to the exporter.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
	$args = apply_filters( 'export_args', $args );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
	export_wp( $args );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   107
	die();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   108
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   109
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   110
require_once( ABSPATH . 'wp-admin/admin-header.php' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   111
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   112
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   113
 * Create the date options fields for exporting a given post type.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   114
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
 * @global wpdb      $wpdb      WordPress database object.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
 * @global WP_Locale $wp_locale Date and Time Locale object.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
 * @since 3.1.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
 * @param string $post_type The post type. Default 'post'.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   121
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
function export_date_options( $post_type = 'post' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   123
	global $wpdb, $wp_locale;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   124
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   125
	$months = $wpdb->get_results( $wpdb->prepare( "
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   126
		SELECT DISTINCT YEAR( post_date ) AS year, MONTH( post_date ) AS month
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   127
		FROM $wpdb->posts
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   128
		WHERE post_type = %s AND post_status != 'auto-draft'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   129
		ORDER BY post_date DESC
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   130
	", $post_type ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   131
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   132
	$month_count = count( $months );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   133
	if ( !$month_count || ( 1 == $month_count && 0 == $months[0]->month ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   134
		return;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   135
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   136
	foreach ( $months as $date ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   137
		if ( 0 == $date->year )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   138
			continue;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   139
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   140
		$month = zeroise( $date->month, 2 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   141
		echo '<option value="' . $date->year . '-' . $month . '">' . $wp_locale->get_month( $month ) . ' ' . $date->year . '</option>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   142
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   143
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   144
?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   145
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   146
<div class="wrap">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   147
<?php screen_icon(); ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   148
<h2><?php echo esc_html( $title ); ?></h2>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   149
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   150
<p><?php _e('When you click the button below WordPress will create an XML file for you to save to your computer.'); ?></p>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   151
<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>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   152
<p><?php _e('Once you&#8217;ve saved the download file, you can use the Import function in another WordPress installation to import the content from this site.'); ?></p>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   153
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   154
<h3><?php _e( 'Choose what to export' ); ?></h3>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   155
<form action="" method="get" id="export-filters">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   156
<input type="hidden" name="download" value="true" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   157
<p><label><input type="radio" name="content" value="all" checked="checked" /> <?php _e( 'All content' ); ?></label></p>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   158
<p class="description"><?php _e( 'This will contain all of your posts, pages, comments, custom fields, terms, navigation menus and custom posts.' ); ?></p>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   159
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   160
<p><label><input type="radio" name="content" value="posts" /> <?php _e( 'Posts' ); ?></label></p>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   161
<ul id="post-filters" class="export-filters">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   162
	<li>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   163
		<label><?php _e( 'Categories:' ); ?></label>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   164
		<?php wp_dropdown_categories( array( 'show_option_all' => __('All') ) ); ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   165
	</li>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   166
	<li>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   167
		<label><?php _e( 'Authors:' ); ?></label>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   168
<?php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   169
		$authors = $wpdb->get_col( "SELECT DISTINCT post_author FROM {$wpdb->posts} WHERE post_type = 'post'" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   170
		wp_dropdown_users( array( 'include' => $authors, 'name' => 'post_author', 'multi' => true, 'show_option_all' => __('All') ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   171
?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   172
	</li>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   173
	<li>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   174
		<label><?php _e( 'Date range:' ); ?></label>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   175
		<select name="post_start_date">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   176
			<option value="0"><?php _e( 'Start Date' ); ?></option>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   177
			<?php export_date_options(); ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   178
		</select>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   179
		<select name="post_end_date">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   180
			<option value="0"><?php _e( 'End Date' ); ?></option>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   181
			<?php export_date_options(); ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   182
		</select>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   183
	</li>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   184
	<li>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   185
		<label><?php _e( 'Status:' ); ?></label>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   186
		<select name="post_status">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   187
			<option value="0"><?php _e( 'All' ); ?></option>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   188
			<?php $post_stati = get_post_stati( array( 'internal' => false ), 'objects' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   189
			foreach ( $post_stati as $status ) : ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   190
			<option value="<?php echo esc_attr( $status->name ); ?>"><?php echo esc_html( $status->label ); ?></option>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   191
			<?php endforeach; ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   192
		</select>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   193
	</li>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   194
</ul>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   195
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   196
<p><label><input type="radio" name="content" value="pages" /> <?php _e( 'Pages' ); ?></label></p>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   197
<ul id="page-filters" class="export-filters">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   198
	<li>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   199
		<label><?php _e( 'Authors:' ); ?></label>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   200
<?php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   201
		$authors = $wpdb->get_col( "SELECT DISTINCT post_author FROM {$wpdb->posts} WHERE post_type = 'page'" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   202
		wp_dropdown_users( array( 'include' => $authors, 'name' => 'page_author', 'multi' => true, 'show_option_all' => __('All') ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   203
?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   204
	</li>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   205
	<li>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   206
		<label><?php _e( 'Date range:' ); ?></label>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   207
		<select name="page_start_date">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   208
			<option value="0"><?php _e( 'Start Date' ); ?></option>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   209
			<?php export_date_options( 'page' ); ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   210
		</select>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   211
		<select name="page_end_date">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   212
			<option value="0"><?php _e( 'End Date' ); ?></option>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   213
			<?php export_date_options( 'page' ); ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   214
		</select>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   215
	</li>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   216
	<li>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   217
		<label><?php _e( 'Status:' ); ?></label>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   218
		<select name="page_status">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   219
			<option value="0"><?php _e( 'All' ); ?></option>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   220
			<?php foreach ( $post_stati as $status ) : ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   221
			<option value="<?php echo esc_attr( $status->name ); ?>"><?php echo esc_html( $status->label ); ?></option>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   222
			<?php endforeach; ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   223
		</select>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   224
	</li>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   225
</ul>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   226
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   227
<?php foreach ( get_post_types( array( '_builtin' => false, 'can_export' => true ), 'objects' ) as $post_type ) : ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   228
<p><label><input type="radio" name="content" value="<?php echo esc_attr( $post_type->name ); ?>" /> <?php echo esc_html( $post_type->label ); ?></label></p>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   229
<?php endforeach; ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   230
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   231
<?php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   232
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   233
 * Fires after the export filters form.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   234
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   235
 * @since 3.5.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   236
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   237
do_action( 'export_filters' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   238
?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   239
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   240
<?php submit_button( __('Download Export File') ); ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   241
</form>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   242
</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   243
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   244
<?php include( ABSPATH . 'wp-admin/admin-footer.php' ); ?>