WordPress.org

Make WordPress Core

Ticket #22613: 22613.4.diff

File 22613.4.diff, 4.8 KB (added by nacin, 3 years ago)
  • wp-includes/js/media-views.js

     
    15581558                                        multiple:   options.multiple ? 'reset' : false, 
    15591559                                        editable:   true, 
    15601560 
     1561                                        // If the user isn't allowed to edit fields, 
     1562                                        // can they still edit it locally? 
     1563                                        allowLocalEdits: true, 
     1564 
    15611565                                        // Show the attachment display settings. 
    15621566                                        displaySettings: true, 
    15631567                                        // Update user settings when users adjust the 
     
    28162820                                options.can.save = !! options.nonces.update; 
    28172821                        } 
    28182822 
     2823                        if ( this.controller.state().get('allowLocalEdits') ) 
     2824                                options.allowLocalEdits = true; 
     2825 
    28192826                        this.views.detach(); 
    28202827                        this.$el.html( this.template( options ) ); 
    28212828 
  • wp-includes/media.php

     
    16581658                                <a class="check" href="#" title="<?php _e('Deselect'); ?>"><div class="media-modal-icon"></div></a> 
    16591659                        <# } #> 
    16601660                </div> 
    1661                 <# if ( data.describe ) { #> 
     1661                <# 
     1662                var maybeReadOnly = data.can.save || data.allowLocalEdits ? '' : 'readonly'; 
     1663                if ( data.describe ) { #> 
    16621664                        <# if ( 'image' === data.type ) { #> 
    16631665                                <input type="text" value="{{ data.caption }}" class="describe" data-setting="caption" 
    1664                                         placeholder="<?php esc_attr_e('Describe this image&hellip;'); ?>" /> 
     1666                                        placeholder="<?php esc_attr_e('Describe this image&hellip;'); ?>" {{ maybeReadOnly }} /> 
    16651667                        <# } else { #> 
    16661668                                <input type="text" value="{{ data.title }}" class="describe" data-setting="title" 
    16671669                                        <# if ( 'video' === data.type ) { #> 
     
    16701672                                                placeholder="<?php esc_attr_e('Describe this audio file&hellip;'); ?>" 
    16711673                                        <# } else { #> 
    16721674                                                placeholder="<?php esc_attr_e('Describe this media file&hellip;'); ?>" 
    1673                                         <# } #> /> 
     1675                                        <# } #> {{ maybeReadOnly }} /> 
    16741676                        <# } #> 
    16751677                <# } #> 
    16761678        </script> 
     
    17131715                        </div> 
    17141716                </div> 
    17151717 
    1716                 <# if ( 'image' === data.type ) { #> 
     1718                <# 
     1719                var maybeReadOnly = data.can.save || data.allowLocalEdits ? '' : 'readonly'; 
     1720                if ( 'image' === data.type ) { #> 
    17171721                        <label class="setting" data-setting="title"> 
    17181722                                <span><?php _e('Title'); ?></span> 
    1719                                 <input type="text" value="{{ data.title }}" /> 
     1723                                <input type="text" value="{{ data.title }}" {{ maybeReadOnly }} /> 
    17201724                        </label> 
    17211725                        <label class="setting" data-setting="caption"> 
    17221726                                <span><?php _e('Caption'); ?></span> 
    1723                                 <textarea 
     1727                                <textarea {{ maybeReadOnly }} 
    17241728                                        placeholder="<?php esc_attr_e('Describe this image&hellip;'); ?>" 
    17251729                                        >{{ data.caption }}</textarea> 
    17261730                        </label> 
    17271731                        <label class="setting" data-setting="alt"> 
    17281732                                <span><?php _e('Alt Text'); ?></span> 
    1729                                 <input type="text" value="{{ data.alt }}" /> 
     1733                                <input type="text" value="{{ data.alt }}" {{ maybeReadOnly }} /> 
    17301734                        </label> 
    17311735                <# } else { #> 
    17321736                        <label class="setting" data-setting="title"> 
    17331737                                <span><?php _e('Title'); ?></span> 
    1734                                 <input type="text" value="{{ data.title }}" 
     1738                                <input type="text" value="{{ data.title }}" {{ maybeReadOnly }} 
    17351739                                <# if ( 'video' === data.type ) { #> 
    17361740                                        placeholder="<?php esc_attr_e('Describe this video&hellip;'); ?>" 
    17371741                                <# } else if ( 'audio' === data.type ) { #> 
  • wp-admin/includes/media.php

     
    12901290                'description' => false, 
    12911291        ); 
    12921292 
     1293        $user_can_edit = current_user_can( 'edit_post', $attachment_id ); 
     1294 
    12931295        $args = wp_parse_args( $args, $default_args ); 
    12941296        $args = apply_filters( 'get_media_item_args', $args ); 
    12951297 
     
    13141316                        foreach ( $terms as $term ) 
    13151317                                $values[] = $term->slug; 
    13161318                        $t['value'] = join(', ', $values); 
     1319                        $t['taxonomy'] = true; 
    13171320 
    13181321                        $form_fields[$taxonomy] = $t; 
    13191322                } 
     
    13631366                        continue; 
    13641367                } 
    13651368 
     1369                $readonly      = ! $user_can_edit && ! empty( $field['taxonomy'] ) ? " readonly='readonly' " : ''; 
    13661370                $required      = $field['required'] ? '<span class="alignright"><abbr title="required" class="required">*</abbr></span>' : ''; 
    13671371                $aria_required = $field['required'] ? " aria-required='true' " : ''; 
    13681372                $class  = 'compat-field-' . $id; 
     
    13811385                        } 
    13821386                        $item .= "<textarea id='$id_attr' name='$name' $aria_required>" . $field['value'] . '</textarea>'; 
    13831387                } else { 
    1384                         $item .= "<input type='text' class='text' id='$id_attr' name='$name' value='" . esc_attr( $field['value'] ) . "' $aria_required />"; 
     1388                        $item .= "<input type='text' class='text' id='$id_attr' name='$name' value='" . esc_attr( $field['value'] ) . "' $readonly $aria_required />"; 
    13851389                } 
    13861390                if ( !empty( $field['helps'] ) ) 
    13871391                        $item .= "<p class='help'>" . join( "</p>\n<p class='help'>", array_unique( (array) $field['helps'] ) ) . '</p>';