Make WordPress Core

Changeset 7149


Ignore:
Timestamp:
03/04/2008 04:21:37 AM (16 years ago)
Author:
matt
Message:

New functions for attachment image display, fixes #6086. Hat tip: tellyworth.

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/includes/schema.php

    r7148 r7149  
    248248    add_option('thumbnail_size_h', 150);
    249249    add_option('thumbnail_crop', 1);
    250     add_option('medium_size_w', '');
    251     add_option('medium_size_h', '');
     250    add_option('medium_size_w', 300);
     251    add_option('medium_size_h', 300);
    252252    add_option('autosave_interval', 60);
    253253
  • trunk/wp-includes/media.php

    r7137 r7149  
    1919        $max_height = intval(get_option('medium_size_h'));
    2020        // if no width is set, default to the theme content width if available
    21         if ( !$max_width ) {
    22             // $content_width might be set in the current theme's functions.php
    23             if ( !empty($GLOBALS['content_width']) ) {
    24                 $max_width = $GLOBALS['content_width'];
    25             }
    26             else
    27                 $max_width = 500;
    28         }
    2921    }
    3022    else { // $size == 'full'
    31         $max_width = 0;
    32         $max_height = 0;
     23        // we're inserting a full size image into the editor.  if it's a really big image we'll scale it down to fit reasonably
     24        // within the editor itself, and within the theme's content width if it's known.  the user can resize it in the editor
     25        // if they wish.
     26        if ( !empty($GLOBALS['content_width']) ) {
     27            $max_width = $GLOBALS['content_width'];
     28        }
     29        else
     30            $max_width = 500;
    3331    }
    3432
     
    259257}
    260258
     259// get an image to represent an attachment - a mime icon for files, thumbnail or intermediate size for images
     260// returns an array (url, width, height), or false if no image is available
     261function wp_get_attachment_image_src($attachment_id, $size='thumbnail') {
     262   
     263    // get a thumbnail or intermediate image if there is one
     264    $image = image_downsize($attachment_id, $size);
     265    if ( $image ) {
     266        list ( $src, $width, $height ) = $image;
     267    }
     268    elseif ( $src = wp_mime_type_icon($attachment_id) ) {
     269        $icon_dir = apply_filters( 'icon_dir', get_template_directory() . '/images' );
     270        $src_file = $icon_dir . '/' . basename($src);
     271        @list($width, $height) = getimagesize($src_file);
     272    }
     273   
     274    if ( $src && $width && $height )
     275        return array( $src, $width, $height );
     276    return false;
     277}
     278
     279// as per wp_get_attachment_image_src, but returns an <img> tag
     280function wp_get_attachment_image($attachment_id, $size='thumbnail') {
     281
     282    $html = '';
     283    $image = wp_get_attachment_image_src($attachment_id, $size);
     284    if ( $image ) {
     285        list($src, $width, $height) = $image;
     286        $hwstring = image_hwstring($width, $height);
     287        $html = '<img src="'.attribute_escape($src).'" '.$hwstring.'class="attachment-'.attribute_escape($size).'" />';
     288    }
     289   
     290    return $html;
     291}
    261292
    262293?>
  • trunk/wp-includes/post-template.php

    r7135 r7149  
    363363//
    364364
    365 function the_attachment_link($id = 0, $fullsize = false, $max_dims = false, $permalink = false) {
    366     echo get_the_attachment_link($id, $fullsize, $max_dims, $permalink);
    367 }
    368 
     365function the_attachment_link($id = 0, $fullsize = false, $deprecated = false, $permalink = false) {
     366    if ( $fullsize )
     367        echo wp_get_attachment_link($id, 'full', $permalink);
     368    else
     369        echo wp_get_attachment_link($id, 'thumbnail', $permalink);
     370}
     371
     372// get an attachment page link using an image or icon if possible
     373function wp_get_attachment_link($id = 0, $size = 'thumbnail', $permalink = false) {
     374    $_post = & get_post( intval($id) );
     375
     376    if ( ('attachment' != $_post->post_type) || !$url = wp_get_attachment_url($_post->ID) )
     377        return __('Missing Attachment');
     378
     379    if ( $permalink )
     380        $url = get_attachment_link($_post->ID);
     381
     382    $post_title = attribute_escape($_post->post_title);
     383
     384    $link_text = wp_get_attachment_image($attachment_id, $size);
     385    if ( !$link_text )
     386        $link_text = $_post->post_title;
     387
     388    return "<a href='$url' title='$post_title'>$link_text</a>";
     389
     390}
     391
     392// deprecated - use wp_get_attachment_link()
    369393function get_the_attachment_link($id = 0, $fullsize = false, $max_dims = false, $permalink = false) {
    370394    $id = (int) $id;
     
    383407}
    384408
     409
     410// deprecated: use wp_get_attachment_image_src()
    385411function get_attachment_icon_src( $id = 0, $fullsize = false ) {
    386412    $id = (int) $id;
     
    414440}
    415441
     442// deprecated: use wp_get_attachment_image()
    416443function get_attachment_icon( $id = 0, $fullsize = false, $max_dims = false ) {
    417444    $id = (int) $id;
    418445    if ( !$post = & get_post($id) )
    419446        return false;
    420 
     447       
    421448    if ( !$src = get_attachment_icon_src( $post->ID, $fullsize ) )
    422449        return false;
     
    457484}
    458485
     486// deprecated: use wp_get_attachment_image()
    459487function get_attachment_innerHTML($id = 0, $fullsize = false, $max_dims = false) {
    460488    $id = (int) $id;
     
    473501function prepend_attachment($content) {
    474502    $p = '<p class="attachment">';
    475     $p .= get_the_attachment_link(false, true, array(400, 300));
     503    // show the medium sized image representation of the attachment if available, and link to the raw file
     504    $p .= wp_get_attachment_link(0, 'medium', false);
    476505    $p .= '</p>';
    477506    $p = apply_filters('prepend_attachment', $p);
Note: See TracChangeset for help on using the changeset viewer.