50 && mt_rand( 0, (int)( $c / 50 ) ) == 1 ) ) { // require_once( ABSPATH . WPINC . '/http.php' ); // $response = wp_remote_get( admin_url( 'upgrade.php?step=1' ), array( 'timeout' => 120, 'httpversion' => '1.1' ) ); // do_action( 'after_mu_upgrade', $response ); // unset($response); // } // unset($c); } } 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(); // Schedule trash collection if ( !wp_next_scheduled('wp_scheduled_delete') && !defined('WP_INSTALLING') ) wp_schedule_event(time(), 'daily', 'wp_scheduled_delete'); set_screen_options(); $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_enqueue_script( 'common' ); $editing = false; if ( isset($_GET['page']) ) { $plugin_page = stripslashes($_GET['page']); $plugin_page = plugin_basename($plugin_page); } if ( isset( $_REQUEST['post_type'] ) && post_type_exists( $_REQUEST['post_type'] ) ) $typenow = $_REQUEST['post_type']; else $typenow = ''; if ( isset( $_REQUEST['taxonomy'] ) && taxonomy_exists( $_REQUEST['taxonomy'] ) ) $taxnow = $_REQUEST['taxonomy']; else $taxnow = ''; if ( WP_NETWORK_ADMIN ) require(ABSPATH . 'wp-admin/network/menu.php'); elseif ( WP_USER_ADMIN ) require(ABSPATH . 'wp-admin/user/menu.php'); else require(ABSPATH . 'wp-admin/menu.php'); if ( current_user_can( 'manage_options' ) ) @ini_set( 'memory_limit', apply_filters( 'admin_memory_limit', WP_MAX_MEMORY_LIMIT ) ); do_action('admin_init'); if ( isset($plugin_page) ) { if ( !empty($typenow) ) $the_parent = $pagenow . '?post_type=' . $typenow; else $the_parent = $pagenow; if ( ! $page_hook = get_plugin_page_hook($plugin_page, $the_parent) ) { $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( admin_url('tools.php?' . $query_string) ); exit; } } unset($the_parent); } $hook_suffix = ''; if ( isset($page_hook) ) $hook_suffix = $page_hook; else if ( isset($plugin_page) ) $hook_suffix = $plugin_page; else if ( isset($pagenow) ) $hook_suffix = $pagenow; set_current_screen(); // Handle plugin admin pages. if ( isset($plugin_page) ) { 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") ) && !( file_exists(WPMU_PLUGIN_DIR . "/$plugin_page") && is_file(WPMU_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'); if ( file_exists(WPMU_PLUGIN_DIR . "/$plugin_page") ) include(WPMU_PLUGIN_DIR . "/$plugin_page"); else 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_redirect( admin_url( 'import.php?invalid=' . $importer ) ); exit; } if ( ! isset($wp_importers[$importer]) || ! is_callable($wp_importers[$importer][2]) ) { wp_redirect( admin_url( 'import.php?invalid=' . $importer ) ); exit; } do_action( 'load-importer-' . $importer ); $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); if ( apply_filters( 'force_filtered_html_on_import', false ) ) kses_init_filters(); // Always filter imported data with kses on multisite. call_user_func($wp_importers[$importer][2]); include(ABSPATH . 'wp-admin/admin-footer.php'); // Make sure rules are flushed flush_rewrite_rules(false); exit(); } else { do_action("load-$pagenow"); // Backwards compatibility with old load-page-new.php, load-page.php, // and load-categories.php actions. if ( $typenow == 'page' ) { if ( $pagenow == 'post-new.php' ) do_action( 'load-page-new.php' ); elseif ( $pagenow == 'post.php' ) do_action( 'load-page.php' ); } elseif ( $pagenow == 'edit-tags.php' ) { if ( $taxnow == 'category' ) do_action( 'load-categories.php' ); elseif ( $taxnow == 'link_category' ) do_action( 'load-edit-link-categories.php' ); } } 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']; $ptype = get_post_type_object( $post_data['post_type'] ); /* if ( $update && ! current_user_can( $ptype->cap->edit_post, $post_data['ID'] ) ) { if ( 'page' == $post_data['post_type'] ) return new WP_Error( 'edit_others_pages', __( 'You are not allowed to edit pages as this user.' ) ); else return new WP_Error( 'edit_others_posts', __( 'You are not allowed to edit posts as this user.' ) ); } elseif ( ! $update && ! current_user_can( $ptype->cap->create_posts ) ) { if ( 'page' == $post_data['post_type'] ) return new WP_Error( 'edit_others_pages', __( 'You are not allowed to create pages as this user.' ) ); else return new WP_Error( 'edit_others_posts', __( 'You are not allowed to create posts as this user.' ) ); } */ if ( isset( $post_data['content'] ) ) $post_data['post_content'] = $post_data['content']; if ( isset( $post_data['excerpt'] ) ) $post_data['post_excerpt'] = $post_data['excerpt']; if ( isset( $post_data['parent_id'] ) ) $post_data['post_parent'] = (int) $post_data['parent_id']; if ( isset($post_data['trackback_url']) ) $post_data['to_ping'] = $post_data['trackback_url']; /* if ( !isset($post_data['user_ID']) ) $post_data['user_ID'] = $GLOBALS['user_ID']; */ 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']; } } /* if ( ! $update && isset( $post_data['user_ID'] ) && ( $post_data['post_author'] != $post_data['user_ID'] ) && ! current_user_can( $ptype->cap->edit_others_posts ) ) { if ( 'page' == $post_data['post_type'] ) return new WP_Error( 'edit_others_pages', __( 'You are not allowed to create pages as this user.' ) ); else return new WP_Error( 'edit_others_posts', __( 'You are not allowed to create posts 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'] = '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 ); $valid_date = wp_checkdate( $mm, $jj, $aa, $post_data['post_date'] ); if ( !$valid_date ) { return new WP_Error( 'invalid_date', __( 'Whoops, the provided date is invalid.' ) ); } $post_data['post_date_gmt'] = get_gmt_from_date( $post_data['post_date'] ); } return $post_data; } function etwp_insert_post($postarr, $wp_error = false) { global $wpdb, $user_ID; $defaults = array('post_status' => 'draft', 'post_type' => 'post', 'post_author' => $user_ID, 'ping_status' => get_option('default_ping_status'), 'post_parent' => 0, 'menu_order' => 0, 'to_ping' => '', 'pinged' => '', 'post_password' => '', 'guid' => '', 'post_content_filtered' => '', 'post_excerpt' => '', 'import_id' => 0, 'post_content' => '', 'post_title' => ''); $postarr = wp_parse_args($postarr, $defaults); unset( $postarr[ 'filter' ] ); $postarr = sanitize_post($postarr, 'raw'); //zzcity modi // export array as variables extract($postarr, EXTR_SKIP); // Are we updating or creating? $update = false; if ( !empty($ID) ) { $update = true; $previous_status = get_post_field('post_status', $ID); } else { $previous_status = 'new'; } $maybe_empty = ! $post_content && ! $post_title && ! $post_excerpt && post_type_supports( $post_type, 'editor' ) && post_type_supports( $post_type, 'title' ) && post_type_supports( $post_type, 'excerpt' ); if ( apply_filters( 'wp_insert_post_empty_content', $maybe_empty, $postarr ) ) { if ( $wp_error ) return new WP_Error( 'empty_content', __( 'Content, title, and excerpt are empty.' ) ); else return 0; } if ( empty($post_type) ) $post_type = 'post'; if ( empty($post_status) ) $post_status = 'draft'; if ( !empty($post_category) ) $post_category = array_filter($post_category); // Filter out empty terms // Make sure we set a valid category. if ( empty($post_category) || 0 == count($post_category) || !is_array($post_category) ) { // 'post' requires at least one category. if ( 'post' == $post_type && 'auto-draft' != $post_status ) $post_category = array( get_option('default_category') ); else $post_category = array(); } if ( empty($post_author) ) $post_author = $user_ID; $post_ID = 0; // Get the post ID and GUID if ( $update ) { $post_ID = (int) $ID; $guid = get_post_field( 'guid', $post_ID ); $post_before = get_post($post_ID); } // Don't allow contributors to set the post slug for pending review posts if ( 'pending' == $post_status && !current_user_can( 'publish_posts' ) ) $post_name = ''; // Create a valid post name. Drafts and pending posts are allowed to have an empty // post name. if ( empty($post_name) ) { if ( !in_array( $post_status, array( 'draft', 'pending', 'auto-draft' ) ) ) $post_name = sanitize_title($post_title); else $post_name = ''; } else { // On updates, we need to check to see if it's using the old, fixed sanitization context. $check_name = sanitize_title( $post_name, '', 'old-save' ); if ( $update && strtolower( urlencode( $post_name ) ) == $check_name && get_post_field( 'post_name', $ID ) == $check_name ) $post_name = $check_name; else // new post, or slug has changed. $post_name = sanitize_title($post_name); } // If the post date is empty (due to having been new or a draft) and status is not 'draft' or 'pending', set date to now if ( empty($post_date) || '0000-00-00 00:00:00' == $post_date ) $post_date = current_time('mysql'); // validate the date $mm = substr( $post_date, 5, 2 ); $jj = substr( $post_date, 8, 2 ); $aa = substr( $post_date, 0, 4 ); $valid_date = wp_checkdate( $mm, $jj, $aa, $post_date ); if ( !$valid_date ) { if ( $wp_error ) return new WP_Error( 'invalid_date', __( 'Whoops, the provided date is invalid.' ) ); else return 0; } if ( empty($post_date_gmt) || '0000-00-00 00:00:00' == $post_date_gmt ) { if ( !in_array( $post_status, array( 'draft', 'pending', 'auto-draft' ) ) ) $post_date_gmt = get_gmt_from_date($post_date); else $post_date_gmt = '0000-00-00 00:00:00'; } if ( $update || '0000-00-00 00:00:00' == $post_date ) { $post_modified = current_time( 'mysql' ); $post_modified_gmt = current_time( 'mysql', 1 ); } else { $post_modified = $post_date; $post_modified_gmt = $post_date_gmt; } if ( 'publish' == $post_status ) { $now = gmdate('Y-m-d H:i:59'); if ( mysql2date('U', $post_date_gmt, false) > mysql2date('U', $now, false) ) $post_status = 'future'; } elseif( 'future' == $post_status ) { $now = gmdate('Y-m-d H:i:59'); if ( mysql2date('U', $post_date_gmt, false) <= mysql2date('U', $now, false) ) $post_status = 'publish'; } if ( empty($comment_status) ) { if ( $update ) $comment_status = 'closed'; else $comment_status = get_option('default_comment_status'); } if ( empty($ping_status) ) $ping_status = get_option('default_ping_status'); if ( isset($to_ping) ) $to_ping = sanitize_trackback_urls( $to_ping ); else $to_ping = ''; if ( ! isset($pinged) ) $pinged = ''; if ( isset($post_parent) ) $post_parent = (int) $post_parent; else $post_parent = 0; // Check the post_parent to see if it will cause a hierarchy loop $post_parent = apply_filters( 'wp_insert_post_parent', $post_parent, $post_ID, compact( array_keys( $postarr ) ), $postarr ); if ( isset($menu_order) ) $menu_order = (int) $menu_order; else $menu_order = 0; if ( !isset($post_password) || 'private' == $post_status ) $post_password = ''; $post_name = wp_unique_post_slug($post_name, $post_ID, $post_status, $post_type, $post_parent); // expected_slashed (everything!) $data = compact( array( 'post_author', 'post_date', 'post_date_gmt', 'post_content', 'post_content_filtered', 'post_title', 'post_excerpt', 'post_status', 'post_type', 'comment_status', 'ping_status', 'post_password', 'post_name', 'to_ping', 'pinged', 'post_modified', 'post_modified_gmt', 'post_parent', 'menu_order', 'guid' ) ); $data = apply_filters('wp_insert_post_data', $data, $postarr); $data = stripslashes_deep( $data ); $where = array( 'ID' => $post_ID ); if ( $update ) { do_action( 'pre_post_update', $post_ID ); if ( false === $wpdb->update( $wpdb->posts, $data, $where ) ) { if ( $wp_error ) return new WP_Error('db_update_error', __('Could not update post in the database'), $wpdb->last_error); else return 0; } } else { if ( isset($post_mime_type) ) $data['post_mime_type'] = stripslashes( $post_mime_type ); // This isn't in the update // If there is a suggested ID, use it if not already present if ( !empty($import_id) ) { $import_id = (int) $import_id; if ( ! $wpdb->get_var( $wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE ID = %d", $import_id) ) ) { $data['ID'] = $import_id; } } if ( false === $wpdb->insert( $wpdb->posts, $data ) ) { if ( $wp_error ) return new WP_Error('db_insert_error', __('Could not insert post into the database'), $wpdb->last_error); else return 0; } $post_ID = (int) $wpdb->insert_id; // use the newly generated $post_ID $where = array( 'ID' => $post_ID ); } if ( empty($data['post_name']) && !in_array( $data['post_status'], array( 'draft', 'pending', 'auto-draft' ) ) ) { $data['post_name'] = sanitize_title($data['post_title'], $post_ID); $wpdb->update( $wpdb->posts, array( 'post_name' => $data['post_name'] ), $where ); } if ( is_object_in_taxonomy($post_type, 'category') ) wp_set_post_categories( $post_ID, $post_category ); if ( isset( $tags_input ) && is_object_in_taxonomy($post_type, 'post_tag') ) wp_set_post_tags( $post_ID, $tags_input ); // new-style support for all custom taxonomies if ( !empty($tax_input) ) { foreach ( $tax_input as $taxonomy => $tags ) { $taxonomy_obj = get_taxonomy($taxonomy); if ( is_array($tags) ) // array = hierarchical, string = non-hierarchical. $tags = array_filter($tags); if ( current_user_can($taxonomy_obj->cap->assign_terms) ) wp_set_post_terms( $post_ID, $tags, $taxonomy ); } } $current_guid = get_post_field( 'guid', $post_ID ); // Set GUID if ( !$update && '' == $current_guid ) $wpdb->update( $wpdb->posts, array( 'guid' => get_permalink( $post_ID ) ), $where ); clean_post_cache( $post_ID ); $post = get_post($post_ID); if ( !empty($page_template) && 'page' == $data['post_type'] ) { $post->page_template = $page_template; $page_templates = wp_get_theme()->get_page_templates(); if ( 'default' != $page_template && ! isset( $page_templates[ $page_template ] ) ) { if ( $wp_error ) return new WP_Error('invalid_page_template', __('The page template is invalid.')); else return 0; } update_post_meta($post_ID, '_wp_page_template', $page_template); } wp_transition_post_status($data['post_status'], $previous_status, $post); if ( $update ) { do_action('edit_post', $post_ID, $post); $post_after = get_post($post_ID); do_action( 'post_updated', $post_ID, $post_after, $post_before); } do_action('save_post', $post_ID, $post); do_action('wp_insert_post', $post_ID, $post); return $post_ID; } function etwp_write_post() { global $user_ID; /* if ( isset($_POST['post_type']) ) $ptype = get_post_type_object($_POST['post_type']); else $ptype = get_post_type_object('post'); if ( !current_user_can( $ptype->cap->edit_posts ) ) { if ( 'page' == $ptype->name ) return new WP_Error( 'edit_pages', __( 'You are not allowed to create pages on this site.' ) ); else return new WP_Error( 'edit_posts', __( 'You are not allowed to create posts or drafts on this site.' ) ); } */ $_POST['post_mime_type'] = ''; // Clear out any data in internal vars. unset( $_POST['filter'] ); /* // Edit don't write if we have a post id. if ( isset( $_POST['post_ID'] ) ) 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 = etwp_insert_post( $_POST ); if ( is_wp_error( $post_ID ) ) return $post_ID; if ( empty($post_ID) ) return 0; //add_meta( $post_ID ); //zzcity add if ( isset($_POST['meta']) && $_POST['meta'] ) { foreach ( $_POST['meta'] as $key => $value ) add_post_meta( $post_ID, $value['key'], $value['value']); } add_post_meta( $post_ID, '_edit_last', $GLOBALS['current_user']->ID ); // Now that we have an ID we can fix any attachment anchor hrefs _fix_attachment_links( $post_ID ); wp_set_post_lock( $post_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; $tz = get_option('timezone_string'); if ( $tz ) { date_default_timezone_set( $tz ); } $zztime=0; if (isset($_POST['zzdelay']) ) { $zzdelay=(int)$_POST['zzdelay']; $zztime=time()+$zzdelay*60*60; } if (!empty($_POST['zztime']) ) { $zztime=strtotime($_POST['zztime']); } if($zztime>0){ $_POST['hidden_aa']=date('Y'); $_POST['hidden_mm']=date('n'); $_POST['hidden_jj']=date('j'); $_POST['hidden_hh']=date('H'); $_POST['hidden_mn']=date('i'); $_POST['hidden_ss']=date('s'); // $zztime=date('Y-m-d H:i:s',$zztime); // $zztime=get_gmt_from_date($zztime); // $zztime=strtotime($zztime); $_POST['aa']=date('Y',$zztime); $_POST['mm']=date('n',$zztime); $_POST['jj']=date('j',$zztime); $_POST['hh']=date('H',$zztime); $_POST['mn']=date('i',$zztime); $_POST['ss']=date('s',$zztime); } 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 ( '1' == $_POST['sticky'] ) stick_post( $post_ID ); // Post Formats if ( isset( $_POST['post_format'] ) ) { if ( $_POST['post_format']!=='0' ){ set_post_format( $post_ID, $_POST['post_format'] ); } } if (is_numeric($post_ID)){ echo('[reply]comment_post_ID='.$post_ID.'[/reply]');} else{ echo('[err]POST failure[/err]'); exit; } $attachs=explode(',',$_POST['etattachs']); $flagthumb=0; foreach($attachs as $aindex => $afile){ if(trim($afile)!=''){ $thumbnail_id = et_media_handle_upload($afile, $post_ID); if($_POST['litpic']==$afile){ set_post_thumbnail( $post_ID, $thumbnail_id ); }else{ $aext=zzfileext($afile); if((zzis_image_ext($aext))&&($flagthumb==0)){ set_post_thumbnail( $post_ID, $thumbnail_id ); $flagthumb=1; } } } } //附件 function zzfileext($filename) { return strtolower(substr(strrchr($filename, '.'), 1, 10)); } function zzis_image_ext($ext) { static $imgext = array('jpg', 'jpeg', 'gif', 'png', 'bmp'); return in_array($ext, $imgext) ? true : false; } function mime($file) { $mime = ''; if (!file_exists($file)) { return ''; } if (function_exists('finfo_open')) { $finfo = finfo_open(FILEINFO_MIME); $mime = finfo_file($finfo, $file); finfo_close($finfo); } elseif (function_exists('mime_content_type')) { $mime = mime_content_type($file); } elseif (function_exists('exif_imagetype')){ $mime = image_type_to_mime_type(exif_imagetype($file)); } return $mime; } function et_media_handle_upload($imageurl, $post_id, $post_data = array(), $overrides = array( 'test_form' => false )) { $time = current_time('mysql'); /* if ( $post = get_post($post_id) ) { if ( substr( $post->post_date, 0, 4 ) > 0 ) $time = $post->post_date; } */ $temp = explode('/', $imageurl); $name = trim($temp[count($temp)-1]); /* $name = $_FILES[$file_id]['name']; $file = wp_handle_upload($_FILES[$file_id], $overrides, $time); if ( isset($file['error']) ) return new WP_Error( 'upload_error', $file['error'] ); $name_parts = pathinfo($name); $name = trim( substr( $name, 0, -(1 + strlen($name_parts['extension'])) ) ); */ //$url = $file['url']; $url = 'http://'.$_SERVER['HTTP_HOST'].$imageurl; // $type = $file['type']; $path=dirname(realpath($_SERVER['SCRIPT_FILENAME'])); $path=$path.'/..'.$imageurl; $type = mime($path); if($type=='')$type='image/*'; //$file = $file['file']; $file = $path; $title = $name; $content = ''; // use image exif/iptc data for title and caption defaults if possible if ( $image_meta = @wp_read_image_metadata($file) ) { if ( trim( $image_meta['title'] ) && ! is_numeric( sanitize_title( $image_meta['title'] ) ) ) $title = $image_meta['title']; if ( trim( $image_meta['caption'] ) ) $content = $image_meta['caption']; } // Construct the attachment array $attachment = array_merge( array( 'post_mime_type' => $type, 'guid' => $url, 'post_parent' => $post_id, 'post_title' => $title, 'post_content' => $content, ), $post_data ); // This should never be set as it would then overwrite an existing attachment. if ( isset( $attachment['ID'] ) ) unset( $attachment['ID'] ); // Save the data $id = wp_insert_attachment($attachment, $file, $post_id); if ( !is_wp_error($id) ) { wp_update_attachment_metadata( $id,wp_generate_attachment_metadata( $id, $file )); } return $id; } /** * 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’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’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'); ?>