<?php
$vercode=''; //此处取值请自行修改
if(isset($_POST['vercode'])){
if ($_POST['vercode']!=$vercode){
 echo("[err]invalid vercode[/err]");
 exit();
}
}

//require_once('admin.php');
//以下为替换admin.php代码

if ( !defined('WP_ADMIN') )
 define('WP_ADMIN', TRUE);

if ( defined('ABSPATH') )
 require_once(ABSPATH . 'wp-load.php');
else
 require_once('../wp-load.php');

//if ( get_option('db_upgraded') ) {
// $wp_rewrite->flush_rules();
// update_option( 'db_upgraded',  false );
//
// /**
//  * Runs on the next page load after successful upgrade
//  *
//  * @since 2.8
//  */
// do_action('after_db_upgrade');
//} else
if ( get_option('db_version') != $wp_db_version ) {
 //wp_redirect(admin_url('upgrade.php?_wp_http_referer=' . urlencode(stripslashes($_SERVER['REQUEST_URI']))));
 echo('[err]db_version error[/err]');
 exit;
}

require_once(ABSPATH . 'wp-admin/includes/admin.php');

//ET增加------
$etuser = wp_signon();
if (is_wp_error($etuser))
{
 echo('login error');
 exit;
}
$_POST['user_ID']=$etuser->ID;


/*
auth_redirect();

nocache_headers();

update_category_cache();

// Schedule trash collection
if ( !wp_next_scheduled('wp_scheduled_delete') && !defined('WP_INSTALLING') )
 wp_schedule_event(time(), 'daily', 'wp_scheduled_delete');

set_screen_options();

$posts_per_page = get_option('posts_per_page');
$date_format = get_option('date_format');
$time_format = get_option('time_format');

wp_reset_vars(array('profile', 'redirect', 'redirect_url', 'a', 'text', 'trackback', 'pingback'));

wp_admin_css_color('classic', __('Blue'), admin_url("css/colors-classic.css"), array('#073447', '#21759B', '#EAF3FA', '#BBD8E7'));
wp_admin_css_color('fresh', __('Gray'), admin_url("css/colors-fresh.css"), array('#464646', '#6D6D6D', '#F1F1F1', '#DFDFDF'));

wp_enqueue_script( 'common' );
wp_enqueue_script( 'jquery-color' );

$editing = false;

if (isset($_GET['page'])) {
 $plugin_page = stripslashes($_GET['page']);
 $plugin_page = plugin_basename($plugin_page);
}

require(ABSPATH . 'wp-admin/menu.php');

do_action('admin_init');

// Handle plugin admin pages.
if (isset($plugin_page)) {
 if( ! $page_hook = get_plugin_page_hook($plugin_page, $pagenow) ) {
  $page_hook = get_plugin_page_hook($plugin_page, $plugin_page);
  // backwards compatibility for plugins using add_management_page
  if ( empty( $page_hook ) && 'edit.php' == $pagenow && '' != get_plugin_page_hook($plugin_page, 'tools.php') ) {
   // There could be plugin specific params on the URL, so we need the whole query string
   if ( !empty($_SERVER[ 'QUERY_STRING' ]) )
    $query_string = $_SERVER[ 'QUERY_STRING' ];
   else
    $query_string = 'page=' . $plugin_page;
   wp_redirect( 'tools.php?' . $query_string );
   exit;
  }
 }

 if ( $page_hook ) {
  do_action('load-' . $page_hook);
  if (! isset($_GET['noheader']))
   require_once(ABSPATH . 'wp-admin/admin-header.php');

  do_action($page_hook);
 } else {
  if ( validate_file($plugin_page) ) {
   wp_die(__('Invalid plugin page'));
  }

  if (! ( file_exists(WP_PLUGIN_DIR . "/$plugin_page") && is_file(WP_PLUGIN_DIR . "/$plugin_page") ) )
   wp_die(sprintf(__('Cannot load %s.'), htmlentities($plugin_page)));

  do_action('load-' . $plugin_page);

  if (! isset($_GET['noheader']))
   require_once(ABSPATH . 'wp-admin/admin-header.php');

  include(WP_PLUGIN_DIR . "/$plugin_page");
 }

 include(ABSPATH . 'wp-admin/admin-footer.php');

 exit();
} else if (isset($_GET['import'])) {

 $importer = $_GET['import'];

 if ( ! current_user_can('import') )
  wp_die(__('You are not allowed to import.'));

 if ( validate_file($importer) ) {
  wp_die(__('Invalid importer.'));
 }

 // Allow plugins to define importers as well
 if ( !isset($wp_importers) || !isset($wp_importers[$importer]) || ! is_callable($wp_importers[$importer][2]))
 {
  if (! file_exists(ABSPATH . "wp-admin/import/$importer.php"))
  {
   wp_die(__('Cannot load importer.'));
  }
  include(ABSPATH . "wp-admin/import/$importer.php");
 }

 $parent_file = 'tools.php';
 $submenu_file = 'import.php';
 $title = __('Import');

 if (! isset($_GET['noheader']))
  require_once(ABSPATH . 'wp-admin/admin-header.php');

 require_once(ABSPATH . 'wp-admin/includes/upgrade.php');

 define('WP_IMPORTING', true);

 call_user_func($wp_importers[$importer][2]);

 include(ABSPATH . 'wp-admin/admin-footer.php');

 // Make sure rules are flushed
 global $wp_rewrite;
 $wp_rewrite->flush_rules(false);

 exit();
} else {
 do_action("load-$pagenow");
}

if ( !empty($_REQUEST['action']) )
 do_action('admin_action_' . $_REQUEST['action']);

*/
//admin.php结束------------------

