WordPress.org

Make WordPress Core

Ticket #5911: 5911-17.diff

File 5911-17.diff, 9.2 KB (added by andy, 6 years ago)

Fix insert, gallery, sizing, type queries, errors, thumbs, type fallback.

  • wp-includes/post-template.php

     
    381381 
    382382        $post_title = attribute_escape($_post->post_title); 
    383383 
    384         $link_text = wp_get_attachment_image($attachment_id, $size); 
     384        $link_text = wp_get_attachment_image($id, $size); 
    385385        if ( !$link_text ) 
    386386                $link_text = $_post->post_title; 
    387387 
  • wp-includes/post.php

     
    471471        $query .= empty( $post_parent ) ? '' : $wpdb->prepare("AND $wpdb->posts.post_parent = %d ", $post_parent); 
    472472        // expected_slashed ($meta_key, $meta_value) -- Also, this looks really funky, doesn't seem like it works 
    473473        $query .= empty( $meta_key ) | empty($meta_value)  ? '' : " AND ($wpdb->posts.ID = $wpdb->postmeta.post_id AND $wpdb->postmeta.meta_key = '$meta_key' AND $wpdb->postmeta.meta_value = '$meta_value' )"; 
     474        $query .= empty( $post_mime_type ) ? '' : wp_post_mime_type_where($post_mime_type); 
    474475        $query .= " GROUP BY $wpdb->posts.ID ORDER BY " . $orderby . ' ' . $order; 
    475476        if ( 0 < $numberposts ) 
    476477                $query .= $wpdb->prepare(" LIMIT %d,%d", $offset, $numberposts); 
  • wp-includes/js/swfupload/handlers.js

     
    2020        jQuery('#media-items').append('<div id="media-item-' + fileObj.id + '" class="media-item child-of-' + post_id + '"><div class="filename original">' + fileObj.name + '</div><div class="progress"><div class="bar"></div></div></div>'); 
    2121 
    2222        // Disable the submit button 
    23         jQuery('#insert-media').attr('disabled', 'disabled'); 
     23        jQuery('#insert-gallery').attr('disabled', 'disabled'); 
    2424} 
    2525 
    2626function uploadStart(fileObj) { return true; } 
     
    107107function uploadComplete(fileObj) { 
    108108        // If no more uploads queued, enable the submit button 
    109109        if ( swfu.getStats().files_queued == 0 ) 
    110                 jQuery('#insert-media').attr('disabled', ''); 
     110                jQuery('#insert-gallery').attr('disabled', ''); 
    111111} 
    112112 
    113113 
  • wp-includes/shortcodes.php

     
    128128        return $out; 
    129129} 
    130130 
    131 add_shortcode('gallery', 'gallery_shortcode'); 
    132  
    133 function gallery_shortcode($attr) { 
    134         global $post; 
    135  
    136         // Allow plugins/themes to override the default gallery template. 
    137         $output = apply_filters('post_gallery', '', $attr); 
    138         if ( $output != '' ) 
    139                 return $output; 
    140  
    141         $attachments = get_children("post_parent=$post->ID&post_type=attachment&orderby=\"menu_order ASC, ID ASC\""); 
    142 /* 
    143         foreach ( $attachments as $id => $attachment ) { 
    144                 $meta = get_post_custom($id); 
    145                 if ( $meta ) foreach ( $meta as $k => $v ) 
    146                         $attachments[$id]->$k = $v; 
    147                 if ( isset($attachments[$id]->_wp_attachment_metadata[0]) ) 
    148                         $attachments[$id]->meta = unserialize($attachments[$id]->_wp_attachment_metadata[0]); 
    149         } 
    150 */ 
    151  
    152         $output = " 
    153                 <style type='text/css'> 
    154                         .gallery { 
    155                                 margin: auto; 
    156                         } 
    157                         .gallery div { 
    158                                 float: left; 
    159                                 margin-top: 10px; 
    160                                 text-align: center; 
    161                                 width: 33%;                     } 
    162                         .gallery img { 
    163                                 border: 2px solid #cfcfcf; 
    164                         } 
    165                 </style> 
    166                 <div class='gallery'> 
    167 "; 
    168  
    169         if ( !empty($attachments) ) foreach ( $attachments as $id => $attachment ) { 
    170                 $src = wp_get_attachment_thumb_url($id); 
    171                 $href = get_attachment_link($id); 
    172                 $output .= " 
    173                         <div> 
    174                                 <a href='$href'><img src='$src' alt='$attachment->post_title' /></a> 
    175                         </div> 
    176 "; 
    177                 if ( ++$i % 3 == 0 ) 
    178                         $output .= '<br style="clear: both" />'; 
    179         } 
    180  
    181         $output .= " 
    182                         <br style='clear: both;' > 
    183                 </div> 
    184 "; 
    185  
    186         return $output; 
    187 } 
    188  
    189131add_filter('the_content', 'do_shortcode'); 
    190132 
    191133?> 
  • wp-includes/media.php

     
    290290        return $html; 
    291291} 
    292292 
     293 
     294add_shortcode('gallery', 'gallery_shortcode'); 
     295 
     296function gallery_shortcode($attr) { 
     297        global $post; 
     298 
     299        // Allow plugins/themes to override the default gallery template. 
     300        $output = apply_filters('post_gallery', '', $attr); 
     301        if ( $output != '' ) 
     302                return $output; 
     303 
     304        $attachments = get_children("post_parent=$post->ID&post_type=attachment&post_mime_type=image&orderby=\"menu_order ASC, ID ASC\""); 
     305 
     306        if ( empty($attachments) ) 
     307                return ''; 
     308 
     309        $output = apply_filters('gallery_style', " 
     310                <style type='text/css'> 
     311                        .gallery { 
     312                                margin: auto; 
     313                        } 
     314                        .gallery div { 
     315                                float: left; 
     316                                margin-top: 10px; 
     317                                text-align: center; 
     318                                width: 33%;                     } 
     319                        .gallery img { 
     320                                border: 2px solid #cfcfcf; 
     321                        } 
     322                </style> 
     323                <div class='gallery'>"); 
     324 
     325        foreach ( $attachments as $id => $attachment ) { 
     326                $link = get_the_attachment_link($id, false, array(128, 96), true); 
     327                $output .= " 
     328                        <div> 
     329                                $link 
     330                        </div>"; 
     331                if ( ++$i % 3 == 0 ) 
     332                        $output .= '<br style="clear: both" />'; 
     333        } 
     334 
     335        $output .= " 
     336                        <br style='clear: both;' > 
     337                </div>\n"; 
     338 
     339        return $output; 
     340} 
     341 
    293342?> 
  • wp-includes/script-loader.php

     
    9898                $this->localize( 'swfupload-handlers', 'swfuploadL10n', array( 
    9999                                'queue_limit_exceeded' => __('You have attempted to queue too many files.'), 
    100100                                'file_exceeds_size_limit' => sprintf(__('This file is too big. Your php.ini upload_max_filesize is %s.'), ini_get('upload_max_filesize')), 
    101                                 'zero_byte_file' => __('The file you selected is empty. Please select another file.'), 
    102                                 'invalid_filetype' => __('The file you choose is not an allowed file type.'), 
     101                                'zero_byte_file' => __('This file is empty. Please try another.'), 
     102                                'invalid_filetype' => __('This file type is not allowed. Please try another.'), 
    103103                                'default_error' => __('An error occurred in the upload. Please try again later.'), 
    104104                                'missing_upload_url' => __('There was a configuration error. Please contact the server administrator.'), 
    105105                                'upload_limit_exceeded' => __('You may only upload 1 file.'), 
  • wp-admin/includes/media.php

     
    5353        $html = get_image_tag($id, $alt, $title, $align, $rel, $size); 
    5454 
    5555        $rel = $rel ? ' rel="attachment wp-att-'.attribute_escape($id).'"' : ''; 
     56 
    5657        if ( $url ) 
    5758                $html = "<a href='".attribute_escape($url)."'$rel>$html</a>"; 
    58         elseif ( $size == 'thumbnail' || $size == 'medium' ) 
    59                 $html = '<a href="'.get_attachment_link($id).'"'.$rel.'>'.$html.'</a>'; 
    6059 
    6160        $html = apply_filters( 'image_send_to_editor', $html, $id, $alt, $title, $align, $url ); 
    6261 
     
    238237                                wp_set_object_terms($attachment_id, array_map('trim', preg_split('/,+/', $attachment[$t])), $t, false); 
    239238        } 
    240239 
    241         if ( isset($_POST['insert-media']) ) 
     240        if ( isset($_POST['insert-gallery']) ) 
    242241                return media_send_to_editor('[gallery]'); 
    243242 
    244243        if ( isset($_POST['send']) ) { 
    245244                $keys = array_keys($_POST['send']); 
    246245                $send_id = (int) array_shift($keys); 
    247246                $attachment = $_POST['attachments'][$send_id]; 
    248                 $html = apply_filters('media_send_to_editor', get_the_attachment_link($send_id, 0, array(125,125), !empty($attachment['post_content'])), $send_id, $attachment); 
     247                $html = $attachment['post_title']; 
     248                if ( !empty($attachment['url']) ) 
     249                        $html = "<a href='{$attachment['url']}'>$html</a>"; 
     250                $html = apply_filters('media_send_to_editor', $html, $send_id, $attachment); 
    249251                return media_send_to_editor($html); 
    250252        } 
    251253 
     
    881883<?php echo get_media_items($post_id, $errors); ?> 
    882884</div> 
    883885<p class="submit"> 
    884         <input type="submit" class="submit insert-gallery" name="insert-media" value="<?php _e('Insert gallery into post'); ?>" /> 
     886        <input type="submit" class="submit insert-gallery" name="insert-gallery" value="<?php _e('Insert gallery into post'); ?>" /> 
    885887</p> 
    886888<input type="hidden" name="post_id" id="post_id" value="<?php echo $post_id; ?>" /> 
    887889</form> 
  • wp-admin/includes/file.php

     
    159159 
    160160                if ( !$ext ) 
    161161                        $ext = ltrim(strrchr($file['name'], '.'), '.'); 
     162 
     163                if ( !$type ) 
     164                        $type = $file['type']; 
    162165        } 
    163166 
    164167        // A writable uploads dir will pass this test. Again, there's no point overriding this one. 
  • wp-admin/js/media-upload.js

     
    44        if ( !win ) 
    55                win = top; 
    66        tinyMCE = win.tinyMCE; 
    7         if ( typeof tinyMCE != 'undefined' && tinyMCE.getInstanceById('content') ) { 
     7        if ( typeof tinyMCE != 'undefined' && ( ed = tinyMCE.getInstanceById('content') ) && !ed.isHidden() ) { 
    88                tinyMCE.selectedInstance.getWin().focus(); 
    99                tinyMCE.execCommand('mceInsertContent', false, h); 
    1010        } else