Attachment fixes from mdawaffe. fixes #3411

git-svn-id: http://svn.automattic.com/wordpress/trunk@4670 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
ryan
2007-01-02 19:28:30 +00:00
parent 504cf9100c
commit cd99ca7b90
6 changed files with 166 additions and 70 deletions

View File

@@ -1935,12 +1935,12 @@ function the_attachment_links( $id = false ) {
<col class="widefat" />
<tr>
<th scope="row"><?php _e( 'URL' ) ?></th>
<td><textarea rows="1" cols="40" type="text" class="attachmentlinks" readonly="readonly"><?php echo $post->guid ?></textarea></td>
<td><textarea rows="1" cols="40" type="text" class="attachmentlinks" readonly="readonly"><?php echo wp_get_attachment_url(); ?></textarea></td>
</tr>
<?php if ( $icon ) : ?>
<tr>
<th scope="row"><?php $thumb ? _e( 'Thumbnail linked to file' ) : _e( 'Image linked to file' ); ?></th>
<td><textarea rows="1" cols="40" type="text" class="attachmentlinks" readonly="readonly"><a href="<?php echo $post->guid; ?>"><?php echo $icon ?></a></textarea></td>
<td><textarea rows="1" cols="40" type="text" class="attachmentlinks" readonly="readonly"><a href="<?php echo wp_get_attachment_url(); ?>"><?php echo $icon ?></a></textarea></td>
</tr>
<tr>
<th scope="row"><?php $thumb ? _e( 'Thumbnail linked to page' ) : _e( 'Image linked to page' ); ?></th>
@@ -1949,7 +1949,7 @@ function the_attachment_links( $id = false ) {
<?php else : ?>
<tr>
<th scope="row"><?php _e( 'Link to file' ) ?></th>
<td><textarea rows="1" cols="40" type="text" class="attachmentlinks" readonly="readonly"><a href="<?php echo $post->guid ?>" class="attachmentlink"><?php echo basename( $post->guid ); ?></a></textarea></td>
<td><textarea rows="1" cols="40" type="text" class="attachmentlinks" readonly="readonly"><a href="<?php echo wp_get_attachment_url(); ?>" class="attachmentlink"><?php echo basename( wp_get_attachment_url() ); ?></a></textarea></td>
</tr>
<tr>
<th scope="row"><?php _e( 'Link to page' ) ?></th>

View File

@@ -13,16 +13,13 @@ function wp_upload_display( $dims = false, $href = '' ) {
$class = 'text';
$innerHTML = get_attachment_innerHTML( $id, false, $dims );
if ( $image_src = strstr($innerHTML, 'src=') ) {
preg_match("/src=(\"|')(.+?)\\1/", $image_src, $matches);
$image_src = $matches[2];
if ( $image_src = get_attachment_icon_src() ) {
$image_rel = wp_make_link_relative($image_src);
$class = 'image';
$innerHTML = '&nbsp;' . str_replace($image_src, $image_rel, $innerHTML);
$image_base = str_replace($image_rel, '', $image_src);
$class = 'image';
}
$src_base = get_the_guid();
$src_base = wp_get_attachment_url();
$src = wp_make_link_relative( $src_base );
$src_base = str_replace($src, '', $src_base);
@@ -38,11 +35,16 @@ function wp_upload_display( $dims = false, $href = '' ) {
$r .= "\t\t\t\t<input type='hidden' name='attachment-url-$id' id='attachment-url-$id' value='$src' />\n";
$r .= "\t\t\t\t<input type='hidden' name='attachment-url-base-$id' id='attachment-url-base-$id' value='$src_base' />\n";
if ( isset($attachment_data['thumb']) ) {
$r .= "\t\t\t\t<input type='hidden' name='attachment-thumb-url-$id' id='attachment-thumb-url-$id' value='$image_rel' />\n";
$r .= "\t\t\t\t<input type='hidden' name='attachment-thumb-url-base-$id' id='attachment-thumb-url-base-$id' value='$image_base' />\n";
} elseif ( $image_rel )
$r .= "\t\t\t\t<input type='hidden' name='attachment-is-image-$id' id='attachment-is-image-$id' value='1' />\n";
if ( !$thumb_base = wp_get_attachment_thumb_url() )
$thumb_base = wp_mime_type_icon();
if ( $thumb_base ) {
$thumb_rel = wp_make_link_relative( $thumb_base );
$thumb_base = str_replace( $thumb_rel, '', $thumb_base );
$r .= "\t\t\t\t<input type='hidden' name='attachment-thumb-url-$id' id='attachment-thumb-url-$id' value='$thumb_rel' />\n";
$r .= "\t\t\t\t<input type='hidden' name='attachment-thumb-url-base-$id' id='attachment-thumb-url-base-$id' value='$thumb_base' />\n";
}
$is_image = (int) wp_attachment_is_image();
$r .= "\t\t\t\t<input type='hidden' name='attachment-is-image-$id' id='attachment-is-image-$id' value='$is_image' />\n";
if ( isset($width) ) {
$r .= "\t\t\t\t<input type='hidden' name='attachment-width-$id' id='attachment-width-$id' value='$width' />\n";
$r .= "\t\t\t\t<input type='hidden' name='attachment-height-$id' id='attachment-height-$id' value='$height' />\n";
@@ -62,7 +64,7 @@ function wp_upload_view() {
<div id="upload-file">
<div id="file-title">
<h2><?php if ( !isset($attachment_data['width']) && 'inline' != $style )
echo "<a href='" . get_the_guid() . "' title='" . __('Direct link to file') . "'>";
echo "<a href='" . wp_get_attachment_url() . "' title='" . __('Direct link to file') . "'>";
the_title();
if ( !isset($attachment_data['width']) && 'inline' != $style )
echo '</a>';
@@ -79,7 +81,7 @@ function wp_upload_view() {
<div id="upload-file-view" class="alignleft">
<?php if ( isset($attachment_data['width']) && 'inline' != $style )
echo "<a href='" . get_the_guid() . "' title='" . __('Direct link to file') . "'>";
echo "<a href='" . wp_get_attachment_url() . "' title='" . __('Direct link to file') . "'>";
echo wp_upload_display( array(171, 128) );
if ( isset($attachment_data['width']) && 'inline' != $style )
echo '</a>'; ?>
@@ -102,7 +104,7 @@ function wp_upload_form() {
?>
<div id="file-title">
<h2><?php if ( !isset($attachment_data['width']) && 'inline' != $style )
echo "<a href='" . get_the_guid() . "' title='" . __('Direct link to file') . "'>";
echo "<a href='" . wp_get_attachment_url() . "' title='" . __('Direct link to file') . "'>";
the_title();
if ( !isset($attachment_data['width']) && 'inline' != $style )
echo '</a>';
@@ -119,7 +121,7 @@ function wp_upload_form() {
<div id="upload-file-view" class="alignleft">
<?php if ( isset($attachment_data['width']) && 'inline' != $style )
echo "<a href='" . get_the_guid() . "' title='" . __('Direct link to file') . "'>";
echo "<a href='" . wp_get_attachment_url() . "' title='" . __('Direct link to file') . "'>";
echo wp_upload_display( array(171, 128) );
if ( isset($attachment_data['width']) && 'inline' != $style )
echo '</a>'; ?>
@@ -129,7 +131,7 @@ function wp_upload_form() {
<?php if ( $id ): ?>
<tr>
<th scope="row"><label for="url"><?php _e('URL'); ?></label></th>
<td><input type="text" id="url" class="readonly" value="<?php the_guid(); ?>" readonly="readonly" /></td>
<td><input type="text" id="url" class="readonly" value="<?php echo wp_get_attachment_url(); ?>" readonly="readonly" /></td>
</tr>
<?php else : ?>
<tr>
@@ -343,4 +345,3 @@ function wp_upload_admin_head() {
echo "</style>";
}
}

View File

@@ -37,15 +37,11 @@ addLoadEvent( function() {
if ( id == this.currentImage.ID )
return;
var thumbEl = $('attachment-thumb-url-' + id);
this.currentImage.isImage = true;
if ( thumbEl ) {
this.currentImage.thumb = ( 0 == id ? '' : thumbEl.value );
this.currentImage.thumbBase = ( 0 == id ? '' : $('attachment-thumb-url-base-' + id).value );
} else {
this.currentImage.thumb = false;
var isImageEl = $('attachment-is-image-' + id);
if ( !isImageEl )
this.currentImage.isImage = false;
}
this.currentImage.src = ( 0 == id ? '' : $('attachment-url-' + id).value );
this.currentImage.srcBase = ( 0 == id ? '' : $('attachment-url-base-' + id).value );
@@ -60,6 +56,7 @@ addLoadEvent( function() {
this.currentImage.width = false;
this.currentImage.height = false;
}
this.currentImage.isImage = ( 0 == id ? '' : $('attachment-is-image-' + id).value );
this.currentImage.ID = id;
},
@@ -96,10 +93,22 @@ addLoadEvent( function() {
h += "<form name='uploadoptions' id='uploadoptions' class='alignleft'>";
h += "<table>";
if ( this.currentImage.thumb ) {
var display = [];
var checked = 'display-title';
if ( 1 == this.currentImage.isImage ) {
checked = 'display-full';
if ( this.currentImage.thumb ) {
display.push("<label for='display-thumb'><input type='radio' name='display' id='display-thumb' value='thumb' /> <?php echo attribute_escape(__('Thumbnail')); ?></label><br />");
checked = 'display-thumb';
}
display.push("<label for='display-full'><input type='radio' name='display' id='display-full' value='full' /> <?php echo attribute_escape(__('Full size')); ?></label>");
} else if ( this.currentImage.thumb ) {
display.push("<label for='display-thumb'><input type='radio' name='display' id='display-thumb' value='thumb' /> <?php echo attribute_escape(__('Icon')); ?></label>");
}
if ( display.length ) {
display.push("<br /><label for='display-title'><input type='radio' name='display' id='display-title' value='title' /> <?php echo attribute_escape(__('Title')); ?></label>");
h += "<tr><th style='padding-bottom:.5em'><?php echo attribute_escape(__('Show:')); ?></th><td style='padding-bottom:.5em'>";
h += "<label for='display-thumb'><input type='radio' name='display' id='display-thumb' value='thumb' checked='checked' /> <?php echo attribute_escape(__('Thumbnail')); ?></label><br />";
h += "<label for='display-full'><input type='radio' name='display' id='display-full' value='full' /> <?php echo attribute_escape(__('Full size')); ?></label>";
$A(display).each( function(i) { h += i; } );
h += "</td></tr>";
}
@@ -117,6 +126,10 @@ addLoadEvent( function() {
h += "</div>";
new Insertion.Top('upload-content', h);
var displayEl = $(checked);
if ( displayEl )
displayEl.checked = true;
if (e) Event.stop(e);
return false;
},
@@ -144,7 +157,7 @@ addLoadEvent( function() {
else
h += "<h2>" + this.currentImage.title + "</h2>";
h += " &#8212; <span>";
h += "<a href='#' onclick='return theFileList.imageView(" + id + ");'><?php attribute_escape(__('Insert')); ?></a>"
h += "<a href='#' onclick='return theFileList.imageView(" + id + ");'><?php echo attribute_escape(__('Insert')); ?></a>"
h += "</span>";
h += '</div>'
h += "<div id='upload-file-view' class='alignleft'>";
@@ -222,7 +235,7 @@ addLoadEvent( function() {
if ( 'none' != link )
h += "<a href='" + ( 'file' == link ? ( this.currentImage.srcBase + this.currentImage.src ) : ( this.currentImage.page + "' rel='attachment wp-att-" + this.currentImage.ID ) ) + "' title='" + this.currentImage.title + "'>";
if ( display )
if ( display && 'title' != display )
h += "<img src='" + ( 'thumb' == display ? ( this.currentImage.thumbBase + this.currentImage.thumb ) : ( this.currentImage.srcBase + this.currentImage.src ) ) + "' alt='" + this.currentImage.title + "' />";
else
h += this.currentImage.title;