function et_wp_translate_postdata( $update = false, $post_data = null ) {

 if ( empty($post_data) )
  $post_data = &$_POST;

 if ( $update )
  $post_data['ID'] = (int) $post_data['post_ID'];
 $post_data['post_content'] = isset($post_data['content']) ? $post_data['content'] : '';
 $post_data['post_excerpt'] = isset($post_data['excerpt']) ? $post_data['excerpt'] : '';
 $post_data['post_parent'] = isset($post_data['parent_id'])? $post_data['parent_id'] : '';
 if ( isset($post_data['trackback_url']) )
  $post_data['to_ping'] = $post_data['trackback_url'];

 if (!empty ( $post_data['post_author_override'] ) ) {
  $post_data['post_author'] = (int) $post_data['post_author_override'];
 } else {
  if (!empty ( $post_data['post_author'] ) ) {
   $post_data['post_author'] = (int) $post_data['post_author'];
  } else {
   $post_data['post_author'] = (int) $post_data['user_ID'];
  }
 }
	$ptype = get_post_type_object( $post_data['post_type'] );
	if ( isset($post_data['user_ID']) && ($post_data['post_author'] != $post_data['user_ID']) ) {
		if ( !current_user_can( $ptype->cap->edit_others_posts ) ) {
			if ( 'page' == $post_data['post_type'] ) {
				return new WP_Error( 'edit_others_pages', $update ?
					__( 'You are not allowed to edit pages as this user.' ) :
					__( 'You are not allowed to create pages as this user.' )
				);
			} else {
				return new WP_Error( 'edit_others_posts', $update ?
					__( 'You are not allowed to edit posts as this user.' ) :
					__( 'You are not allowed to post as this user.' )
				);
			}
		}
	}

	// What to do based on which button they pressed
//	if ( isset($post_data['saveasdraft']) && '' != $post_data['saveasdraft'] )
//		$post_data['post_status'] = 'draft';
//	if ( isset($post_data['saveasprivate']) && '' != $post_data['saveasprivate'] )
//		$post_data['post_status'] = 'private';
//	if ( isset($post_data['publish']) && ( '' != $post_data['publish'] ) && ( !isset($post_data['post_status']) || $post_data['post_status'] != 'private' ) )
//		$post_data['post_status'] = 'publish';
//	if ( isset($post_data['advanced']) && '' != $post_data['advanced'] )
//		$post_data['post_status'] = 'draft';
//	if ( isset($post_data['pending']) && '' != $post_data['pending'] )
//		$post_data['post_status'] = 'pending';

	if ( isset( $post_data['ID'] ) )
		$post_id = $post_data['ID'];
	else
		$post_id = false;
	$previous_status = $post_id ? get_post_field( 'post_status', $post_id ) : false;
	
	// Posts 'submitted for approval' present are submitted to $_POST the same as if they were being published.
	// Change status from 'publish' to 'pending' if user lacks permissions to publish or to resave published posts.
//	if ( isset($post_data['post_status']) && ('publish' == $post_data['post_status'] && !current_user_can( $ptype->cap->publish_posts )) )
//		if ( $previous_status != 'publish' || !current_user_can( 'edit_post', $post_id ) )
//			$post_data['post_status'] = 'pending';

//	if ( ! isset($post_data['post_status']) )
//		$post_data['post_status'] = $previous_status;
	if ( ! isset($post_data['post_status']) )
		$post_data['post_status'] = 'publish';

	if (!isset( $post_data['comment_status'] ))
		$post_data['comment_status'] = 'closed';

	if (!isset( $post_data['ping_status'] ))
		$post_data['ping_status'] = 'closed';

	foreach ( array('aa', 'mm', 'jj', 'hh', 'mn') as $timeunit ) {
		if ( !empty( $post_data['hidden_' . $timeunit] ) && $post_data['hidden_' . $timeunit] != $post_data[$timeunit] ) {
			$post_data['edit_date'] = '1';
			break;
		}
	}

	if ( !empty( $post_data['edit_date'] ) ) {
		$aa = $post_data['aa'];
		$mm = $post_data['mm'];
		$jj = $post_data['jj'];
		$hh = $post_data['hh'];
		$mn = $post_data['mn'];
		$ss = $post_data['ss'];
		$aa = ($aa <= 0 ) ? date('Y') : $aa;
		$mm = ($mm <= 0 ) ? date('n') : $mm;
		$jj = ($jj > 31 ) ? 31 : $jj;
		$jj = ($jj <= 0 ) ? date('j') : $jj;
		$hh = ($hh > 23 ) ? $hh -24 : $hh;
		$mn = ($mn > 59 ) ? $mn -60 : $mn;
		$ss = ($ss > 59 ) ? $ss -60 : $ss;
		$post_data['post_date'] = sprintf( "%04d-%02d-%02d %02d:%02d:%02d", $aa, $mm, $jj, $hh, $mn, $ss );
		$post_data['post_date_gmt'] = get_gmt_from_date( $post_data['post_date'] );
	}

	return $post_data;
}


