Skip to content

Commit

Permalink
Workaround response truncation by reducing size of response after upl…
Browse files Browse the repository at this point in the history
…oading with flash uploader. Props tellyworth. fixes #6713 for 2.5

git-svn-id: https://develop.svn.wordpress.org/branches/2.5@7683 602fd350-edb4-49c9-b593-d223f7449a82
  • Loading branch information
ryanboren committed Apr 14, 2008
1 parent 2ab5dd6 commit bb66b9f
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 6 deletions.
17 changes: 15 additions & 2 deletions wp-admin/async-upload.php
Expand Up @@ -20,13 +20,26 @@
if ( !current_user_can('upload_files') )
wp_die(__('You do not have permission to upload files.'));

// just fetch the detail form for that attachment
if ( ($id = intval($_REQUEST['attachment_id'])) && $_REQUEST['fetch'] ) {
echo get_media_item($id);
exit;
}

$id = media_handle_upload('async-upload', $_REQUEST['post_id']);
if (is_wp_error($id)) {
echo '<div id="media-upload-error">'.wp_specialchars($id->get_error_message()).'</div>';
exit;
}

$type = $_REQUEST['type'];
echo apply_filters("async_upload_{$type}", $id);
if ( $_REQUEST['short'] ) {
// short form response - attachment ID only
echo $id;
}
else {
// long form response - big chunk o html
$type = $_REQUEST['type'];
echo apply_filters("async_upload_{$type}", $id);
}

?>
3 changes: 2 additions & 1 deletion wp-admin/includes/media.php
Expand Up @@ -801,7 +801,8 @@ function media_upload_form( $errors = null ) {
"post_id" : "<?php echo $post_id; ?>",
"auth_cookie" : "<?php echo $_COOKIE[AUTH_COOKIE]; ?>",
"type" : "<?php echo $type; ?>",
"tab" : "<?php echo $tab; ?>"
"tab" : "<?php echo $tab; ?>",
"short" : "1"
},
file_size_limit : "<?php echo wp_max_upload_size(); ?>b",
swfupload_element_id : "flash-upload-ui", // id of the element displayed when swfupload is available
Expand Down
14 changes: 12 additions & 2 deletions wp-includes/js/swfupload/handlers.js
Expand Up @@ -35,8 +35,18 @@ function prepareMediaItem(fileObj, serverData) {
jQuery('#media-item-' + fileObj.id + ' .bar').remove();
jQuery('#media-item-' + fileObj.id + ' .progress').hide();

// Append the HTML returned by the server -- thumbnail and form inputs
jQuery('#media-item-' + fileObj.id).append(serverData);
// Old style: Append the HTML returned by the server -- thumbnail and form inputs
if ( isNaN(serverData) || !serverData ) {
jQuery('#media-item-' + fileObj.id).append(serverData);
prepareMediaItemInit(fileObj);
}
// New style: server data is just the attachment ID, fetch the thumbnail and form html from the server
else {
jQuery('#media-item-' + fileObj.id).load('async-upload.php', {attachment_id:serverData, fetch:1}, function(){prepareMediaItemInit(fileObj);updateMediaForm()});
}
}

function prepareMediaItemInit(fileObj) {

// Clone the thumbnail as a "pinkynail" -- a tiny image to the left of the filename
jQuery('#media-item-' + fileObj.id + ' .thumbnail').clone().attr('className', 'pinkynail toggle').prependTo('#media-item-' + fileObj.id);
Expand Down
2 changes: 1 addition & 1 deletion wp-includes/script-loader.php
Expand Up @@ -87,7 +87,7 @@ function default_scripts() {
'is_lighttpd_before_150' => is_lighttpd_before_150(),
) );
$this->add( 'swfupload-queue', '/wp-includes/js/swfupload/plugins/swfupload.queue.js', array('swfupload'), '2.0.2');
$this->add( 'swfupload-handlers', '/wp-includes/js/swfupload/handlers.js', array('swfupload'), '2.0.2-20080331');
$this->add( 'swfupload-handlers', '/wp-includes/js/swfupload/handlers.js', array('swfupload'), '2.0.2-20080407');
// these error messages came from the sample swfupload js, they might need changing.
$this->localize( 'swfupload-handlers', 'swfuploadL10n', array(
'queue_limit_exceeded' => __('You have attempted to queue too many files.'),
Expand Down

0 comments on commit bb66b9f

Please sign in to comment.