WordPress.org

Make WordPress Core

Ticket #23926: 23926.2.diff

File 23926.2.diff, 4.2 KB (added by wonderboymusic, 5 years ago)
  • wp-admin/includes/media.php

    diff --git wp-admin/includes/media.php wp-admin/includes/media.php
    index 573c4db..e2257fc 100644
    function media_handle_upload($file_id, $post_id, $post_data = array(), $override 
    224224        $title = $name;
    225225        $content = '';
    226226
     227        if ( preg_match( '#^audio#', $type ) ) {
     228                $meta = wp_read_audio_metadata( $file );
     229                if ( ! empty( $meta['title'] ) )
     230                        $title = $meta['title'];
     231
     232                $content = trim( sprintf(
     233                        '%s%s%s.',
     234                        ! empty( $title ) ? '"' . $title . '"' : '',
     235                        ! empty( $meta['album'] ) ? sprintf( ' %s %s', __( 'from' ), $meta['album'] ) : '',
     236                        ! empty( $meta['artist'] ) ? sprintf( ' %s %s', __( 'by' ), $meta['artist'] ) : ''
     237                ) );
     238
     239                if ( ! empty( $meta['year'] ) )
     240                        $content .= sprintf( ' %s %d.', __( 'Released:' ), $meta['year'] );
     241
     242                if ( ! empty( $meta['track_number'] ) ) {
     243                        list( $track, $length ) = explode( '/', $meta['track_number'] );
     244                        $content .= sprintf( ' %s %d %s %d.', __( 'Track' ), $track, __( 'of' ), $length );
     245                }
     246
     247                if ( ! empty( $meta['genre'] ) )
     248                        $content .= sprintf( ' %s %s.', __( 'Genre:' ), $meta['genre'] );
     249
     250        } elseif ( preg_match( '#^video#', $type ) ) {
     251                $meta = wp_read_video_metadata( $file );
    227252        // use image exif/iptc data for title and caption defaults if possible
    228         if ( $image_meta = @wp_read_image_metadata($file) ) {
     253        } elseif ( $image_meta = @wp_read_image_metadata( $file ) ) {
    229254                if ( trim( $image_meta['title'] ) && ! is_numeric( sanitize_title( $image_meta['title'] ) ) )
    230255                        $title = $image_meta['title'];
    231256                if ( trim( $image_meta['caption'] ) )
    function edit_form_image_editor() { 
    23132338        elseif ( $attachment_id && 0 === strpos( $post->post_mime_type, 'video/' ) ):
    23142339
    23152340                $meta = wp_get_attachment_metadata( $attachment_id );
     2341                $w = ! empty( $meta['width'] ) ? min( $meta['width'], 600 ) : 0;
     2342                $h = 0;
     2343                if ( ! empty( $meta['height'] ) )
     2344                        $h = $meta['height'];
     2345                if ( $w < $meta['width'] )
     2346                        $h = ceil( $w * 0.6 );
     2347
    23162348                $shortcode = sprintf( '[video src="%s"%s%s]',
    23172349                        $att_url,
    2318                         empty( $meta['width'] ) ? '' : sprintf( ' width="%d"', $meta['width'] ),
    2319                         empty( $meta['height'] ) ? '' : sprintf( ' height="%d"', $meta['height'] )
     2350                        empty( $meta['width'] ) ? '' : sprintf( ' width="%d"', $w ),
     2351                        empty( $meta['height'] ) ? '' : sprintf( ' height="%d"', $h )
    23202352                );
    23212353                echo do_shortcode( $shortcode );
    23222354
    function attachment_submitbox_metadata() { 
    23902422                ?></strong>
    23912423        </div>
    23922424
    2393 <?php if ( $media_dims ) : ?>
     2425<?php
     2426        if ( preg_match( '#^audio|video#', $post->post_mime_type ) ):
     2427
     2428                if ( ! empty( $meta['mime_type'] ) ) : ?>
     2429                <div class="misc-pub-section">
     2430                        <?php _e( 'Mime-type:' ); ?> <strong><?php echo $meta['mime_type']; ?></strong>
     2431                </div>
     2432        <?php
     2433                endif;
     2434
     2435                if ( ! empty( $meta['bitrate'] ) ) : ?>
     2436                <div class="misc-pub-section">
     2437                        <?php _e( 'Bitrate:' ); ?> <strong><?php
     2438                                echo $meta['bitrate'] / 1000, 'kb/s';
     2439
     2440                                if ( ! empty( $meta['bitrate_mode'] ) )
     2441                                        echo ' ', strtoupper( $meta['bitrate_mode'] );
     2442
     2443                        ?></strong>
     2444                </div>
     2445        <?php
     2446                endif;
     2447
     2448                if ( ! empty( $meta['audio']['dataformat'] ) ) : ?>
     2449                <div class="misc-pub-section">
     2450                        <?php _e( 'Audio Format:' ); ?> <strong><?php echo $meta['audio']['dataformat']; ?></strong>
     2451                </div>
     2452        <?php
     2453                endif;
     2454
     2455                if ( ! empty( $meta['audio']['codec'] ) ) : ?>
     2456                <div class="misc-pub-section">
     2457                        <?php _e( 'Audio Codec:' ); ?> <strong><?php echo $meta['audio']['codec']; ?></strong>
     2458                </div>
     2459        <?php
     2460                endif;
     2461
     2462                if ( ! empty( $meta['year'] ) ) : ?>
     2463                <div class="misc-pub-section">
     2464                        <?php _e( 'Year:' ); ?> <strong><?php echo $meta['year']; ?></strong>
     2465                </div>
     2466        <?php
     2467                endif;
     2468
     2469                if ( ! empty( $meta['genre'] ) ) : ?>
     2470                <div class="misc-pub-section">
     2471                        <?php _e( 'Genre:' ); ?> <strong><?php echo $meta['genre']; ?></strong>
     2472                </div>
     2473        <?php
     2474                endif;
     2475
     2476                if ( ! empty( $meta['length_formatted'] ) ) : ?>
     2477                <div class="misc-pub-section">
     2478                        <?php _e( 'Length:' ); ?> <strong><?php echo $meta['length_formatted']; ?></strong>
     2479                </div>
     2480        <?php
     2481                endif;
     2482
     2483        endif;
     2484
     2485        if ( $media_dims ) : ?>
    23942486        <div class="misc-pub-section">
    23952487                <?php _e( 'Dimensions:' ); ?> <strong><?php echo $media_dims; ?></strong>
    23962488        </div>