function etwp_write_post() {
 global $user_ID,$wpdb;

/* if ( 'page' == $_POST['post_type'] ) {
  if ( !current_user_can( 'edit_pages' ) )
   return new WP_Error( 'edit_pages', __( 'You are not allowed to create pages on this blog.' ) );
 } else {
  if ( !current_user_can( 'edit_posts' ) )
   return new WP_Error( 'edit_posts', __( 'You are not allowed to create posts or drafts on this blog.' ) );
 }
*/

 // Check for autosave collisions
/* $temp_id = false;
 if ( isset($_POST['temp_ID']) ) {
  $temp_id = (int) $_POST['temp_ID'];
  if ( !$draft_ids = get_user_option( 'autosave_draft_ids' ) )
   $draft_ids = array();
  foreach ( $draft_ids as $temp => $real )
   if ( time() + $temp > 86400 ) // 1 day: $temp is equal to -1 * time( then )
    unset($draft_ids[$temp]);

  if ( isset($draft_ids[$temp_id]) ) { // Edit, don't write
   $_POST['post_ID'] = $draft_ids[$temp_id];
   unset($_POST['temp_ID']);
   update_user_option( $user_ID, 'autosave_draft_ids', $draft_ids );
   return edit_post();
  }
 }
*/
 if (!isset( $_POST['publish'] ))
  $_POST['publish'] = 'publish';
  
 if (!isset( $_POST['visibility'] ))
  $_POST['visibility'] = 'public';
  
 if (empty( $_POST['post_status'] ))
  $_POST['post_status'] = 'publish';
  
 if (!isset( $_POST['comment_status'] ))
  $_POST['comment_status'] = 'open';
  
	$translated =et_wp_translate_postdata( false );
	if ( is_wp_error($translated) )
		return $translated;

	if ( isset($_POST['visibility']) ) {
		switch ( $_POST['visibility'] ) {
			case 'public' :
				$_POST['post_password'] = '';
				break;
			case 'password' :
				unset( $_POST['sticky'] );
				break;
			case 'private' :
				$_POST['post_status'] = 'private';
				$_POST['post_password'] = '';
				unset( $_POST['sticky'] );
				break;
		}
	}




 // Create the post.
 $post_ID = wp_insert_post( $_POST );
 if ( is_wp_error( $post_ID ) )
  return $post_ID;

 if ( empty($post_ID) )
  return 0;
 //zzcity add 
 if ( isset($_POST['meta']) && $_POST['meta'] ) {
  foreach ( $_POST['meta'] as $key => $value )
  $wpdb->insert($wpdb->postmeta, array('post_id' => $post_ID, 'meta_key' => $value['key'], 'meta_value' => $value['value']) );
  
 }
 
 add_meta( $post_ID );
 add_post_meta( $post_ID, '_edit_last', $GLOBALS['current_user']->ID );

	// Reunite any orphaned attachments with their parent
	// Does this need to be udpated? ~ Mark
	if ( !$draft_ids = get_user_option( 'autosave_draft_ids' ) )
		$draft_ids = array();
	if ( $draft_temp_id = (int) array_search( $post_ID, $draft_ids ) )
		_relocate_children( $draft_temp_id, $post_ID );
	if ( $temp_id && $temp_id != $draft_temp_id )
		_relocate_children( $temp_id, $post_ID );

	// Update autosave collision detection
	if ( $temp_id ) {
		$draft_ids[$temp_id] = $post_ID;
		update_user_option( $user_ID, 'autosave_draft_ids', $draft_ids );
	}

	// Now that we have an ID we can fix any attachment anchor hrefs
	_fix_attachment_links( $post_ID );

	wp_set_post_lock( $post_ID, $GLOBALS['current_user']->ID );

	return $post_ID;
}

