diff --git a/wp-admin/css/media.css b/wp-admin/css/media.css new file mode 100644 index 0000000000..a281ad5394 --- /dev/null +++ b/wp-admin/css/media.css @@ -0,0 +1,103 @@ +div#media-upload-header { + background-color: #eaf3fa; + margin: none; + padding: 1em 0.5em 0.5em 0.5em; + font-weight: bold; +} + +ul#media-upload-tabs { + display:inline; + position: absolute; + right: 1em; + top: 1em; + font-size: 0.9em; +} + +ul#media-upload-tabs li { + display:inline; +} + +ul#media-upload-tabs li:after { + content: " | "; +} + +ul#media-upload-tabs li.last:after { + content: ""; +} + + + +div#media-upload-error { + margin: 1em; + font-weight: bold; + color: #f00; +} + +form.media-upload-form { + margin: 1em; +} + +.media-upload-form label, .media-upload-form legend { + display:block; + font-weight: bold; + margin-bottom: 0.5em; +} + +.media-upload-form label.form-help { + color: #9a9a9a; + font-style: italic; + font-weight: normal; +} + +.media-upload-form p { + margin: 0 1em 1em 0; +} + +.media-upload-form input[type="text"], .media-upload-form input[type="file"] { + width: 100%; +} + +.media-upload-form fieldset { + border: none; + text-align: justify; + margin-bottom: 1em; +} + +.media-upload-form button.button-ok { + float: right; + background-color: #ebebeb; + color: #1f4569; + border: none; + padding: 0.5em; +} + +.media-upload-form a.button-cancel { + float: right; + background-color: #fff; + color: #9a9a9a; + font-size: 0.8em; + text-decoration: underline; + margin: 0.5em 1em; +} + +/* specific to the image upload form */ +.media-upload-form fieldset#image-align label { + display: inline; + padding: 0 28px; +} + +#image-align-none-label { + background: url(../images/align-none.png) no-repeat center left; +} + +#image-align-left-label { + background: url(../images/align-left.png) no-repeat center left; +} + +#image-align-center-label { + background: url(../images/align-center.png) no-repeat center left; +} + +#image-align-right-label { + background: url(../images/align-right.png) no-repeat center left; +} \ No newline at end of file diff --git a/wp-admin/images/align-center.png b/wp-admin/images/align-center.png new file mode 100644 index 0000000000..a412226875 Binary files /dev/null and b/wp-admin/images/align-center.png differ diff --git a/wp-admin/images/align-left.png b/wp-admin/images/align-left.png new file mode 100644 index 0000000000..2e433fc3e3 Binary files /dev/null and b/wp-admin/images/align-left.png differ diff --git a/wp-admin/images/align-none.png b/wp-admin/images/align-none.png new file mode 100644 index 0000000000..5fb9af2e0c Binary files /dev/null and b/wp-admin/images/align-none.png differ diff --git a/wp-admin/images/align-right.png b/wp-admin/images/align-right.png new file mode 100644 index 0000000000..9b92578fb5 Binary files /dev/null and b/wp-admin/images/align-right.png differ diff --git a/wp-admin/includes/admin.php b/wp-admin/includes/admin.php index bb016d0577..2564494d43 100644 --- a/wp-admin/includes/admin.php +++ b/wp-admin/includes/admin.php @@ -4,6 +4,7 @@ require_once(ABSPATH . 'wp-admin/includes/bookmark.php'); require_once(ABSPATH . 'wp-admin/includes/comment.php'); require_once(ABSPATH . 'wp-admin/includes/file.php'); require_once(ABSPATH . 'wp-admin/includes/image.php'); +require_once(ABSPATH . 'wp-admin/includes/media.php'); require_once(ABSPATH . 'wp-admin/includes/import.php'); require_once(ABSPATH . 'wp-admin/includes/misc.php'); require_once(ABSPATH . 'wp-admin/includes/plugin.php'); diff --git a/wp-admin/includes/image.php b/wp-admin/includes/image.php index 853b4e2a7b..6f58549ec9 100644 --- a/wp-admin/includes/image.php +++ b/wp-admin/includes/image.php @@ -317,11 +317,5 @@ function wp_read_image_metadata( $file ) { } -function media_buttons() { // just a placeholder for now -?> - - \ No newline at end of file +?> diff --git a/wp-admin/includes/media.php b/wp-admin/includes/media.php new file mode 100644 index 0000000000..0f843d5881 --- /dev/null +++ b/wp-admin/includes/media.php @@ -0,0 +1,231 @@ + __('From Computer'), // handler function name => tab text + ); + + return apply_filters('image_upload_tabs', $_default_tabs); +} + +function image_upload_form( $action_url, $values = array(), $error = null ) { + $action_url = attribute_escape( $action_url ); + $image_alt = attribute_escape( @$values['image-alt'] ); + $image_url = attribute_escape( @$values['image-url'] ); + $image_title = attribute_escape( @$values['image-title'] ); + $image_align = @$values['image-url']; + +?> +
+

