Make WordPress Core


Ignore:
Timestamp:
12/13/2005 07:19:56 PM (20 years ago)
Author:
ryan
Message:

Attachment enhancements from skeltoac. fixes #2074

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/post.php

    r3262 r3303  
    7575    if ($post->post_status == 'static')
    7676        include('edit-page-form.php');
     77    elseif ($post->post_status == 'attachment')
     78        include('edit-attachment-form.php');
    7779    else
    7880        include('edit-form-advanced.php');
     
    8587    <?php
    8688    break;
     89
     90case 'editattachment':
     91    $post_id = (int) $_POST['post_ID'];
     92
     93    // Don't let these be changed
     94    unset($_POST['guid']);
     95    $_POST['post_status'] = 'attachment';
     96
     97    // Update the thumbnail filename
     98    $oldmeta = $newmeta = get_post_meta($post_id, '_wp_attachment_metadata', true);
     99    $newmeta['thumb'] = $_POST['thumb'];
     100
     101    if ( '' !== $oldmeta )
     102        update_post_meta($post_id, '_wp_attachment_metadata', $newmeta, $oldmeta);
     103    else
     104        add_post_meta($post_id, '_wp_attachment_metadata', $newmeta);
    87105
    88106case 'editpost':
     
    99117        if ( $_POST['referredby'] == 'redo' )
    100118            $location = get_permalink( $post_ID );
     119    } elseif ($action == 'editattachment') {
     120        $location = 'attachments.php';
    101121    } else {
    102122        $location = 'post.php';
     
    111131
    112132    $post_id = (isset($_GET['post']))  ? intval($_GET['post']) : intval($_POST['post_ID']);
     133
     134    $post = & get_post($post_id);
    113135   
    114136    if ( !current_user_can('edit_post', $post_id) )
    115137        die( __('You are not allowed to delete this post.') );
    116138
    117     if (! wp_delete_post($post_id))
     139    if ( (($post->post_status != 'attachment') && !wp_delete_post($post_id)) || !wp_delete_attachment($post_id))
    118140        die( __('Error in deleting...') );
    119141
    120142    $sendback = $_SERVER['HTTP_REFERER'];
    121143    if (strstr($sendback, 'post.php')) $sendback = get_settings('siteurl') .'/wp-admin/post.php';
     144    elseif (strstr($sendback, 'attachments.php')) $sendback = get_settings('siteurl') .'/wp-admin/attachments.php';
    122145    $sendback = preg_replace('|[^a-z0-9-~+_.?#=&;,/:]|i', '', $sendback);
    123146    header ('Location: ' . $sendback);
Note: See TracChangeset for help on using the changeset viewer.