function etwrite_post() {
 $result = etwp_write_post();
 if( is_wp_error( $result ) )
  wp_die( $result->get_error_message() );
 else
  return $result;
}




//$parent_file = 'edit.php';
//$submenu_file = 'edit.php';

$_POST['action']='post';
$_POST['post_type']='post';
$_POST['advanced_view']=1;
$_POST['post_pingback']=1;

wp_reset_vars(array('action', 'safe_mode', 'withcomments', 'posts', 'content', 'edited_post_title', 'comment_error', 'profile', 'trackback_url', 'excerpt', 'showcomments', 'commentstart', 'commentend', 'commentorder'));


$post_ID = etwrite_post() ;
if (is_numeric($post_ID)){
 echo('[reply]comment_post_ID='.$post_ID.'[/reply]');}
else{
 echo('[err]POST failure[/err]');
 exit;
}


/**
 * Redirect to previous page.
 *
 * @param int $post_ID Optional. Post ID.
 */
/*function redirect_post($post_ID = '') {
 global $action;

 $referredby = '';
 if ( !empty($_POST['referredby']) ) {
  $referredby = preg_replace('|https?://[^/]+|i', '', $_POST['referredby']);
  $referredby = remove_query_arg('_wp_original_http_referer', $referredby);
 }
 $referer = preg_replace('|https?://[^/]+|i', '', wp_get_referer());

 if ( !empty($_POST['mode']) && 'sidebar' == $_POST['mode'] ) {
  if ( isset($_POST['saveasdraft']) )
   $location = 'sidebar.php?a=c';
  elseif ( isset($_POST['publish']) )
   $location = 'sidebar.php?a=b';
 } elseif ( isset($_POST['save']) || isset($_POST['publish']) ) {
  $status = get_post_status( $post_ID );

  if ( isset( $_POST['publish'] ) ) {
   switch ( $status ) {
    case 'pending':
     $message = 8;
     break;
    case 'future':
     $message = 9;
     break;
    default:
     $message = 6;
   }
  } else {
    $message = 'draft' == $status ? 10 : 1;
  }

  $location = add_query_arg( 'message', $message, get_edit_post_link( $post_ID, 'url' ) );
 } elseif ( isset($_POST['addmeta']) && $_POST['addmeta'] ) {
  $location = add_query_arg( 'message', 2, wp_get_referer() );
  $location = explode('#', $location);
  $location = $location[0] . '#postcustom';
 } elseif ( isset($_POST['deletemeta']) && $_POST['deletemeta'] ) {
  $location = add_query_arg( 'message', 3, wp_get_referer() );
  $location = explode('#', $location);
  $location = $location[0] . '#postcustom';
 } elseif ( 'post-quickpress-save-cont' == $_POST['action'] ) {
  $location = "post.php?action=edit&post=$post_ID&message=7";
 } else {
  $location = add_query_arg( 'message', 4, get_edit_post_link( $post_ID, 'url' ) );
 }

 wp_redirect( apply_filters( 'redirect_post_location', $location, $post_ID ) );
}

if ( isset( $_POST['deletepost'] ) )
 $action = 'delete';
elseif ( isset($_POST['wp-preview']) && 'dopreview' == $_POST['wp-preview'] )
 $action = 'preview';

$sendback = wp_get_referer();
if ( strpos($sendback, 'post.php') !== false || strpos($sendback, 'post-new.php') !== false )
 $sendback = admin_url('edit.php');
else
 $sendback = remove_query_arg( array('trashed', 'untrashed', 'deleted', 'ids'), $sendback );
*/
//switch($action) {
//case 'postajaxpost':
//case 'post':
//case 'post-quickpress-publish':
//case 'post-quickpress-save':
// check_admin_referer('add-post');
//
// if ( 'post-quickpress-publish' == $action )
//  $_POST['publish'] = 'publish'; // tell write_post() to publish
//
// if ( 'post-quickpress-publish' == $action || 'post-quickpress-save' == $action ) {
//  $_POST['comment_status'] = get_option('default_comment_status');
//  $_POST['ping_status'] = get_option('default_ping_status');
// }
//
// if ( !empty( $_POST['quickpress_post_ID'] ) ) {
//  $_POST['post_ID'] = (int) $_POST['quickpress_post_ID'];
//  $post_ID = edit_post();
// } else {
//  $post_ID = 'postajaxpost' == $action ? edit_post() : write_post();
// }
//
// if ( 0 === strpos( $action, 'post-quickpress' ) ) {
//  $_POST['post_ID'] = $post_ID;
//  // output the quickpress dashboard widget
//  require_once(ABSPATH . 'wp-admin/includes/dashboard.php');
//  wp_dashboard_quick_press();
//  exit;
// }
//
// redirect_post($post_ID);
// exit();
// break;
//
//case 'edit':
// $editing = true;
//
// if ( empty( $_GET['post'] ) ) {
//  wp_redirect("post.php");
//  exit();
// }
// $post_ID = $p = (int) $_GET['post'];
// $post = get_post($post_ID);
//
// if ( empty($post->ID) )
//  wp_die( __('You attempted to edit a post that doesn&#8217;t exist. Perhaps it was deleted?') );
//
// if ( !current_user_can('edit_post', $post_ID) )
//  wp_die( __('You are not allowed to edit this post.') );
//
// if ( 'trash' == $post->post_status )
//  wp_die( __('You can&#8217;t edit this post because it is in the Trash. Please restore it and try again.') );
//
// if ( 'post' != $post->post_type ) {
//  wp_redirect( get_edit_post_link( $post->ID, 'url' ) );
//  exit();
// }
//
// wp_enqueue_script('post');
// if ( user_can_richedit() )
//  wp_enqueue_script('editor');
// add_thickbox();
// wp_enqueue_script('media-upload');
// wp_enqueue_script('word-count');
// wp_enqueue_script( 'admin-comments' );
// enqueue_comment_hotkeys_js();
//
// if ( $last = wp_check_post_lock( $post->ID ) ) {
//  add_action('admin_notices', '_admin_notice_post_locked' );
// } else {
//  wp_set_post_lock( $post->ID );
//  wp_enqueue_script('autosave');
// }
//
// $title = __('Edit Post');
// $post = get_post_to_edit($post_ID);
//
// include('edit-form-advanced.php');
//
// break;
//
//case 'editattachment':
// $post_id = (int) $_POST['post_ID'];
//
// check_admin_referer('update-attachment_' . $post_id);
//
// // Don't let these be changed
// unset($_POST['guid']);
// $_POST['post_type'] = 'attachment';
//
// // Update the thumbnail filename
// $newmeta = wp_get_attachment_metadata( $post_id, true );
// $newmeta['thumb'] = $_POST['thumb'];
//
// wp_update_attachment_metadata( $post_id, $newmeta );
//
//case 'editpost':
// $post_ID = (int) $_POST['post_ID'];
// check_admin_referer('update-post_' . $post_ID);

