WordPress.org

Make WordPress Core

Ticket #37989: 37989.3.diff

File 37989.3.diff, 1.9 KB (added by joemcgill, 11 months ago)
  • src/wp-admin/includes/media.php

    diff --git src/wp-admin/includes/media.php src/wp-admin/includes/media.php
    index 35aa791..1405e85 100644
    function media_handle_upload($file_id, $post_id, $post_data = array(), $override 
    278278                        $time = $post->post_date; 
    279279        } 
    280280 
    281         $name = $_FILES[$file_id]['name']; 
    282281        $file = wp_handle_upload($_FILES[$file_id], $overrides, $time); 
    283282 
    284283        if ( isset($file['error']) ) 
    285284                return new WP_Error( 'upload_error', $file['error'] ); 
    286285 
    287         $basename = pathinfo( $name, PATHINFO_BASENAME ); 
     286        $name = pathinfo( $_FILES[$file_id]['name'], PATHINFO_FILENAME ); 
    288287 
    289288        $url = $file['url']; 
    290289        $type = $file['type']; 
    291290        $file = $file['file']; 
    292         $title = sanitize_title( $basename ); 
     291        $title = sanitize_text_field( $name ); 
    293292        $content = ''; 
    294293        $excerpt = ''; 
    295294 
  • tests/phpunit/tests/media.php

    diff --git tests/phpunit/tests/media.php tests/phpunit/tests/media.php
    index debf5ac..5b4b5de 100644
    VIDEO; 
    773773        } 
    774774 
    775775        /** 
     776         * @ticket 37989 
     777         */ 
     778        public function test_media_handle_upload_expected_titles() { 
     779                $test_file = DIR_TESTDATA . '/images/test-image.jpg'; 
     780 
     781                // Make a copy of this file as it gets moved during the file upload 
     782                $tmp_name = wp_tempnam( $test_file ); 
     783 
     784                copy( $test_file, $tmp_name ); 
     785 
     786                $_FILES['upload'] = array( 
     787                        'tmp_name' => $tmp_name, 
     788                        'name'     => 'This is a test.jpg', 
     789                        'type'     => 'image/jpeg', 
     790                        'error'    => 0, 
     791                        'size'     => filesize( $test_file ), 
     792                ); 
     793 
     794                $post_id = media_handle_upload( 'upload', 0, array(), array( 'action' => 'test_upload_titles', 'test_form' => false ) ); 
     795 
     796                unset( $_FILES['upload'] ); 
     797 
     798                $post = get_post( $post_id ); 
     799 
     800                // Clean up. 
     801                wp_delete_attachment( $post_id ); 
     802 
     803                $this->assertEquals( 'This is a test', $post->post_title ); 
     804        } 
     805 
     806        /** 
    776807         * @ticket 33016 
    777808         */ 
    778809        function test_multiline_cdata() {