web/wp-admin/js/media-upload.dev.js
changeset 194 32102edaa81b
parent 136 bde1974c263b
equal deleted inserted replaced
193:2f6f6f7551ca 194:32102edaa81b
     1 // send html to the post editor
     1 // send html to the post editor
       
     2 
       
     3 var wpActiveEditor;
       
     4 
     2 function send_to_editor(h) {
     5 function send_to_editor(h) {
     3 	var ed;
     6 	var ed, mce = typeof(tinymce) != 'undefined', qt = typeof(QTags) != 'undefined';
     4 
     7 
     5 	if ( typeof tinyMCE != 'undefined' && ( ed = tinyMCE.activeEditor ) && !ed.isHidden() ) {
     8 	if ( !wpActiveEditor ) {
     6 		ed.focus();
     9 		if ( mce && tinymce.activeEditor ) {
     7 		if ( tinymce.isIE )
    10 			ed = tinymce.activeEditor;
     8 			ed.selection.moveToBookmark(tinymce.EditorManager.activeEditor.windowManager.bookmark);
    11 			wpActiveEditor = ed.id;
       
    12 		} else if ( !qt ) {
       
    13 			return false;
       
    14 		}
       
    15 	} else if ( mce ) {
       
    16 		if ( tinymce.activeEditor && (tinymce.activeEditor.id == 'mce_fullscreen' || tinymce.activeEditor.id == 'wp_mce_fullscreen') )
       
    17 			ed = tinymce.activeEditor;
       
    18 		else
       
    19 			ed = tinymce.get(wpActiveEditor);
       
    20 	}
       
    21 
       
    22 	if ( ed && !ed.isHidden() ) {
       
    23 		// restore caret position on IE
       
    24 		if ( tinymce.isIE && ed.windowManager.insertimagebookmark )
       
    25 			ed.selection.moveToBookmark(ed.windowManager.insertimagebookmark);
     9 
    26 
    10 		if ( h.indexOf('[caption') === 0 ) {
    27 		if ( h.indexOf('[caption') === 0 ) {
    11 			if ( ed.plugins.wpeditimage )
    28 			if ( ed.wpSetImgCaption )
    12 				h = ed.plugins.wpeditimage._do_shcode(h);
    29 				h = ed.wpSetImgCaption(h);
    13 		} else if ( h.indexOf('[gallery') === 0 ) {
    30 		} else if ( h.indexOf('[gallery') === 0 ) {
    14 			if ( ed.plugins.wpgallery )
    31 			if ( ed.plugins.wpgallery )
    15 				h = ed.plugins.wpgallery._do_gallery(h);
    32 				h = ed.plugins.wpgallery._do_gallery(h);
    16 		} else if ( h.indexOf('[embed') === 0 ) {
    33 		} else if ( h.indexOf('[embed') === 0 ) {
    17 			if ( ed.plugins.wordpress )
    34 			if ( ed.plugins.wordpress )
    18 				h = ed.plugins.wordpress._setEmbed(h);
    35 				h = ed.plugins.wordpress._setEmbed(h);
    19 		}
    36 		}
    20 
    37 
    21 		ed.execCommand('mceInsertContent', false, h);
    38 		ed.execCommand('mceInsertContent', false, h);
    22 
    39 	} else if ( qt ) {
    23 	} else if ( typeof edInsertContent == 'function' ) {
    40 		QTags.insertContent(h);
    24 		edInsertContent(edCanvas, h);
       
    25 	} else {
    41 	} else {
    26 		jQuery( edCanvas ).val( jQuery( edCanvas ).val() + h );
    42 		document.getElementById(wpActiveEditor).value += h;
    27 	}
    43 	}
    28 
    44 
    29 	tb_remove();
    45 	try{tb_remove();}catch(e){};
    30 }
    46 }
    31 
    47 
    32 // thickbox settings
    48 // thickbox settings
    33 var tb_position;
    49 var tb_position;
    34 (function($) {
    50 (function($) {
    35 	tb_position = function() {
    51 	tb_position = function() {
    36 		var tbWindow = $('#TB_window'), width = $(window).width(), H = $(window).height(), W = ( 720 < width ) ? 720 : width;
    52 		var tbWindow = $('#TB_window'), width = $(window).width(), H = $(window).height(), W = ( 720 < width ) ? 720 : width, adminbar_height = 0;
       
    53 
       
    54 		if ( $('body.admin-bar').length )
       
    55 			adminbar_height = 28;
    37 
    56 
    38 		if ( tbWindow.size() ) {
    57 		if ( tbWindow.size() ) {
    39 			tbWindow.width( W - 50 ).height( H - 45 );
    58 			tbWindow.width( W - 50 ).height( H - 45 - adminbar_height );
    40 			$('#TB_iframeContent').width( W - 50 ).height( H - 75 );
    59 			$('#TB_iframeContent').width( W - 50 ).height( H - 75 - adminbar_height );
    41 			tbWindow.css({'margin-left': '-' + parseInt((( W - 50 ) / 2),10) + 'px'});
    60 			tbWindow.css({'margin-left': '-' + parseInt((( W - 50 ) / 2),10) + 'px'});
    42 			if ( typeof document.body.style.maxWidth != 'undefined' )
    61 			if ( typeof document.body.style.maxWidth != 'undefined' )
    43 				tbWindow.css({'top':'20px','margin-top':'0'});
    62 				tbWindow.css({'top': 20 + adminbar_height + 'px','margin-top':'0'});
    44 		};
    63 		};
    45 
    64 
    46 		return $('a.thickbox').each( function() {
    65 		return $('a.thickbox').each( function() {
    47 			var href = $(this).attr('href');
    66 			var href = $(this).attr('href');
    48 			if ( ! href ) return;
    67 			if ( ! href ) return;
    49 			href = href.replace(/&width=[0-9]+/g, '');
    68 			href = href.replace(/&width=[0-9]+/g, '');
    50 			href = href.replace(/&height=[0-9]+/g, '');
    69 			href = href.replace(/&height=[0-9]+/g, '');
    51 			$(this).attr( 'href', href + '&width=' + ( W - 80 ) + '&height=' + ( H - 85 ) );
    70 			$(this).attr( 'href', href + '&width=' + ( W - 80 ) + '&height=' + ( H - 85 - adminbar_height ) );
    52 		});
    71 		});
    53 	};
    72 	};
    54 
    73 
    55 	$(window).resize(function(){ tb_position(); });
    74 	$(window).resize(function(){ tb_position(); });
    56 
    75 
       
    76 	// store caret position in IE
       
    77 	$(document).ready(function($){
       
    78 		$('a.thickbox').click(function(){
       
    79 			var ed;
       
    80 
       
    81 			if ( typeof(tinymce) != 'undefined' && tinymce.isIE && ( ed = tinymce.get(wpActiveEditor) ) && !ed.isHidden() ) {
       
    82 				ed.focus();
       
    83 				ed.windowManager.insertimagebookmark = ed.selection.getBookmark();
       
    84 			}
       
    85 		});
       
    86 	});
       
    87 
    57 })(jQuery);
    88 })(jQuery);
    58 
       
    59 jQuery(document).ready(function($){
       
    60 	$('a.thickbox').click(function(){
       
    61 		if ( typeof tinyMCE != 'undefined' && tinyMCE.activeEditor ) {
       
    62 			tinyMCE.get('content').focus();
       
    63 			tinyMCE.activeEditor.windowManager.bookmark = tinyMCE.activeEditor.selection.getBookmark('simple');
       
    64 		}
       
    65 	});
       
    66 });