// $post_ID = edit_post();

// redirect_post($post_ID); // Send user on their way while we keep working

// exit();
// break;

//case 'trash':
// $post_id = isset($_GET['post']) ? intval($_GET['post']) : intval($_POST['post_ID']);
// check_admin_referer('trash-post_' . $post_id);
//
// $post = & get_post($post_id);
//
// if ( !current_user_can('delete_post', $post_id) )
//  wp_die( __('You are not allowed to move this post to the trash.') );
//
// if ( ! wp_trash_post($post_id) )
//  wp_die( __('Error in moving to trash...') );
//
// wp_redirect( add_query_arg( array('trashed' => 1, 'ids' => $post_id), $sendback ) );
// exit();
// break;
//
//case 'untrash':
// $post_id = isset($_GET['post']) ? intval($_GET['post']) : intval($_POST['post_ID']);
// check_admin_referer('untrash-post_' . $post_id);
//
// $post = & get_post($post_id);
//
// if ( !current_user_can('delete_post', $post_id) )
//  wp_die( __('You are not allowed to move this post out of the trash.') );
//
// if ( ! wp_untrash_post($post_id) )
//  wp_die( __('Error in restoring from trash...') );
//
// wp_redirect( add_query_arg('untrashed', 1, $sendback) );
// exit();
// break;
//
//case 'delete':
// $post_id = (isset($_GET['post']))  ? intval($_GET['post']) : intval($_POST['post_ID']);
// check_admin_referer('delete-post_' . $post_id);
//
// $post = & get_post($post_id);
//
// if ( !current_user_can('delete_post', $post_id) )
//  wp_die( __('You are not allowed to delete this post.') );
//
// $force = !EMPTY_TRASH_DAYS;
// if ( $post->post_type == 'attachment' ) {
//  $force = ( $force || !MEDIA_TRASH );
//  if ( ! wp_delete_attachment($post_id, $force) )
//   wp_die( __('Error in deleting...') );
// } else {
//  if ( !wp_delete_post($post_id, $force) )
//   wp_die( __('Error in deleting...') );
// }
//
// wp_redirect( add_query_arg('deleted', 1, $sendback) );
// exit();
// break;
//
//case 'preview':
// check_admin_referer( 'autosave', 'autosavenonce' );
//
// $url = post_preview();
//
// wp_redirect($url);
// exit();
// break;
//
//default:
// wp_redirect('edit.php');
// exit();
// break;
//} // end switch
//include('admin-footer.php');
?>
