X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/11be8dc178e77d0b46189bbd8e33a216a9b90942..03f2fa83c13c1b532284205fa7efcab9b8b2c41f:/wp-admin/js/media-upload.js diff --git a/wp-admin/js/media-upload.js b/wp-admin/js/media-upload.js index beb8c96b..011b618f 100644 --- a/wp-admin/js/media-upload.js +++ b/wp-admin/js/media-upload.js @@ -1,62 +1,69 @@ +/* global tinymce, QTags */ // send html to the post editor -function send_to_editor(h) { - if ( typeof tinyMCE != 'undefined' && ( ed = tinyMCE.activeEditor ) && !ed.isHidden() ) { - ed.focus(); - if (tinymce.isIE) - ed.selection.moveToBookmark(tinymce.EditorManager.activeEditor.windowManager.bookmark); - - if ( h.indexOf('[caption') === 0 ) { - if ( ed.plugins.wpeditimage ) - h = ed.plugins.wpeditimage._do_shcode(h); - } else if ( h.indexOf('[gallery') === 0 ) { - if ( ed.plugins.wpgallery ) - h = ed.plugins.wpgallery._do_gallery(h); - } - ed.execCommand('mceInsertContent', false, h); +var wpActiveEditor, send_to_editor; + +send_to_editor = function( html ) { + var editor, + hasTinymce = typeof tinymce !== 'undefined', + hasQuicktags = typeof QTags !== 'undefined'; + + if ( ! wpActiveEditor ) { + if ( hasTinymce && tinymce.activeEditor ) { + editor = tinymce.activeEditor; + wpActiveEditor = editor.id; + } else if ( ! hasQuicktags ) { + return false; + } + } else if ( hasTinymce ) { + editor = tinymce.get( wpActiveEditor ); + } - } else if ( typeof edInsertContent == 'function' ) { - edInsertContent(edCanvas, h); + if ( editor && ! editor.isHidden() ) { + editor.execCommand( 'mceInsertContent', false, html ); + } else if ( hasQuicktags ) { + QTags.insertContent( html ); } else { - jQuery( edCanvas ).val( jQuery( edCanvas ).val() + h ); + document.getElementById( wpActiveEditor ).value += html; } - tb_remove(); -} + // If the old thickbox remove function exists, call it + if ( window.tb_remove ) { + try { window.tb_remove(); } catch( e ) {} + } +}; // thickbox settings -jQuery(function($) { +var tb_position; +(function($) { tb_position = function() { - var tbWindow = $('#TB_window'); - var width = $(window).width(); - var H = $(window).height(); - var W = ( 720 < width ) ? 720 : width; + var tbWindow = $('#TB_window'), + width = $(window).width(), + H = $(window).height(), + W = ( 833 < width ) ? 833 : width, + adminbar_height = 0; + + if ( $('#wpadminbar').length ) { + adminbar_height = parseInt( $('#wpadminbar').css('height'), 10 ); + } if ( tbWindow.size() ) { - tbWindow.width( W - 50 ).height( H - 45 ); - $('#TB_iframeContent').width( W - 50 ).height( H - 75 ); - tbWindow.css({'margin-left': '-' + parseInt((( W - 50 ) / 2),10) + 'px'}); - if ( typeof document.body.style.maxWidth != 'undefined' ) - tbWindow.css({'top':'20px','margin-top':'0'}); - $('#TB_title').css({'background-color':'#222','color':'#cfcfcf'}); - }; + tbWindow.width( W - 50 ).height( H - 45 - adminbar_height ); + $('#TB_iframeContent').width( W - 50 ).height( H - 75 - adminbar_height ); + tbWindow.css({'margin-left': '-' + parseInt( ( ( W - 50 ) / 2 ), 10 ) + 'px'}); + if ( typeof document.body.style.maxWidth !== 'undefined' ) + tbWindow.css({'top': 20 + adminbar_height + 'px', 'margin-top': '0'}); + } return $('a.thickbox').each( function() { var href = $(this).attr('href'); if ( ! href ) return; href = href.replace(/&width=[0-9]+/g, ''); href = href.replace(/&height=[0-9]+/g, ''); - $(this).attr( 'href', href + '&width=' + ( W - 80 ) + '&height=' + ( H - 85 ) ); + $(this).attr( 'href', href + '&width=' + ( W - 80 ) + '&height=' + ( H - 85 - adminbar_height ) ); }); }; - jQuery('a.thickbox').click(function(){ - if ( typeof tinyMCE != 'undefined' && tinyMCE.activeEditor ) { - tinyMCE.get('content').focus(); - tinyMCE.activeEditor.windowManager.bookmark = tinyMCE.activeEditor.selection.getBookmark('simple'); - } - }); - - $(window).resize( function() { tb_position() } ); -}); + $(window).resize(function(){ tb_position(); }); +})(jQuery);