WordPress.org

Make WordPress Core

Changeset 17999


Ignore:
Timestamp:
05/22/11 23:25:28 (3 years ago)
Author:
ryan
Message:

Mark import attachments as private. Schedule job to delete old import attachments. Introduce attachment context.

Location:
trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/custom-background.php

    r17886 r17999  
    339339            'post_content' => $url, 
    340340            'post_mime_type' => $type, 
    341             'guid' => $url 
     341            'guid' => $url, 
     342            'context' => 'custom-background' 
    342343        ); 
    343344 
  • trunk/wp-admin/custom-header.php

    r17814 r17999  
    645645        'post_content' => $url, 
    646646        'post_mime_type' => $type, 
    647         'guid' => $url); 
     647        'guid' => $url, 
     648        'context' => 'custom-header'); 
    648649 
    649650        // Save the data 
     
    738739            'post_content' => $url, 
    739740            'post_mime_type' => 'image/jpeg', 
    740             'guid' => $url 
     741            'guid' => $url, 
     742            'context' => 'custom-header' 
    741743        ); 
    742744 
  • trunk/wp-admin/includes/import.php

    r16608 r17999  
    8181        'post_content' => $url, 
    8282        'post_mime_type' => $type, 
    83         'guid' => $url 
     83        'guid' => $url, 
     84        'context' => 'import', 
     85        'post_status' => 'private' 
    8486    ); 
    8587 
     
    8789    $id = wp_insert_attachment( $object, $file ); 
    8890 
     91    // schedule a cleanup for one day from now in case of failed import or missing wp_import_cleanup() call 
     92    wp_schedule_single_event( time() + 86400, 'importer_scheduled_cleanup', array( $id ) ); 
     93 
    8994    return array( 'file' => $file, 'id' => $id ); 
    9095} 
  • trunk/wp-admin/includes/post.php

    r17996 r17999  
    997997    $q['cat'] = isset( $q['cat'] ) ? (int) $q['cat'] : 0; 
    998998    $q['post_type'] = 'attachment'; 
    999     $q['post_status'] = isset( $q['status'] ) && 'trash' == $q['status'] ? 'trash' : 'inherit'; 
     999    $post_type = get_post_type_object( 'attachment' ); 
     1000    $states = array( 'inherit' ); 
     1001    if ( current_user_can( $post_type->cap->read_private_posts ) ) 
     1002        $states[] = 'private'; 
     1003 
     1004    $q['post_status'] = isset( $q['status'] ) && 'trash' == $q['status'] ? 'trash' : $states; 
    10001005    $media_per_page = (int) get_user_option( 'upload_per_page' ); 
    10011006    if ( empty( $media_per_page ) || $media_per_page < 1 ) 
  • trunk/wp-includes/default-filters.php

    r17994 r17999  
    258258add_action( 'after_wp_tiny_mce',          'wp_preload_dialogs',      10, 1 ); 
    259259add_action( 'admin_init',                 'send_frame_options_header', 10, 0 ); 
     260add_action( 'importer_scheduled_cleanup', 'wp_delete_attachment'           ); 
    260261 
    261262// Navigation menu actions 
  • trunk/wp-includes/post.php

    r17889 r17999  
    558558        return false; 
    559559 
    560     // Unattached attachments are assumed to be published. 
    561     if ( ('attachment' == $post->post_type) && ('inherit' == $post->post_status) && ( 0 == $post->post_parent) ) 
    562         return 'publish'; 
    563  
    564     if ( ('attachment' == $post->post_type) && $post->post_parent && ($post->ID != $post->post_parent) ) 
    565         return get_post_status($post->post_parent); 
     560    if ( 'attachment' == $post->post_type ) { 
     561        if ( 'private' == $post->post_status ) 
     562            return 'private'; 
     563 
     564        // Unattached attachments are assumed to be published 
     565        if ( ( 'inherit' == $post->post_status ) && ( 0 == $post->post_parent) ) 
     566            return 'publish'; 
     567 
     568        // Inherit status from the parent 
     569        if ( $post->post_parent && ( $post->ID != $post->post_parent ) ) 
     570            return get_post_status($post->post_parent); 
     571    } 
    566572 
    567573    return $post->post_status; 
     
    35443550    global $wpdb, $user_ID; 
    35453551 
    3546     $defaults = array('post_status' => 'draft', 'post_type' => 'post', 'post_author' => $user_ID, 
     3552    $defaults = array('post_status' => 'inherit', 'post_type' => 'post', 'post_author' => $user_ID, 
    35473553        'ping_status' => get_option('default_ping_status'), 'post_parent' => 0, 
    35483554        'menu_order' => 0, 'to_ping' =>  '', 'pinged' => '', 'post_password' => '', 
    3549         'guid' => '', 'post_content_filtered' => '', 'post_excerpt' => '', 'import_id' => 0); 
     3555        'guid' => '', 'post_content_filtered' => '', 'post_excerpt' => '', 'import_id' => 0, 'context' => ''); 
    35503556 
    35513557    $object = wp_parse_args($object, $defaults); 
     
    35623568 
    35633569    $post_type = 'attachment'; 
    3564     $post_status = 'inherit'; 
     3570 
     3571    if ( ! in_array( $post_status, array( 'inherit', 'private' ) ) ) 
     3572        $post_status = 'inherit'; 
    35653573 
    35663574    // Make sure we set a valid category. 
     
    36643672    if ( isset($post_parent) && $post_parent < 0 ) 
    36653673        add_post_meta($post_ID, '_wp_attachment_temp_parent', $post_parent, true); 
     3674 
     3675    if ( ! empty( $context ) ) 
     3676        add_post_meta( $post_ID, '_wp_attachment_context', $context, true ); 
    36663677 
    36673678    if ( $update) { 
Note: See TracChangeset for help on using the changeset viewer.