Add Image

+ +
+ +
+ get_error_message(); ?> +
+ +
+

+ +

+

+ +

+

+ +

+

+ +

+
+ + /> + + /> + + /> + + /> + +
+

+ + +

+ + +
+'; + + if ( $url ) + $html = ''.$html.''; + + media_send_to_editor($html); +} + +function media_send_to_editor($html) { + ?> + + false); + $file = wp_handle_upload($_FILES['image-file'], $overrides); + + if ( isset($file['error']) ) + return new wp_error( 'upload_error', $file['error'] ); + + $url = $file['url']; + $type = $file['type']; + $file = $file['file']; + + $post_title = trim($_POST['image-title']); + $post_content = trim($_POST['image-alt']); + $post_parent = intval($_POST['parent_post_id']); + + // Construct the attachment array + $attachment = array( + 'post_title' => $post_title, + 'post_content' => $post_content, + 'post_type' => 'attachment', + 'post_parent' => $post_parent, + 'post_mime_type' => $type, + 'guid' => $url + ); + + // Save the data + $id = wp_insert_attachment($attachment, $file, $post_parent); + if ( !is_wp_error($id) ) + wp_update_attachment_metadata( $id, wp_generate_attachment_metadata( $id, $file ) ); + + return $id; + + wp_redirect( get_option('siteurl') . "/wp-admin/upload.php?style=$style&tab=browse&action=view&ID=$id&post_id=$post_id"); + +} + +// wrap iframe content (produced by $content_func) in a doctype, html head/body etc +// any additional function args will be passed to content_func +function wp_iframe($content_func /* ... */) { +?> + + > + + +<?php bloginfo('name') ?> › <?php _e('Uploads'); ?> — WordPress + + + + + + + + + + + +EOF; + echo $out; +} +add_action( 'media_buttons', 'media_buttons' ); + +function media_buttons_head() { +$siteurl = get_option('siteurl'); +echo "\n"; +} + +add_action( 'admin_print_scripts', 'media_buttons_head' ); + +function media_admin_css() { + wp_admin_css('css/media'); +} + +add_action('media_upload_image', 'image_upload_handler'); +add_action('admin_head_image_upload_form', 'media_admin_css'); + +?> \ No newline at end of file diff --git a/wp-admin/js/media-upload.js b/wp-admin/js/media-upload.js new file mode 100644 index 0000000000..40b8c1397e --- /dev/null +++ b/wp-admin/js/media-upload.js @@ -0,0 +1,12 @@ +// send html to the post editor +function send_to_editor(h) { + var win = window.opener ? window.opener : window.dialogArguments; + if ( !win ) + win = top; + tinyMCE = win.tinyMCE; + if ( typeof tinyMCE != 'undefined' && tinyMCE.getInstanceById('content') ) { + tinyMCE.selectedInstance.getWin().focus(); + tinyMCE.execCommand('mceInsertContent', false, h); + } else + win.edInsertContent(win.edCanvas, h); +} \ No newline at end of file diff --git a/wp-admin/media-upload.php b/wp-admin/media-upload.php new file mode 100644 index 0000000000..361a99596f --- /dev/null +++ b/wp-admin/media-upload.php @@ -0,0 +1,23 @@ + \ No newline at end of file diff --git a/wp-admin/post-new.php b/wp-admin/post-new.php index 6d75d4c253..1d8807a1fb 100644 --- a/wp-admin/post-new.php +++ b/wp-admin/post-new.php @@ -5,6 +5,8 @@ $parent_file = 'post-new.php'; $editing = true; wp_enqueue_script('autosave'); wp_enqueue_script('post'); +wp_enqueue_script('thickbox'); +wp_enqueue_script('media-upload'); require_once ('./admin-header.php'); diff --git a/wp-admin/post.php b/wp-admin/post.php index f7c94b44f7..6ff32cfee3 100644 --- a/wp-admin/post.php +++ b/wp-admin/post.php @@ -59,6 +59,8 @@ case 'edit': } wp_enqueue_script('post'); + wp_enqueue_script('thickbox'); + wp_enqueue_script('media-upload'); if ( 'draft' == $post->post_status ) wp_enqueue_script('autosave'); diff --git a/wp-includes/js/thickbox/loadingAnimation.gif b/wp-includes/js/thickbox/loadingAnimation.gif new file mode 100644 index 0000000000..82290f4833 Binary files /dev/null and b/wp-includes/js/thickbox/loadingAnimation.gif differ diff --git a/wp-includes/js/thickbox/tb-close.png b/wp-includes/js/thickbox/tb-close.png new file mode 100644 index 0000000000..6a48f46908 Binary files /dev/null and b/wp-includes/js/thickbox/tb-close.png differ diff --git a/wp-includes/js/thickbox/thickbox.css b/wp-includes/js/thickbox/thickbox.css new file mode 100644 index 0000000000..d24b9bedff --- /dev/null +++ b/wp-includes/js/thickbox/thickbox.css @@ -0,0 +1,163 @@ +/* ----------------------------------------------------------------------------------------------------------------*/ +/* ---------->>> global settings needed for thickbox <<<-----------------------------------------------------------*/ +/* ----------------------------------------------------------------------------------------------------------------*/ +*{padding: 0; margin: 0;} + +/* ----------------------------------------------------------------------------------------------------------------*/ +/* ---------->>> thickbox specific link and font settings <<<------------------------------------------------------*/ +/* ----------------------------------------------------------------------------------------------------------------*/ +#TB_window { + font: 12px Arial, Helvetica, sans-serif; + color: #333333; +} + +#TB_secondLine { + font: 10px Arial, Helvetica, sans-serif; + color:#666666; +} + +#TB_window a:link {color: #666666;} +#TB_window a:visited {color: #666666;} +#TB_window a:hover {color: #000;} +#TB_window a:active {color: #666666;} +#TB_window a:focus{color: #666666;} + +/* ----------------------------------------------------------------------------------------------------------------*/ +/* ---------->>> thickbox settings <<<-----------------------------------------------------------------------------*/ +/* ----------------------------------------------------------------------------------------------------------------*/ +#TB_overlay { + position: fixed; + z-index:100; + top: 0px; + left: 0px; + height:100%; + width:100%; +} + +.TB_overlayMacFFBGHack {background: url(macFFBgHack.png) repeat;} +.TB_overlayBG { + background-color:#000; + filter:alpha(opacity=75); + -moz-opacity: 0.75; + opacity: 0.75; +} + +* html #TB_overlay { /* ie6 hack */ + position: absolute; + height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px'); +} + +#TB_window { + position: fixed; + background: #ffffff; + z-index: 102; + color:#000000; + display:none; + border: 4px solid #525252; + text-align:left; + top:50%; + left:50%; +} + +* html #TB_window { /* ie6 hack */ +position: absolute; +margin-top: expression(0 - parseInt(this.offsetHeight / 2) + (TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop) + 'px'); +} + +#TB_window img#TB_Image { + display:block; + margin: 15px 0 0 15px; + border-right: 1px solid #ccc; + border-bottom: 1px solid #ccc; + border-top: 1px solid #666; + border-left: 1px solid #666; +} + +#TB_caption{ + height:25px; + padding:7px 30px 10px 25px; + float:left; +} + +#TB_closeWindow{ + height:25px; + padding:11px 25px 10px 0; + float:right; +} + +#TB_closeAjaxWindow{ + padding:7px 10px 5px 0; + margin-bottom:1px; + text-align:right; + float:right; +} + +#TB_ajaxWindowTitle{ + float:left; + padding:7px 0 5px 10px; + margin-bottom:1px; +} + +#TB_title{ + background-color:#e8e8e8; + height:27px; +} + +#TB_ajaxContent{ + clear:both; + padding:2px 15px 15px 15px; + overflow:auto; + text-align:left; + line-height:1.4em; +} + +#TB_ajaxContent.TB_modal{ + padding:15px; +} + +#TB_ajaxContent p{ + padding:5px 0px 5px 0px; +} + +#TB_load{ + position: fixed; + display:none; + height:13px; + width:208px; + z-index:103; + top: 50%; + left: 50%; + margin: -6px 0 0 -104px; /* -height/2 0 0 -width/2 */ +} + +* html #TB_load { /* ie6 hack */ +position: absolute; +margin-top: expression(0 - parseInt(this.offsetHeight / 2) + (TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop) + 'px'); +} + +#TB_HideSelect{ + z-index:99; + position:fixed; + top: 0; + left: 0; + background-color:#fff; + border:none; + filter:alpha(opacity=0); + -moz-opacity: 0; + opacity: 0; + height:100%; + width:100%; +} + +* html #TB_HideSelect { /* ie6 hack */ + position: absolute; + height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px'); +} + +#TB_iframeContent{ + clear:both; + border:none; + margin-bottom:-1px; + margin-top:1px; + _margin-bottom:1px; +} diff --git a/wp-includes/js/thickbox/thickbox.js b/wp-includes/js/thickbox/thickbox.js new file mode 100644 index 0000000000..f31d779aac --- /dev/null +++ b/wp-includes/js/thickbox/thickbox.js @@ -0,0 +1,320 @@ +/* + * Thickbox 3.1 - One Box To Rule Them All. + * By Cody Lindley (http://www.codylindley.com) + * Copyright (c) 2007 cody lindley + * Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php +*/ + +var tb_pathToImage = "../wp-includes/js/thickbox/loadingAnimation.gif"; +var tb_closeImage = "../wp-includes/js/thickbox/tb-close.png"; + +/*!!!!!!!!!!!!!!!!! edit below this line at your own risk !!!!!!!!!!!!!!!!!!!!!!!*/ + +//on page load call tb_init +addLoadEvent(function(){ + tb_init('a.thickbox, area.thickbox, input.thickbox');//pass where to apply thickbox + imgLoader = new Image();// preload image + imgLoader.src = tb_pathToImage; +}); + +//add thickbox to href & area elements that have a class of .thickbox +function tb_init(domChunk){ + jQuery(domChunk).click(function(){ + var t = this.title || this.name || null; + var a = this.href || this.alt; + var g = this.rel || false; + tb_show(t,a,g); + this.blur(); + return false; + }); +} + +function tb_show(caption, url, imageGroup) {//function called when the user clicks on a thickbox link + + try { + if (typeof document.body.style.maxHeight === "undefined") {//if IE 6 + jQuery("body","html").css({height: "100%", width: "100%"}); + jQuery("html").css("overflow","hidden"); + if (document.getElementById("TB_HideSelect") === null) {//iframe to hide select elements in ie6 + jQuery("body").append("
"); + jQuery("#TB_overlay").click(tb_remove); + } + }else{//all others + if(document.getElementById("TB_overlay") === null){ + jQuery("body").append("
"); + jQuery("#TB_overlay").click(tb_remove); + } + } + + if(tb_detectMacXFF()){ + jQuery("#TB_overlay").addClass("TB_overlayMacFFBGHack");//use png overlay so hide flash + }else{ + jQuery("#TB_overlay").addClass("TB_overlayBG");//use background and opacity + } + + if(caption===null){caption="";} + jQuery("body").append("
");//add loader to the page + jQuery('#TB_load').show();//show loader + + var baseURL; + if(url.indexOf("?")!==-1){ //ff there is a query string involved + baseURL = url.substr(0, url.indexOf("?")); + }else{ + baseURL = url; + } + + var urlString = /\.jpg$|\.jpeg$|\.png$|\.gif$|\.bmp$/; + var urlType = baseURL.toLowerCase().match(urlString); + + if(urlType == '.jpg' || urlType == '.jpeg' || urlType == '.png' || urlType == '.gif' || urlType == '.bmp'){//code to show images + + TB_PrevCaption = ""; + TB_PrevURL = ""; + TB_PrevHTML = ""; + TB_NextCaption = ""; + TB_NextURL = ""; + TB_NextHTML = ""; + TB_imageCount = ""; + TB_FoundURL = false; + if(imageGroup){ + TB_TempArray = jQuery("a[@rel="+imageGroup+"]").get(); + for (TB_Counter = 0; ((TB_Counter < TB_TempArray.length) && (TB_NextHTML === "")); TB_Counter++) { + var urlTypeTemp = TB_TempArray[TB_Counter].href.toLowerCase().match(urlString); + if (!(TB_TempArray[TB_Counter].href == url)) { + if (TB_FoundURL) { + TB_NextCaption = TB_TempArray[TB_Counter].title; + TB_NextURL = TB_TempArray[TB_Counter].href; + TB_NextHTML = "  Next >"; + } else { + TB_PrevCaption = TB_TempArray[TB_Counter].title; + TB_PrevURL = TB_TempArray[TB_Counter].href; + TB_PrevHTML = "  < Prev"; + } + } else { + TB_FoundURL = true; + TB_imageCount = "Image " + (TB_Counter + 1) +" of "+ (TB_TempArray.length); + } + } + } + + imgPreloader = new Image(); + imgPreloader.onload = function(){ + imgPreloader.onload = null; + + // Resizing large images - orginal by Christian Montoya edited by me. + var pagesize = tb_getPageSize(); + var x = pagesize[0] - 150; + var y = pagesize[1] - 150; + var imageWidth = imgPreloader.width; + var imageHeight = imgPreloader.height; + if (imageWidth > x) { + imageHeight = imageHeight * (x / imageWidth); + imageWidth = x; + if (imageHeight > y) { + imageWidth = imageWidth * (y / imageHeight); + imageHeight = y; + } + } else if (imageHeight > y) { + imageWidth = imageWidth * (y / imageHeight); + imageHeight = y; + if (imageWidth > x) { + imageHeight = imageHeight * (x / imageWidth); + imageWidth = x; + } + } + // End Resizing + + TB_WIDTH = imageWidth + 30; + TB_HEIGHT = imageHeight + 60; + jQuery("#TB_window").append(""+caption+"" + "
"+caption+"
" + TB_imageCount + TB_PrevHTML + TB_NextHTML + "
"); + + jQuery("#TB_closeWindowButton").click(tb_remove); + + if (!(TB_PrevHTML === "")) { + function goPrev(){ + if(jQuery(document).unbind("click",goPrev)){jQuery(document).unbind("click",goPrev);} + jQuery("#TB_window").remove(); + jQuery("body").append("
"); + tb_show(TB_PrevCaption, TB_PrevURL, imageGroup); + return false; + } + jQuery("#TB_prev").click(goPrev); + } + + if (!(TB_NextHTML === "")) { + function goNext(){ + jQuery("#TB_window").remove(); + jQuery("body").append("
"); + tb_show(TB_NextCaption, TB_NextURL, imageGroup); + return false; + } + jQuery("#TB_next").click(goNext); + + } + + document.onkeydown = function(e){ + if (e == null) { // ie + keycode = event.keyCode; + } else { // mozilla + keycode = e.which; + } + if(keycode == 27){ // close + tb_remove(); + } else if(keycode == 190){ // display previous image + if(!(TB_NextHTML == "")){ + document.onkeydown = ""; + goNext(); + } + } else if(keycode == 188){ // display next image + if(!(TB_PrevHTML == "")){ + document.onkeydown = ""; + goPrev(); + } + } + }; + + tb_position(); + jQuery("#TB_load").remove(); + jQuery("#TB_ImageOff").click(tb_remove); + jQuery("#TB_window").css({display:"block"}); //for safari using css instead of show + }; + + imgPreloader.src = url; + }else{//code to show html + + var queryString = url.replace(/^[^\?]+\??/,''); + var params = tb_parseQuery( queryString ); + + TB_WIDTH = (params['width']*1) + 30 || 630; //defaults to 630 if no paramaters were added to URL + TB_HEIGHT = (params['height']*1) + 40 || 440; //defaults to 440 if no paramaters were added to URL + ajaxContentW = TB_WIDTH - 30; + ajaxContentH = TB_HEIGHT - 45; + + if(url.indexOf('TB_iframe') != -1){// either iframe or ajax window + urlNoQuery = url.split('TB_'); + jQuery("#TB_iframeContent").remove(); + if(params['modal'] != "true"){//iframe no modal + jQuery("#TB_window").append("
"+caption+"
"); + }else{//iframe modal + jQuery("#TB_overlay").unbind(); + jQuery("#TB_window").append(""); + } + }else{// not an iframe, ajax + if(jQuery("#TB_window").css("display") != "block"){ + if(params['modal'] != "true"){//ajax no modal + jQuery("#TB_window").append("
"+caption+"
"); + }else{//ajax modal + jQuery("#TB_overlay").unbind(); + jQuery("#TB_window").append("
"); + } + }else{//this means the window is already up, we are just loading new content via ajax + jQuery("#TB_ajaxContent")[0].style.width = ajaxContentW +"px"; + jQuery("#TB_ajaxContent")[0].style.height = ajaxContentH +"px"; + jQuery("#TB_ajaxContent")[0].scrollTop = 0; + jQuery("#TB_ajaxWindowTitle").html(caption); + } + } + + jQuery("#TB_closeWindowButton").click(tb_remove); + + if(url.indexOf('TB_inline') != -1){ + jQuery("#TB_ajaxContent").append(jQuery('#' + params['inlineId']).children()); + jQuery("#TB_window").unload(function () { + jQuery('#' + params['inlineId']).append( jQuery("#TB_ajaxContent").children() ); // move elements back when you're finished + }); + tb_position(); + jQuery("#TB_load").remove(); + jQuery("#TB_window").css({display:"block"}); + }else if(url.indexOf('TB_iframe') != -1){ + tb_position(); + if($.browser.safari){//safari needs help because it will not fire iframe onload + jQuery("#TB_load").remove(); + jQuery("#TB_window").css({display:"block"}); + } + }else{ + jQuery("#TB_ajaxContent").load(url += "&random=" + (new Date().getTime()),function(){//to do a post change this load method + tb_position(); + jQuery("#TB_load").remove(); + tb_init("#TB_ajaxContent a.thickbox"); + jQuery("#TB_window").css({display:"block"}); + }); + } + + } + + if(!params['modal']){ + document.onkeyup = function(e){ + if (e == null) { // ie + keycode = event.keyCode; + } else { // mozilla + keycode = e.which; + } + if(keycode == 27){ // close + tb_remove(); + } + }; + } + + } catch(e) { + //nothing here + } +} + +//helper functions below +function tb_showIframe(){ + jQuery("#TB_load").remove(); + jQuery("#TB_window").css({display:"block"}); +} + +function tb_remove() { + jQuery("#TB_imageOff").unbind("click"); + jQuery("#TB_closeWindowButton").unbind("click"); + jQuery("#TB_window").fadeOut("fast",function(){jQuery('#TB_window,#TB_overlay,#TB_HideSelect').trigger("unload").unbind().remove();}); + jQuery("#TB_load").remove(); + if (typeof document.body.style.maxHeight == "undefined") {//if IE 6 + jQuery("body","html").css({height: "auto", width: "auto"}); + jQuery("html").css("overflow",""); + } + document.onkeydown = ""; + document.onkeyup = ""; + return false; +} + +function tb_position() { +jQuery("#TB_window").css({marginLeft: '-' + parseInt((TB_WIDTH / 2),10) + 'px', width: TB_WIDTH + 'px'}); + if ( !(jQuery.browser.msie && jQuery.browser.version < 7)) { // take away IE6 + jQuery("#TB_window").css({marginTop: '-' + parseInt((TB_HEIGHT / 2),10) + 'px'}); + } +} + +function tb_parseQuery ( query ) { + var Params = {}; + if ( ! query ) {return Params;}// return empty object + var Pairs = query.split(/[;&]/); + for ( var i = 0; i < Pairs.length; i++ ) { + var KeyVal = Pairs[i].split('='); + if ( ! KeyVal || KeyVal.length != 2 ) {continue;} + var key = unescape( KeyVal[0] ); + var val = unescape( KeyVal[1] ); + val = val.replace(/\+/g, ' '); + Params[key] = val; + } + return Params; +} + +function tb_getPageSize(){ + var de = document.documentElement; + var w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth; + var h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight; + arrayPageSize = [w,h]; + return arrayPageSize; +} + +function tb_detectMacXFF() { + var userAgent = navigator.userAgent.toLowerCase(); + if (userAgent.indexOf('mac') != -1 && userAgent.indexOf('firefox')!=-1) { + return true; + } +} + + diff --git a/wp-includes/script-loader.php b/wp-includes/script-loader.php index 73445122cc..21ed93c90b 100644 --- a/wp-includes/script-loader.php +++ b/wp-includes/script-loader.php @@ -84,6 +84,7 @@ class WP_Scripts { $this->add( 'dimensions', '/wp-includes/js/jquery/jquery.dimensions.min.js', array('jquery'), '1.1.2'); $this->add( 'suggest', '/wp-includes/js/jquery/suggest.js', array('dimensions'), '1.1'); $this->add( 'schedule', '/wp-includes/js/jquery/jquery.schedule.js', array('jquery'), '20'); + $this->add( 'thickbox', '/wp-includes/js/thickbox/thickbox.js', array('jquery'), '3.1'); if ( is_admin() ) { $this->add( 'ajaxcat', '/wp-admin/js/cat.js', array( 'wp-lists' ), '20071101' ); @@ -107,6 +108,7 @@ class WP_Scripts { $this->add( 'xfn', '/wp-admin/js/xfn.js', false, '3517' ); $this->add( 'upload', '/wp-admin/js/upload.js', array('jquery'), '20070518' ); $this->add( 'post', '/wp-admin/js/post.js', array('suggest'), '20080102' ); + $this->add( 'media-upload', '/wp-admin/js/media-upload.js', false, '20080109' ); $this->localize( 'upload', 'uploadL10n', array( 'browseTitle' => attribute_escape(__('Browse your files')), 'back' => __('« Back'),