From 75e2d83ad54c0ce7232dd8d0ba539bd1282fd1e2 Mon Sep 17 00:00:00 2001
From: ale <ale@incal.net>
Date: Fri, 24 Apr 2015 20:21:45 +0100
Subject: [PATCH] Upgrade Wordpress to 4.1.3

---
 readme.html                                   |   2 +-
 wp-admin/about.php                            |  10 +-
 .../includes/class-wp-comments-list-table.php |   4 +-
 wp-admin/includes/dashboard.php               |   2 +-
 wp-admin/includes/template.php                |   2 +-
 wp-admin/js/nav-menu.js                       |   6 +-
 wp-admin/js/nav-menu.min.js                   |   2 +-
 wp-admin/update-core.php                      |   4 +-
 wp-content/plugins/akismet/_inc/akismet.css   |   7 +-
 wp-content/plugins/akismet/_inc/akismet.js    |   6 +-
 wp-content/plugins/akismet/akismet.php        |   6 +-
 wp-content/plugins/akismet/class.akismet.php  | 137 ++-
 wp-content/plugins/akismet/readme.txt         |  18 +-
 wp-content/plugins/akismet/views/config.php   |  34 +-
 wp-content/plugins/akismet/views/notice.php   |   2 +-
 wp-content/plugins/akismet/wrapper.php        |  92 +-
 wp-includes/capabilities.php                  |  12 +-
 wp-includes/class-wp-editor.php               |   6 -
 wp-includes/formatting.php                    |  22 +-
 wp-includes/functions.php                     |   2 +-
 wp-includes/js/plupload/plupload.flash.swf    | Bin 28902 -> 29577 bytes
 wp-includes/version.php                       |   2 +-
 wp-includes/wp-db.php                         | 808 ++++++++++++++++--
 23 files changed, 1001 insertions(+), 185 deletions(-)

diff --git a/readme.html b/readme.html
index 164a54233..09f0376eb 100644
--- a/readme.html
+++ b/readme.html
@@ -9,7 +9,7 @@
 <body>
 <h1 id="logo">
 	<a href="https://wordpress.org/"><img alt="WordPress" src="wp-admin/images/wordpress-logo.png" /></a>
-	<br /> Version 4.1.1
+	<br /> Version 4.1.3
 </h1>
 <p style="text-align: center">Semantic Personal Publishing Platform</p>
 
diff --git a/wp-admin/about.php b/wp-admin/about.php
index c8512135b..b0ec9a436 100644
--- a/wp-admin/about.php
+++ b/wp-admin/about.php
@@ -42,7 +42,15 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 </h2>
 
 <div class="changelog point-releases">
-	<h3><?php echo _n( 'Maintenance Release', 'Maintenance Releases', 1 ); ?></h3>
+	<h3><?php echo _n( 'Maintenance and Security Release', 'Maintenance and Security Releases', 3 ); ?></h3>
+	<p><?php printf( _n( '<strong>Version %1$s</strong> addressed %2$s bug.',
+         '<strong>Version %1$s</strong> addressed %2$s bugs.', 1 ), '4.1.3', number_format_i18n( 1 ) ); ?>
+		<?php printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'http://codex.wordpress.org/Version_4.1.3' ); ?>
+ 	</p>
+	<p><?php printf( _n( '<strong>Version %1$s</strong> addressed a security issue.',
+         '<strong>Version %1$s</strong> addressed some security issues.', 8 ), '4.1.2' ); ?>
+		<?php printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'http://codex.wordpress.org/Version_4.1.2' ); ?>
+ 	</p>
 	<p><?php printf( _n( '<strong>Version %1$s</strong> addressed %2$s bug.',
          '<strong>Version %1$s</strong> addressed %2$s bugs.', 21 ), '4.1.1', number_format_i18n( 21 ) ); ?>
 		<?php printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'http://codex.wordpress.org/Version_4.1.1' ); ?>
diff --git a/wp-admin/includes/class-wp-comments-list-table.php b/wp-admin/includes/class-wp-comments-list-table.php
index 3814f98bc..35a193f1c 100644
--- a/wp-admin/includes/class-wp-comments-list-table.php
+++ b/wp-admin/includes/class-wp-comments-list-table.php
@@ -554,9 +554,9 @@ class WP_Comments_List_Table extends WP_List_Table {
 
 		if ( current_user_can( 'edit_post', $post->ID ) ) {
 			$post_link = "<a href='" . get_edit_post_link( $post->ID ) . "'>";
-			$post_link .= get_the_title( $post->ID ) . '</a>';
+			$post_link .= esc_html( get_the_title( $post->ID ) ) . '</a>';
 		} else {
-			$post_link = get_the_title( $post->ID );
+			$post_link = esc_html( get_the_title( $post->ID ) );
 		}
 
 		echo '<div class="response-links"><span class="post-com-count-wrapper">';
diff --git a/wp-admin/includes/dashboard.php b/wp-admin/includes/dashboard.php
index bf37176ba..75a5b1cb8 100644
--- a/wp-admin/includes/dashboard.php
+++ b/wp-admin/includes/dashboard.php
@@ -518,7 +518,7 @@ function wp_dashboard_recent_drafts( $drafts = false ) {
 function _wp_dashboard_recent_comments_row( &$comment, $show_date = true ) {
 	$GLOBALS['comment'] =& $comment;
 
-	$comment_post_title = strip_tags(get_the_title( $comment->comment_post_ID ));
+	$comment_post_title = _draft_or_post_title( $comment->comment_post_ID );
 
 	if ( current_user_can( 'edit_post', $comment->comment_post_ID ) ) {
 		$comment_post_url = get_edit_post_link( $comment->comment_post_ID );
diff --git a/wp-admin/includes/template.php b/wp-admin/includes/template.php
index 425e40b0f..1087837cd 100644
--- a/wp-admin/includes/template.php
+++ b/wp-admin/includes/template.php
@@ -1505,7 +1505,7 @@ function _draft_or_post_title( $post = 0 ) {
 	$title = get_the_title( $post );
 	if ( empty( $title ) )
 		$title = __( '(no title)' );
-	return $title;
+	return esc_html( $title );
 }
 
 /**
diff --git a/wp-admin/js/nav-menu.js b/wp-admin/js/nav-menu.js
index dc2183c9a..33324b149 100644
--- a/wp-admin/js/nav-menu.js
+++ b/wp-admin/js/nav-menu.js
@@ -453,14 +453,14 @@ var wpNavMenu;
 				if ( ! isPrimaryMenuItem ) {
 					thisLink = menuItem.find( '.menus-move-left' ),
 					thisLinkText = menus.outFrom.replace( '%s', prevItemNameLeft );
-					thisLink.prop( 'title', menus.moveOutFrom.replace( '%s', prevItemNameLeft ) ).html( thisLinkText ).css( 'display', 'inline' );
+					thisLink.prop( 'title', menus.moveOutFrom.replace( '%s', prevItemNameLeft ) ).text( thisLinkText ).css( 'display', 'inline' );
 				}
 
 				if ( 0 !== position ) {
 					if ( menuItem.find( '.menu-item-data-parent-id' ).val() !== menuItem.prev().find( '.menu-item-data-db-id' ).val() ) {
 						thisLink = menuItem.find( '.menus-move-right' ),
 						thisLinkText = menus.under.replace( '%s', prevItemNameRight );
-						thisLink.prop( 'title', menus.moveUnder.replace( '%s', prevItemNameRight ) ).html( thisLinkText ).css( 'display', 'inline' );
+						thisLink.prop( 'title', menus.moveUnder.replace( '%s', prevItemNameRight ) ).text( thisLinkText ).css( 'display', 'inline' );
 					}
 				}
 
@@ -482,7 +482,7 @@ var wpNavMenu;
 					title = menus.subMenuFocus.replace( '%1$s', itemName ).replace( '%2$d', itemPosition ).replace( '%3$s', parentItemName );
 				}
 
-				$this.prop('title', title).html( title );
+				$this.prop('title', title).text( title );
 			});
 		},
 
diff --git a/wp-admin/js/nav-menu.min.js b/wp-admin/js/nav-menu.min.js
index f270b4948..62befe4e2 100644
--- a/wp-admin/js/nav-menu.min.js
+++ b/wp-admin/js/nav-menu.min.js
@@ -1 +1 @@
-var wpNavMenu;!function(a){var b;b=wpNavMenu={options:{menuItemDepthPerLevel:30,globalMaxDepth:11},menuList:void 0,targetList:void 0,menusChanged:!1,isRTL:!("undefined"==typeof isRtl||!isRtl),negateIfRTL:"undefined"!=typeof isRtl&&isRtl?-1:1,init:function(){b.menuList=a("#menu-to-edit"),b.targetList=b.menuList,this.jQueryExtensions(),this.attachMenuEditListeners(),this.setupInputWithDefaultTitle(),this.attachQuickSearchListeners(),this.attachThemeLocationsListeners(),this.attachTabsPanelListeners(),this.attachUnsavedChangesListener(),b.menuList.length&&this.initSortables(),menus.oneThemeLocationNoMenus&&a("#posttype-page").addSelectedToMenu(b.addMenuItemToBottom),this.initManageLocations(),this.initAccessibility(),this.initToggles(),this.initPreviewing()},jQueryExtensions:function(){a.fn.extend({menuItemDepth:function(){var a=this.eq(0).css(b.isRTL?"margin-right":"margin-left");return b.pxToDepth(a&&-1!=a.indexOf("px")?a.slice(0,-2):0)},updateDepthClass:function(b,c){return this.each(function(){var d=a(this);c=c||d.menuItemDepth(),a(this).removeClass("menu-item-depth-"+c).addClass("menu-item-depth-"+b)})},shiftDepthClass:function(b){return this.each(function(){var c=a(this),d=c.menuItemDepth();a(this).removeClass("menu-item-depth-"+d).addClass("menu-item-depth-"+(d+b))})},childMenuItems:function(){var b=a();return this.each(function(){for(var c=a(this),d=c.menuItemDepth(),e=c.next();e.length&&e.menuItemDepth()>d;)b=b.add(e),e=e.next()}),b},shiftHorizontally:function(b){return this.each(function(){var c=a(this),d=c.menuItemDepth(),e=d+b;c.moveHorizontally(e,d)})},moveHorizontally:function(b,c){return this.each(function(){var d=a(this),e=d.childMenuItems(),f=b-c,g=d.find(".is-submenu");d.updateDepthClass(b,c).updateParentMenuItemDBId(),e&&e.each(function(){var b=a(this),c=b.menuItemDepth(),d=c+f;b.updateDepthClass(d,c).updateParentMenuItemDBId()}),0===b?g.hide():g.show()})},updateParentMenuItemDBId:function(){return this.each(function(){var b=a(this),c=b.find(".menu-item-data-parent-id"),d=parseInt(b.menuItemDepth(),10),e=d-1,f=b.prevAll(".menu-item-depth-"+e).first();c.val(0===d?0:f.find(".menu-item-data-db-id").val())})},hideAdvancedMenuItemFields:function(){return this.each(function(){var b=a(this);a(".hide-column-tog").not(":checked").each(function(){b.find(".field-"+a(this).val()).addClass("hidden-field")})})},addSelectedToMenu:function(c){return 0===a("#menu-to-edit").length?!1:this.each(function(){var d=a(this),e={},f=d.find(menus.oneThemeLocationNoMenus&&0===d.find(".tabs-panel-active .categorychecklist li input:checked").length?'#page-all li input[type="checkbox"]':".tabs-panel-active .categorychecklist li input:checked"),g=/menu-item\[([^\]]*)/;return c=c||b.addMenuItemToBottom,f.length?(d.find(".spinner").show(),a(f).each(function(){var d=a(this),f=g.exec(d.attr("name")),h="undefined"==typeof f[1]?0:parseInt(f[1],10);this.className&&-1!=this.className.indexOf("add-to-top")&&(c=b.addMenuItemToTop),e[h]=d.closest("li").getItemData("add-menu-item",h)}),void b.addItemToMenu(e,c,function(){f.removeAttr("checked"),d.find(".spinner").hide()})):!1})},getItemData:function(a,b){a=a||"menu-item";var c,d={},e=["menu-item-db-id","menu-item-object-id","menu-item-object","menu-item-parent-id","menu-item-position","menu-item-type","menu-item-title","menu-item-url","menu-item-description","menu-item-attr-title","menu-item-target","menu-item-classes","menu-item-xfn"];return b||"menu-item"!=a||(b=this.find(".menu-item-data-db-id").val()),b?(this.find("input").each(function(){var f;for(c=e.length;c--;)"menu-item"==a?f=e[c]+"["+b+"]":"add-menu-item"==a&&(f="menu-item["+b+"]["+e[c]+"]"),this.name&&f==this.name&&(d[e[c]]=this.value)}),d):d},setItemData:function(b,c,d){return c=c||"menu-item",d||"menu-item"!=c||(d=a(".menu-item-data-db-id",this).val()),d?(this.find("input").each(function(){var e,f=a(this);a.each(b,function(a,b){"menu-item"==c?e=a+"["+d+"]":"add-menu-item"==c&&(e="menu-item["+d+"]["+a+"]"),e==f.attr("name")&&f.val(b)})}),this):this}})},countMenuItems:function(b){return a(".menu-item-depth-"+b).length},moveMenuItem:function(c,d){var e,f,g,h=a("#menu-to-edit li"),i=h.length,j=c.parents("li.menu-item"),k=j.childMenuItems(),l=j.getItemData(),m=parseInt(j.menuItemDepth(),10),n=parseInt(j.index(),10),o=j.next(),p=o.childMenuItems(),q=parseInt(o.menuItemDepth(),10)+1,r=j.prev(),s=parseInt(r.menuItemDepth(),10),t=r.getItemData()["menu-item-db-id"];switch(d){case"up":if(f=n-1,0===n)break;0===f&&0!==m&&j.moveHorizontally(0,m),0!==s&&j.moveHorizontally(s,m),k?(e=j.add(k),e.detach().insertBefore(h.eq(f)).updateParentMenuItemDBId()):j.detach().insertBefore(h.eq(f)).updateParentMenuItemDBId();break;case"down":if(k){if(e=j.add(k),o=h.eq(e.length+n),p=0!==o.childMenuItems().length,p&&(g=parseInt(o.menuItemDepth(),10)+1,j.moveHorizontally(g,m)),i===n+e.length)break;e.detach().insertAfter(h.eq(n+e.length)).updateParentMenuItemDBId()}else{if(0!==p.length&&j.moveHorizontally(q,m),i===n+1)break;j.detach().insertAfter(h.eq(n+1)).updateParentMenuItemDBId()}break;case"top":if(0===n)break;k?(e=j.add(k),e.detach().insertBefore(h.eq(0)).updateParentMenuItemDBId()):j.detach().insertBefore(h.eq(0)).updateParentMenuItemDBId();break;case"left":if(0===m)break;j.shiftHorizontally(-1);break;case"right":if(0===n)break;if(l["menu-item-parent-id"]===t)break;j.shiftHorizontally(1)}c.focus(),b.registerChange(),b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility()},initAccessibility:function(){var c=a("#menu-to-edit");b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility(),c.on("click",".menus-move-up",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"up"),c.preventDefault()}),c.on("click",".menus-move-down",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"down"),c.preventDefault()}),c.on("click",".menus-move-top",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"top"),c.preventDefault()}),c.on("click",".menus-move-left",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"left"),c.preventDefault()}),c.on("click",".menus-move-right",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"right"),c.preventDefault()})},refreshAdvancedAccessibility:function(){a(".menu-item-settings .field-move a").css("display","none"),a(".item-edit").each(function(){var b,c,d,e,f,g,h,i,j,k=a(this),l=k.closest("li.menu-item").first(),m=l.menuItemDepth(),n=0===m,o=k.closest(".menu-item-handle").find(".menu-item-title").text(),p=parseInt(l.index(),10),q=n?m:parseInt(m-1,10),r=l.prevAll(".menu-item-depth-"+q).first().find(".menu-item-title").text(),s=l.prevAll(".menu-item-depth-"+m).first().find(".menu-item-title").text(),t=a("#menu-to-edit li").length,u=l.nextAll(".menu-item-depth-"+m).length;0!==p&&(b=l.find(".menus-move-up"),b.prop("title",menus.moveUp).css("display","inline")),0!==p&&n&&(b=l.find(".menus-move-top"),b.prop("title",menus.moveToTop).css("display","inline")),p+1!==t&&0!==p&&(b=l.find(".menus-move-down"),b.prop("title",menus.moveDown).css("display","inline")),0===p&&0!==u&&(b=l.find(".menus-move-down"),b.prop("title",menus.moveDown).css("display","inline")),n||(b=l.find(".menus-move-left"),c=menus.outFrom.replace("%s",r),b.prop("title",menus.moveOutFrom.replace("%s",r)).html(c).css("display","inline")),0!==p&&l.find(".menu-item-data-parent-id").val()!==l.prev().find(".menu-item-data-db-id").val()&&(b=l.find(".menus-move-right"),c=menus.under.replace("%s",s),b.prop("title",menus.moveUnder.replace("%s",s)).html(c).css("display","inline")),n?(d=a(".menu-item-depth-0"),e=d.index(l)+1,t=d.length,f=menus.menuFocus.replace("%1$s",o).replace("%2$d",e).replace("%3$d",t)):(g=l.prevAll(".menu-item-depth-"+parseInt(m-1,10)).first(),h=g.find(".menu-item-data-db-id").val(),i=g.find(".menu-item-title").text(),j=a('.menu-item .menu-item-data-parent-id[value="'+h+'"]'),e=a(j.parents(".menu-item").get().reverse()).index(l)+1,f=menus.subMenuFocus.replace("%1$s",o).replace("%2$d",e).replace("%3$s",i)),k.prop("title",f).html(f)})},refreshKeyboardAccessibility:function(){a(".item-edit").off("focus").on("focus",function(){a(this).off("keydown").on("keydown",function(c){var d,e=a(this),f=e.parents("li.menu-item"),g=f.getItemData();if((37==c.which||38==c.which||39==c.which||40==c.which)&&(e.off("keydown"),1!==a("#menu-to-edit li").length)){switch(d={38:"up",40:"down",37:"left",39:"right"},a("body").hasClass("rtl")&&(d={38:"up",40:"down",39:"left",37:"right"}),d[c.which]){case"up":b.moveMenuItem(e,"up");break;case"down":b.moveMenuItem(e,"down");break;case"left":b.moveMenuItem(e,"left");break;case"right":b.moveMenuItem(e,"right")}return a("#edit-"+g["menu-item-db-id"]).focus(),!1}})})},initPreviewing:function(){a("#menu-to-edit").on("change input",".edit-menu-item-title",function(b){var c,d,e=a(b.currentTarget);c=e.val(),d=e.closest(".menu-item").find(".menu-item-title"),c?d.text(c).removeClass("no-title"):d.text(navMenuL10n.untitled).addClass("no-title")})},initToggles:function(){postboxes.add_postbox_toggles("nav-menus"),columns.useCheckboxesForHidden(),columns.checked=function(b){a(".field-"+b).removeClass("hidden-field")},columns.unchecked=function(b){a(".field-"+b).addClass("hidden-field")},b.menuList.hideAdvancedMenuItemFields(),a(".hide-postbox-tog").click(function(){var b=a(".accordion-container li.accordion-section").filter(":hidden").map(function(){return this.id}).get().join(",");a.post(ajaxurl,{action:"closed-postboxes",hidden:b,closedpostboxesnonce:jQuery("#closedpostboxesnonce").val(),page:"nav-menus"})})},initSortables:function(){function c(a){var c;j=a.placeholder.prev(),k=a.placeholder.next(),j[0]==a.item[0]&&(j=j.prev()),k[0]==a.item[0]&&(k=k.next()),l=j.length?j.offset().top+j.height():0,m=k.length?k.offset().top+k.height()/3:0,h=k.length?k.menuItemDepth():0,i=j.length?(c=j.menuItemDepth()+1)>b.options.globalMaxDepth?b.options.globalMaxDepth:c:0}function d(a,b){a.placeholder.updateDepthClass(b,q),q=b}function e(){if(!s[0].className)return 0;var a=s[0].className.match(/menu-max-depth-(\d+)/);return a&&a[1]?parseInt(a[1],10):0}function f(c){var d,e=t;if(0!==c){if(c>0)d=p+c,d>t&&(e=d);else if(0>c&&p==t)for(;!a(".menu-item-depth-"+e,b.menuList).length&&e>0;)e--;s.removeClass("menu-max-depth-"+t).addClass("menu-max-depth-"+e),t=e}}var g,h,i,j,k,l,m,n,o,p,q=0,r=b.menuList.offset().left,s=a("body"),t=e();0!==a("#menu-to-edit li").length&&a(".drag-instructions").show(),r+=b.isRTL?b.menuList.width():0,b.menuList.sortable({handle:".menu-item-handle",placeholder:"sortable-placeholder",start:function(e,f){var h,i,j,k,l;b.isRTL&&(f.item[0].style.right="auto"),o=f.item.children(".menu-item-transport"),g=f.item.menuItemDepth(),d(f,g),j=f.item.next()[0]==f.placeholder[0]?f.item.next():f.item,k=j.childMenuItems(),o.append(k),h=o.outerHeight(),h+=h>0?1*f.placeholder.css("margin-top").slice(0,-2):0,h+=f.helper.outerHeight(),n=h,h-=2,f.placeholder.height(h),p=g,k.each(function(){var b=a(this).menuItemDepth();p=b>p?b:p}),i=f.helper.find(".menu-item-handle").outerWidth(),i+=b.depthToPx(p-g),i-=2,f.placeholder.width(i),l=f.placeholder.next(),l.css("margin-top",n+"px"),f.placeholder.detach(),a(this).sortable("refresh"),f.item.after(f.placeholder),l.css("margin-top",0),c(f)},stop:function(a,c){var d,e,h=q-g;d=o.children().insertAfter(c.item),e=c.item.find(".item-title .is-submenu"),q>0?e.show():e.hide(),0!==h&&(c.item.updateDepthClass(q),d.shiftDepthClass(h),f(h)),b.registerChange(),c.item.updateParentMenuItemDBId(),c.item[0].style.top=0,b.isRTL&&(c.item[0].style.left="auto",c.item[0].style.right=0),b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility()},change:function(a,d){d.placeholder.parent().hasClass("menu")||(j.length?j.after(d.placeholder):b.menuList.prepend(d.placeholder)),c(d)},sort:function(e,f){var g=f.helper.offset(),j=b.isRTL?g.left+f.helper.width():g.left,o=b.negateIfRTL*b.pxToDepth(j-r);o>i||g.top<l?o=i:h>o&&(o=h),o!=q&&d(f,o),m&&g.top+n>m&&(k.after(f.placeholder),c(f),a(this).sortable("refreshPositions"))}})},initManageLocations:function(){a("#menu-locations-wrap form").submit(function(){window.onbeforeunload=null}),a(".menu-location-menus select").on("change",function(){var b=a(this).closest("tr").find(".locations-edit-menu-link");a(this).find("option:selected").data("orig")?b.show():b.hide()})},attachMenuEditListeners:function(){var b=this;a("#update-nav-menu").bind("click",function(a){if(a.target&&a.target.className){if(-1!=a.target.className.indexOf("item-edit"))return b.eventOnClickEditLink(a.target);if(-1!=a.target.className.indexOf("menu-save"))return b.eventOnClickMenuSave(a.target);if(-1!=a.target.className.indexOf("menu-delete"))return b.eventOnClickMenuDelete(a.target);if(-1!=a.target.className.indexOf("item-delete"))return b.eventOnClickMenuItemDelete(a.target);if(-1!=a.target.className.indexOf("item-cancel"))return b.eventOnClickCancelLink(a.target)}}),a('#add-custom-links input[type="text"]').keypress(function(b){13===b.keyCode&&(b.preventDefault(),a("#submit-customlinkdiv").click())})},setupInputWithDefaultTitle:function(){var b="input-with-default-title";a("."+b).each(function(){var c=a(this),d=c.attr("title"),e=c.val();if(c.data(b,d),""===e)c.val(d);else{if(d==e)return;c.removeClass(b)}}).focus(function(){var c=a(this);c.val()==c.data(b)&&c.val("").removeClass(b)}).blur(function(){var c=a(this);""===c.val()&&c.addClass(b).val(c.data(b))}),a(".blank-slate .input-with-default-title").focus()},attachThemeLocationsListeners:function(){var b=a("#nav-menu-theme-locations"),c={};c.action="menu-locations-save",c["menu-settings-column-nonce"]=a("#menu-settings-column-nonce").val(),b.find('input[type="submit"]').click(function(){return b.find("select").each(function(){c[this.name]=a(this).val()}),b.find(".spinner").show(),a.post(ajaxurl,c,function(){b.find(".spinner").hide()}),!1})},attachQuickSearchListeners:function(){var c;a(".quick-search").keypress(function(d){var e=a(this);return 13==d.which?(b.updateQuickSearchResults(e),!1):(c&&clearTimeout(c),void(c=setTimeout(function(){b.updateQuickSearchResults(e)},400)))}).attr("autocomplete","off")},updateQuickSearchResults:function(c){var d,e,f=2,g=c.val();g.length<f||(d=c.parents(".tabs-panel"),e={action:"menu-quick-search","response-format":"markup",menu:a("#menu").val(),"menu-settings-column-nonce":a("#menu-settings-column-nonce").val(),q:g,type:c.attr("name")},a(".spinner",d).show(),a.post(ajaxurl,e,function(a){b.processQuickSearchQueryResponse(a,e,d)}))},addCustomLink:function(c){var d=a("#custom-menu-item-url").val(),e=a("#custom-menu-item-name").val();return c=c||b.addMenuItemToBottom,""===d||"http://"==d?!1:(a(".customlinkdiv .spinner").show(),void this.addLinkToMenu(d,e,c,function(){a(".customlinkdiv .spinner").hide(),a("#custom-menu-item-name").val("").blur(),a("#custom-menu-item-url").val("http://")}))},addLinkToMenu:function(a,c,d,e){d=d||b.addMenuItemToBottom,e=e||function(){},b.addItemToMenu({"-1":{"menu-item-type":"custom","menu-item-url":a,"menu-item-title":c}},d,e)},addItemToMenu:function(b,c,d){var e,f=a("#menu").val(),g=a("#menu-settings-column-nonce").val();c=c||function(){},d=d||function(){},e={action:"add-menu-item",menu:f,"menu-settings-column-nonce":g,"menu-item":b},a.post(ajaxurl,e,function(b){var f=a("#menu-instructions");b=a.trim(b),c(b,e),a("li.pending").hide().fadeIn("slow"),a(".drag-instructions").show(),!f.hasClass("menu-instructions-inactive")&&f.siblings().length&&f.addClass("menu-instructions-inactive"),d()})},addMenuItemToBottom:function(c){a(c).hideAdvancedMenuItemFields().appendTo(b.targetList),b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility()},addMenuItemToTop:function(c){a(c).hideAdvancedMenuItemFields().prependTo(b.targetList),b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility()},attachUnsavedChangesListener:function(){a("#menu-management input, #menu-management select, #menu-management, #menu-management textarea, .menu-location-menus select").change(function(){b.registerChange()}),0!==a("#menu-to-edit").length||0!==a(".menu-location-menus select").length?window.onbeforeunload=function(){return b.menusChanged?navMenuL10n.saveAlert:void 0}:a("#menu-settings-column").find("input,select").end().find("a").attr("href","#").unbind("click")},registerChange:function(){b.menusChanged=!0},attachTabsPanelListeners:function(){a("#menu-settings-column").bind("click",function(c){var d,e,f,g,h=a(c.target);if(h.hasClass("nav-tab-link"))e=h.data("type"),f=h.parents(".accordion-section-content").first(),a("input",f).removeAttr("checked"),a(".tabs-panel-active",f).removeClass("tabs-panel-active").addClass("tabs-panel-inactive"),a("#"+e,f).removeClass("tabs-panel-inactive").addClass("tabs-panel-active"),a(".tabs",f).removeClass("tabs"),h.parent().addClass("tabs"),a(".quick-search",f).focus(),c.preventDefault();else if(h.hasClass("select-all")){if(d=/#(.*)$/.exec(c.target.href),d&&d[1])return g=a("#"+d[1]+" .tabs-panel-active .menu-item-title input"),g.length===g.filter(":checked").length?g.removeAttr("checked"):g.prop("checked",!0),!1}else{if(h.hasClass("submit-add-to-menu"))return b.registerChange(),c.target.id&&"submit-customlinkdiv"==c.target.id?b.addCustomLink(b.addMenuItemToBottom):c.target.id&&-1!=c.target.id.indexOf("submit-")&&a("#"+c.target.id.replace(/submit-/,"")).addSelectedToMenu(b.addMenuItemToBottom),!1;if(h.hasClass("page-numbers"))return a.post(ajaxurl,c.target.href.replace(/.*\?/,"").replace(/action=([^&]*)/,"")+"&action=menu-get-metabox",function(b){if(-1!=b.indexOf("replace-id")){var c=a.parseJSON(b),d=document.getElementById(c["replace-id"]),e=document.createElement("div"),f=document.createElement("div");c.markup&&d&&(f.innerHTML=c.markup?c.markup:"",d.parentNode.insertBefore(e,d),e.parentNode.removeChild(d),e.parentNode.insertBefore(f,e),e.parentNode.removeChild(e))}}),!1}})},eventOnClickEditLink:function(b){var c,d,e=/#(.*)$/.exec(b.href);return e&&e[1]&&(c=a("#"+e[1]),d=c.parent(),0!==d.length)?(d.hasClass("menu-item-edit-inactive")?(c.data("menu-item-data")||c.data("menu-item-data",c.getItemData()),c.slideDown("fast"),d.removeClass("menu-item-edit-inactive").addClass("menu-item-edit-active")):(c.slideUp("fast"),d.removeClass("menu-item-edit-active").addClass("menu-item-edit-inactive")),!1):void 0},eventOnClickCancelLink:function(b){var c=a(b).closest(".menu-item-settings"),d=a(b).closest(".menu-item");return d.removeClass("menu-item-edit-active").addClass("menu-item-edit-inactive"),c.setItemData(c.data("menu-item-data")).hide(),!1},eventOnClickMenuSave:function(){var c="",d=a("#menu-name"),e=d.val();return e&&e!=d.attr("title")&&e.replace(/\s+/,"")?(a("#nav-menu-theme-locations select").each(function(){c+='<input type="hidden" name="'+this.name+'" value="'+a(this).val()+'" />'}),a("#update-nav-menu").append(c),b.menuList.find(".menu-item-data-position").val(function(a){return a+1}),window.onbeforeunload=null,!0):(d.parent().addClass("form-invalid"),!1)},eventOnClickMenuDelete:function(){return window.confirm(navMenuL10n.warnDeleteMenu)?(window.onbeforeunload=null,!0):!1},eventOnClickMenuItemDelete:function(c){var d=parseInt(c.id.replace("delete-",""),10);return b.removeMenuItem(a("#menu-item-"+d)),b.registerChange(),!1},processQuickSearchQueryResponse:function(b,c,d){var e,f,g,h={},i=document.getElementById("nav-menu-meta"),j=/menu-item[(\[^]\]*/,k=a("<div>").html(b).find("li");return k.length?(k.each(function(){if(g=a(this),e=j.exec(g.html()),e&&e[1]){for(f=e[1];i.elements["menu-item["+f+"][menu-item-type]"]||h[f];)f--;h[f]=!0,f!=e[1]&&g.html(g.html().replace(new RegExp("menu-item\\["+e[1]+"\\]","g"),"menu-item["+f+"]"))}}),a(".categorychecklist",d).html(k),void a(".spinner",d).hide()):(a(".categorychecklist",d).html("<li><p>"+navMenuL10n.noResultsFound+"</p></li>"),void a(".spinner",d).hide())},removeMenuItem:function(b){var c=b.childMenuItems();b.addClass("deleting").animate({opacity:0,height:0},350,function(){var d=a("#menu-instructions");b.remove(),c.shiftDepthClass(-1).updateParentMenuItemDBId(),0===a("#menu-to-edit li").length&&(a(".drag-instructions").hide(),d.removeClass("menu-instructions-inactive"))})},depthToPx:function(a){return a*b.options.menuItemDepthPerLevel},pxToDepth:function(a){return Math.floor(a/b.options.menuItemDepthPerLevel)}},a(document).ready(function(){wpNavMenu.init()})}(jQuery);
\ No newline at end of file
+var wpNavMenu;!function(a){var b;b=wpNavMenu={options:{menuItemDepthPerLevel:30,globalMaxDepth:11},menuList:void 0,targetList:void 0,menusChanged:!1,isRTL:!("undefined"==typeof isRtl||!isRtl),negateIfRTL:"undefined"!=typeof isRtl&&isRtl?-1:1,init:function(){b.menuList=a("#menu-to-edit"),b.targetList=b.menuList,this.jQueryExtensions(),this.attachMenuEditListeners(),this.setupInputWithDefaultTitle(),this.attachQuickSearchListeners(),this.attachThemeLocationsListeners(),this.attachTabsPanelListeners(),this.attachUnsavedChangesListener(),b.menuList.length&&this.initSortables(),menus.oneThemeLocationNoMenus&&a("#posttype-page").addSelectedToMenu(b.addMenuItemToBottom),this.initManageLocations(),this.initAccessibility(),this.initToggles(),this.initPreviewing()},jQueryExtensions:function(){a.fn.extend({menuItemDepth:function(){var a=this.eq(0).css(b.isRTL?"margin-right":"margin-left");return b.pxToDepth(a&&-1!=a.indexOf("px")?a.slice(0,-2):0)},updateDepthClass:function(b,c){return this.each(function(){var d=a(this);c=c||d.menuItemDepth(),a(this).removeClass("menu-item-depth-"+c).addClass("menu-item-depth-"+b)})},shiftDepthClass:function(b){return this.each(function(){var c=a(this),d=c.menuItemDepth();a(this).removeClass("menu-item-depth-"+d).addClass("menu-item-depth-"+(d+b))})},childMenuItems:function(){var b=a();return this.each(function(){for(var c=a(this),d=c.menuItemDepth(),e=c.next();e.length&&e.menuItemDepth()>d;)b=b.add(e),e=e.next()}),b},shiftHorizontally:function(b){return this.each(function(){var c=a(this),d=c.menuItemDepth(),e=d+b;c.moveHorizontally(e,d)})},moveHorizontally:function(b,c){return this.each(function(){var d=a(this),e=d.childMenuItems(),f=b-c,g=d.find(".is-submenu");d.updateDepthClass(b,c).updateParentMenuItemDBId(),e&&e.each(function(){var b=a(this),c=b.menuItemDepth(),d=c+f;b.updateDepthClass(d,c).updateParentMenuItemDBId()}),0===b?g.hide():g.show()})},updateParentMenuItemDBId:function(){return this.each(function(){var b=a(this),c=b.find(".menu-item-data-parent-id"),d=parseInt(b.menuItemDepth(),10),e=d-1,f=b.prevAll(".menu-item-depth-"+e).first();c.val(0===d?0:f.find(".menu-item-data-db-id").val())})},hideAdvancedMenuItemFields:function(){return this.each(function(){var b=a(this);a(".hide-column-tog").not(":checked").each(function(){b.find(".field-"+a(this).val()).addClass("hidden-field")})})},addSelectedToMenu:function(c){return 0===a("#menu-to-edit").length?!1:this.each(function(){var d=a(this),e={},f=d.find(menus.oneThemeLocationNoMenus&&0===d.find(".tabs-panel-active .categorychecklist li input:checked").length?'#page-all li input[type="checkbox"]':".tabs-panel-active .categorychecklist li input:checked"),g=/menu-item\[([^\]]*)/;return c=c||b.addMenuItemToBottom,f.length?(d.find(".spinner").show(),a(f).each(function(){var d=a(this),f=g.exec(d.attr("name")),h="undefined"==typeof f[1]?0:parseInt(f[1],10);this.className&&-1!=this.className.indexOf("add-to-top")&&(c=b.addMenuItemToTop),e[h]=d.closest("li").getItemData("add-menu-item",h)}),void b.addItemToMenu(e,c,function(){f.removeAttr("checked"),d.find(".spinner").hide()})):!1})},getItemData:function(a,b){a=a||"menu-item";var c,d={},e=["menu-item-db-id","menu-item-object-id","menu-item-object","menu-item-parent-id","menu-item-position","menu-item-type","menu-item-title","menu-item-url","menu-item-description","menu-item-attr-title","menu-item-target","menu-item-classes","menu-item-xfn"];return b||"menu-item"!=a||(b=this.find(".menu-item-data-db-id").val()),b?(this.find("input").each(function(){var f;for(c=e.length;c--;)"menu-item"==a?f=e[c]+"["+b+"]":"add-menu-item"==a&&(f="menu-item["+b+"]["+e[c]+"]"),this.name&&f==this.name&&(d[e[c]]=this.value)}),d):d},setItemData:function(b,c,d){return c=c||"menu-item",d||"menu-item"!=c||(d=a(".menu-item-data-db-id",this).val()),d?(this.find("input").each(function(){var e,f=a(this);a.each(b,function(a,b){"menu-item"==c?e=a+"["+d+"]":"add-menu-item"==c&&(e="menu-item["+d+"]["+a+"]"),e==f.attr("name")&&f.val(b)})}),this):this}})},countMenuItems:function(b){return a(".menu-item-depth-"+b).length},moveMenuItem:function(c,d){var e,f,g,h=a("#menu-to-edit li"),i=h.length,j=c.parents("li.menu-item"),k=j.childMenuItems(),l=j.getItemData(),m=parseInt(j.menuItemDepth(),10),n=parseInt(j.index(),10),o=j.next(),p=o.childMenuItems(),q=parseInt(o.menuItemDepth(),10)+1,r=j.prev(),s=parseInt(r.menuItemDepth(),10),t=r.getItemData()["menu-item-db-id"];switch(d){case"up":if(f=n-1,0===n)break;0===f&&0!==m&&j.moveHorizontally(0,m),0!==s&&j.moveHorizontally(s,m),k?(e=j.add(k),e.detach().insertBefore(h.eq(f)).updateParentMenuItemDBId()):j.detach().insertBefore(h.eq(f)).updateParentMenuItemDBId();break;case"down":if(k){if(e=j.add(k),o=h.eq(e.length+n),p=0!==o.childMenuItems().length,p&&(g=parseInt(o.menuItemDepth(),10)+1,j.moveHorizontally(g,m)),i===n+e.length)break;e.detach().insertAfter(h.eq(n+e.length)).updateParentMenuItemDBId()}else{if(0!==p.length&&j.moveHorizontally(q,m),i===n+1)break;j.detach().insertAfter(h.eq(n+1)).updateParentMenuItemDBId()}break;case"top":if(0===n)break;k?(e=j.add(k),e.detach().insertBefore(h.eq(0)).updateParentMenuItemDBId()):j.detach().insertBefore(h.eq(0)).updateParentMenuItemDBId();break;case"left":if(0===m)break;j.shiftHorizontally(-1);break;case"right":if(0===n)break;if(l["menu-item-parent-id"]===t)break;j.shiftHorizontally(1)}c.focus(),b.registerChange(),b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility()},initAccessibility:function(){var c=a("#menu-to-edit");b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility(),c.on("click",".menus-move-up",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"up"),c.preventDefault()}),c.on("click",".menus-move-down",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"down"),c.preventDefault()}),c.on("click",".menus-move-top",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"top"),c.preventDefault()}),c.on("click",".menus-move-left",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"left"),c.preventDefault()}),c.on("click",".menus-move-right",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"right"),c.preventDefault()})},refreshAdvancedAccessibility:function(){a(".menu-item-settings .field-move a").css("display","none"),a(".item-edit").each(function(){var b,c,d,e,f,g,h,i,j,k=a(this),l=k.closest("li.menu-item").first(),m=l.menuItemDepth(),n=0===m,o=k.closest(".menu-item-handle").find(".menu-item-title").text(),p=parseInt(l.index(),10),q=n?m:parseInt(m-1,10),r=l.prevAll(".menu-item-depth-"+q).first().find(".menu-item-title").text(),s=l.prevAll(".menu-item-depth-"+m).first().find(".menu-item-title").text(),t=a("#menu-to-edit li").length,u=l.nextAll(".menu-item-depth-"+m).length;0!==p&&(b=l.find(".menus-move-up"),b.prop("title",menus.moveUp).css("display","inline")),0!==p&&n&&(b=l.find(".menus-move-top"),b.prop("title",menus.moveToTop).css("display","inline")),p+1!==t&&0!==p&&(b=l.find(".menus-move-down"),b.prop("title",menus.moveDown).css("display","inline")),0===p&&0!==u&&(b=l.find(".menus-move-down"),b.prop("title",menus.moveDown).css("display","inline")),n||(b=l.find(".menus-move-left"),c=menus.outFrom.replace("%s",r),b.prop("title",menus.moveOutFrom.replace("%s",r)).text(c).css("display","inline")),0!==p&&l.find(".menu-item-data-parent-id").val()!==l.prev().find(".menu-item-data-db-id").val()&&(b=l.find(".menus-move-right"),c=menus.under.replace("%s",s),b.prop("title",menus.moveUnder.replace("%s",s)).text(c).css("display","inline")),n?(d=a(".menu-item-depth-0"),e=d.index(l)+1,t=d.length,f=menus.menuFocus.replace("%1$s",o).replace("%2$d",e).replace("%3$d",t)):(g=l.prevAll(".menu-item-depth-"+parseInt(m-1,10)).first(),h=g.find(".menu-item-data-db-id").val(),i=g.find(".menu-item-title").text(),j=a('.menu-item .menu-item-data-parent-id[value="'+h+'"]'),e=a(j.parents(".menu-item").get().reverse()).index(l)+1,f=menus.subMenuFocus.replace("%1$s",o).replace("%2$d",e).replace("%3$s",i)),k.prop("title",f).text(f)})},refreshKeyboardAccessibility:function(){a(".item-edit").off("focus").on("focus",function(){a(this).off("keydown").on("keydown",function(c){var d,e=a(this),f=e.parents("li.menu-item"),g=f.getItemData();if((37==c.which||38==c.which||39==c.which||40==c.which)&&(e.off("keydown"),1!==a("#menu-to-edit li").length)){switch(d={38:"up",40:"down",37:"left",39:"right"},a("body").hasClass("rtl")&&(d={38:"up",40:"down",39:"left",37:"right"}),d[c.which]){case"up":b.moveMenuItem(e,"up");break;case"down":b.moveMenuItem(e,"down");break;case"left":b.moveMenuItem(e,"left");break;case"right":b.moveMenuItem(e,"right")}return a("#edit-"+g["menu-item-db-id"]).focus(),!1}})})},initPreviewing:function(){a("#menu-to-edit").on("change input",".edit-menu-item-title",function(b){var c,d,e=a(b.currentTarget);c=e.val(),d=e.closest(".menu-item").find(".menu-item-title"),c?d.text(c).removeClass("no-title"):d.text(navMenuL10n.untitled).addClass("no-title")})},initToggles:function(){postboxes.add_postbox_toggles("nav-menus"),columns.useCheckboxesForHidden(),columns.checked=function(b){a(".field-"+b).removeClass("hidden-field")},columns.unchecked=function(b){a(".field-"+b).addClass("hidden-field")},b.menuList.hideAdvancedMenuItemFields(),a(".hide-postbox-tog").click(function(){var b=a(".accordion-container li.accordion-section").filter(":hidden").map(function(){return this.id}).get().join(",");a.post(ajaxurl,{action:"closed-postboxes",hidden:b,closedpostboxesnonce:jQuery("#closedpostboxesnonce").val(),page:"nav-menus"})})},initSortables:function(){function c(a){var c;j=a.placeholder.prev(),k=a.placeholder.next(),j[0]==a.item[0]&&(j=j.prev()),k[0]==a.item[0]&&(k=k.next()),l=j.length?j.offset().top+j.height():0,m=k.length?k.offset().top+k.height()/3:0,h=k.length?k.menuItemDepth():0,i=j.length?(c=j.menuItemDepth()+1)>b.options.globalMaxDepth?b.options.globalMaxDepth:c:0}function d(a,b){a.placeholder.updateDepthClass(b,q),q=b}function e(){if(!s[0].className)return 0;var a=s[0].className.match(/menu-max-depth-(\d+)/);return a&&a[1]?parseInt(a[1],10):0}function f(c){var d,e=t;if(0!==c){if(c>0)d=p+c,d>t&&(e=d);else if(0>c&&p==t)for(;!a(".menu-item-depth-"+e,b.menuList).length&&e>0;)e--;s.removeClass("menu-max-depth-"+t).addClass("menu-max-depth-"+e),t=e}}var g,h,i,j,k,l,m,n,o,p,q=0,r=b.menuList.offset().left,s=a("body"),t=e();0!==a("#menu-to-edit li").length&&a(".drag-instructions").show(),r+=b.isRTL?b.menuList.width():0,b.menuList.sortable({handle:".menu-item-handle",placeholder:"sortable-placeholder",start:function(e,f){var h,i,j,k,l;b.isRTL&&(f.item[0].style.right="auto"),o=f.item.children(".menu-item-transport"),g=f.item.menuItemDepth(),d(f,g),j=f.item.next()[0]==f.placeholder[0]?f.item.next():f.item,k=j.childMenuItems(),o.append(k),h=o.outerHeight(),h+=h>0?1*f.placeholder.css("margin-top").slice(0,-2):0,h+=f.helper.outerHeight(),n=h,h-=2,f.placeholder.height(h),p=g,k.each(function(){var b=a(this).menuItemDepth();p=b>p?b:p}),i=f.helper.find(".menu-item-handle").outerWidth(),i+=b.depthToPx(p-g),i-=2,f.placeholder.width(i),l=f.placeholder.next(),l.css("margin-top",n+"px"),f.placeholder.detach(),a(this).sortable("refresh"),f.item.after(f.placeholder),l.css("margin-top",0),c(f)},stop:function(a,c){var d,e,h=q-g;d=o.children().insertAfter(c.item),e=c.item.find(".item-title .is-submenu"),q>0?e.show():e.hide(),0!==h&&(c.item.updateDepthClass(q),d.shiftDepthClass(h),f(h)),b.registerChange(),c.item.updateParentMenuItemDBId(),c.item[0].style.top=0,b.isRTL&&(c.item[0].style.left="auto",c.item[0].style.right=0),b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility()},change:function(a,d){d.placeholder.parent().hasClass("menu")||(j.length?j.after(d.placeholder):b.menuList.prepend(d.placeholder)),c(d)},sort:function(e,f){var g=f.helper.offset(),j=b.isRTL?g.left+f.helper.width():g.left,o=b.negateIfRTL*b.pxToDepth(j-r);o>i||g.top<l?o=i:h>o&&(o=h),o!=q&&d(f,o),m&&g.top+n>m&&(k.after(f.placeholder),c(f),a(this).sortable("refreshPositions"))}})},initManageLocations:function(){a("#menu-locations-wrap form").submit(function(){window.onbeforeunload=null}),a(".menu-location-menus select").on("change",function(){var b=a(this).closest("tr").find(".locations-edit-menu-link");a(this).find("option:selected").data("orig")?b.show():b.hide()})},attachMenuEditListeners:function(){var b=this;a("#update-nav-menu").bind("click",function(a){if(a.target&&a.target.className){if(-1!=a.target.className.indexOf("item-edit"))return b.eventOnClickEditLink(a.target);if(-1!=a.target.className.indexOf("menu-save"))return b.eventOnClickMenuSave(a.target);if(-1!=a.target.className.indexOf("menu-delete"))return b.eventOnClickMenuDelete(a.target);if(-1!=a.target.className.indexOf("item-delete"))return b.eventOnClickMenuItemDelete(a.target);if(-1!=a.target.className.indexOf("item-cancel"))return b.eventOnClickCancelLink(a.target)}}),a('#add-custom-links input[type="text"]').keypress(function(b){13===b.keyCode&&(b.preventDefault(),a("#submit-customlinkdiv").click())})},setupInputWithDefaultTitle:function(){var b="input-with-default-title";a("."+b).each(function(){var c=a(this),d=c.attr("title"),e=c.val();if(c.data(b,d),""===e)c.val(d);else{if(d==e)return;c.removeClass(b)}}).focus(function(){var c=a(this);c.val()==c.data(b)&&c.val("").removeClass(b)}).blur(function(){var c=a(this);""===c.val()&&c.addClass(b).val(c.data(b))}),a(".blank-slate .input-with-default-title").focus()},attachThemeLocationsListeners:function(){var b=a("#nav-menu-theme-locations"),c={};c.action="menu-locations-save",c["menu-settings-column-nonce"]=a("#menu-settings-column-nonce").val(),b.find('input[type="submit"]').click(function(){return b.find("select").each(function(){c[this.name]=a(this).val()}),b.find(".spinner").show(),a.post(ajaxurl,c,function(){b.find(".spinner").hide()}),!1})},attachQuickSearchListeners:function(){var c;a(".quick-search").keypress(function(d){var e=a(this);return 13==d.which?(b.updateQuickSearchResults(e),!1):(c&&clearTimeout(c),void(c=setTimeout(function(){b.updateQuickSearchResults(e)},400)))}).attr("autocomplete","off")},updateQuickSearchResults:function(c){var d,e,f=2,g=c.val();g.length<f||(d=c.parents(".tabs-panel"),e={action:"menu-quick-search","response-format":"markup",menu:a("#menu").val(),"menu-settings-column-nonce":a("#menu-settings-column-nonce").val(),q:g,type:c.attr("name")},a(".spinner",d).show(),a.post(ajaxurl,e,function(a){b.processQuickSearchQueryResponse(a,e,d)}))},addCustomLink:function(c){var d=a("#custom-menu-item-url").val(),e=a("#custom-menu-item-name").val();return c=c||b.addMenuItemToBottom,""===d||"http://"==d?!1:(a(".customlinkdiv .spinner").show(),void this.addLinkToMenu(d,e,c,function(){a(".customlinkdiv .spinner").hide(),a("#custom-menu-item-name").val("").blur(),a("#custom-menu-item-url").val("http://")}))},addLinkToMenu:function(a,c,d,e){d=d||b.addMenuItemToBottom,e=e||function(){},b.addItemToMenu({"-1":{"menu-item-type":"custom","menu-item-url":a,"menu-item-title":c}},d,e)},addItemToMenu:function(b,c,d){var e,f=a("#menu").val(),g=a("#menu-settings-column-nonce").val();c=c||function(){},d=d||function(){},e={action:"add-menu-item",menu:f,"menu-settings-column-nonce":g,"menu-item":b},a.post(ajaxurl,e,function(b){var f=a("#menu-instructions");b=a.trim(b),c(b,e),a("li.pending").hide().fadeIn("slow"),a(".drag-instructions").show(),!f.hasClass("menu-instructions-inactive")&&f.siblings().length&&f.addClass("menu-instructions-inactive"),d()})},addMenuItemToBottom:function(c){a(c).hideAdvancedMenuItemFields().appendTo(b.targetList),b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility()},addMenuItemToTop:function(c){a(c).hideAdvancedMenuItemFields().prependTo(b.targetList),b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility()},attachUnsavedChangesListener:function(){a("#menu-management input, #menu-management select, #menu-management, #menu-management textarea, .menu-location-menus select").change(function(){b.registerChange()}),0!==a("#menu-to-edit").length||0!==a(".menu-location-menus select").length?window.onbeforeunload=function(){return b.menusChanged?navMenuL10n.saveAlert:void 0}:a("#menu-settings-column").find("input,select").end().find("a").attr("href","#").unbind("click")},registerChange:function(){b.menusChanged=!0},attachTabsPanelListeners:function(){a("#menu-settings-column").bind("click",function(c){var d,e,f,g,h=a(c.target);if(h.hasClass("nav-tab-link"))e=h.data("type"),f=h.parents(".accordion-section-content").first(),a("input",f).removeAttr("checked"),a(".tabs-panel-active",f).removeClass("tabs-panel-active").addClass("tabs-panel-inactive"),a("#"+e,f).removeClass("tabs-panel-inactive").addClass("tabs-panel-active"),a(".tabs",f).removeClass("tabs"),h.parent().addClass("tabs"),a(".quick-search",f).focus(),c.preventDefault();else if(h.hasClass("select-all")){if(d=/#(.*)$/.exec(c.target.href),d&&d[1])return g=a("#"+d[1]+" .tabs-panel-active .menu-item-title input"),g.length===g.filter(":checked").length?g.removeAttr("checked"):g.prop("checked",!0),!1}else{if(h.hasClass("submit-add-to-menu"))return b.registerChange(),c.target.id&&"submit-customlinkdiv"==c.target.id?b.addCustomLink(b.addMenuItemToBottom):c.target.id&&-1!=c.target.id.indexOf("submit-")&&a("#"+c.target.id.replace(/submit-/,"")).addSelectedToMenu(b.addMenuItemToBottom),!1;if(h.hasClass("page-numbers"))return a.post(ajaxurl,c.target.href.replace(/.*\?/,"").replace(/action=([^&]*)/,"")+"&action=menu-get-metabox",function(b){if(-1!=b.indexOf("replace-id")){var c=a.parseJSON(b),d=document.getElementById(c["replace-id"]),e=document.createElement("div"),f=document.createElement("div");c.markup&&d&&(f.innerHTML=c.markup?c.markup:"",d.parentNode.insertBefore(e,d),e.parentNode.removeChild(d),e.parentNode.insertBefore(f,e),e.parentNode.removeChild(e))}}),!1}})},eventOnClickEditLink:function(b){var c,d,e=/#(.*)$/.exec(b.href);return e&&e[1]&&(c=a("#"+e[1]),d=c.parent(),0!==d.length)?(d.hasClass("menu-item-edit-inactive")?(c.data("menu-item-data")||c.data("menu-item-data",c.getItemData()),c.slideDown("fast"),d.removeClass("menu-item-edit-inactive").addClass("menu-item-edit-active")):(c.slideUp("fast"),d.removeClass("menu-item-edit-active").addClass("menu-item-edit-inactive")),!1):void 0},eventOnClickCancelLink:function(b){var c=a(b).closest(".menu-item-settings"),d=a(b).closest(".menu-item");return d.removeClass("menu-item-edit-active").addClass("menu-item-edit-inactive"),c.setItemData(c.data("menu-item-data")).hide(),!1},eventOnClickMenuSave:function(){var c="",d=a("#menu-name"),e=d.val();return e&&e!=d.attr("title")&&e.replace(/\s+/,"")?(a("#nav-menu-theme-locations select").each(function(){c+='<input type="hidden" name="'+this.name+'" value="'+a(this).val()+'" />'}),a("#update-nav-menu").append(c),b.menuList.find(".menu-item-data-position").val(function(a){return a+1}),window.onbeforeunload=null,!0):(d.parent().addClass("form-invalid"),!1)},eventOnClickMenuDelete:function(){return window.confirm(navMenuL10n.warnDeleteMenu)?(window.onbeforeunload=null,!0):!1},eventOnClickMenuItemDelete:function(c){var d=parseInt(c.id.replace("delete-",""),10);return b.removeMenuItem(a("#menu-item-"+d)),b.registerChange(),!1},processQuickSearchQueryResponse:function(b,c,d){var e,f,g,h={},i=document.getElementById("nav-menu-meta"),j=/menu-item[(\[^]\]*/,k=a("<div>").html(b).find("li");return k.length?(k.each(function(){if(g=a(this),e=j.exec(g.html()),e&&e[1]){for(f=e[1];i.elements["menu-item["+f+"][menu-item-type]"]||h[f];)f--;h[f]=!0,f!=e[1]&&g.html(g.html().replace(new RegExp("menu-item\\["+e[1]+"\\]","g"),"menu-item["+f+"]"))}}),a(".categorychecklist",d).html(k),void a(".spinner",d).hide()):(a(".categorychecklist",d).html("<li><p>"+navMenuL10n.noResultsFound+"</p></li>"),void a(".spinner",d).hide())},removeMenuItem:function(b){var c=b.childMenuItems();b.addClass("deleting").animate({opacity:0,height:0},350,function(){var d=a("#menu-instructions");b.remove(),c.shiftDepthClass(-1).updateParentMenuItemDBId(),0===a("#menu-to-edit li").length&&(a(".drag-instructions").hide(),d.removeClass("menu-instructions-inactive"))})},depthToPx:function(a){return a*b.options.menuItemDepthPerLevel},pxToDepth:function(a){return Math.floor(a/b.options.menuItemDepthPerLevel)}},a(document).ready(function(){wpNavMenu.init()})}(jQuery);
\ No newline at end of file
diff --git a/wp-admin/update-core.php b/wp-admin/update-core.php
index 0c7d297b9..600db23ee 100644
--- a/wp-admin/update-core.php
+++ b/wp-admin/update-core.php
@@ -390,14 +390,14 @@ function do_core_upgrade( $reinstall = false ) {
 	<h2><?php _e('Update WordPress'); ?></h2>
 <?php
 
-	if ( false === ( $credentials = request_filesystem_credentials( $url, '', false, ABSPATH, array(), $allow_relaxed_file_ownership ) ) ) {
+	if ( false === ( $credentials = request_filesystem_credentials( $url, '', false, ABSPATH, array( 'version', 'locale' ), $allow_relaxed_file_ownership ) ) ) {
 		echo '</div>';
 		return;
 	}
 
 	if ( ! WP_Filesystem( $credentials, ABSPATH, $allow_relaxed_file_ownership ) ) {
 		// Failed to connect, Error and request again
-		request_filesystem_credentials( $url, '', true, ABSPATH, array(), $allow_relaxed_file_ownership );
+		request_filesystem_credentials( $url, '', true, ABSPATH, array( 'version', 'locale' ), $allow_relaxed_file_ownership );
 		echo '</div>';
 		return;
 	}
diff --git a/wp-content/plugins/akismet/_inc/akismet.css b/wp-content/plugins/akismet/_inc/akismet.css
index ff076aab2..b754ec678 100644
--- a/wp-content/plugins/akismet/_inc/akismet.css
+++ b/wp-content/plugins/akismet/_inc/akismet.css
@@ -340,11 +340,16 @@ h2.ak-header {
 	text-align: center;
 }
 
-.akismet-settings th.strictness {
+.akismet-settings th:first-child {
 	vertical-align: top;
 	padding-top: 15px;
 }
 
+.akismet-settings th.akismet-api-key {
+	vertical-align: middle;
+	padding-top: 0;
+}
+
 .akismet-settings input[type=text] {
 	width: 75%;
 }
diff --git a/wp-content/plugins/akismet/_inc/akismet.js b/wp-content/plugins/akismet/_inc/akismet.js
index 7da76cd52..5e857d161 100644
--- a/wp-content/plugins/akismet/_inc/akismet.js
+++ b/wp-content/plugins/akismet/_inc/akismet.js
@@ -18,9 +18,11 @@ jQuery( function ( $ ) {
 		var thisId = $(this).attr('commentid');
 		$(this).insertAfter('#comment-' + thisId + ' .author strong:first').show();
 	});
-	$('#the-comment-list').find('tr.comment, tr[id ^= "comment-"]').find('.column-author a[title ^= "http://"], .column-author a[title ^= "https://"]').each(function () {
+	$('#the-comment-list').find('tr.comment, tr[id ^= "comment-"]').find('.column-author a[title]').each(function () {
+		// Comment author URLs are the only URL with a title attribute in the author column.
 		var thisTitle = $(this).attr('title');
-			thisCommentId = $(this).parents('tr:first').attr('id').split("-");
+
+		var thisCommentId = $(this).parents('tr:first').attr('id').split("-");
 
 		$(this).attr("id", "author_comment_url_"+ thisCommentId[1]);
 
diff --git a/wp-content/plugins/akismet/akismet.php b/wp-content/plugins/akismet/akismet.php
index dc42c2ae3..5cdd32a49 100644
--- a/wp-content/plugins/akismet/akismet.php
+++ b/wp-content/plugins/akismet/akismet.php
@@ -6,7 +6,7 @@
 Plugin Name: Akismet
 Plugin URI: http://akismet.com/
 Description: Used by millions, Akismet is quite possibly the best way in the world to <strong>protect your blog from comment and trackback spam</strong>. It keeps your site protected from spam even while you sleep. To get started: 1) Click the "Activate" link to the left of this description, 2) <a href="http://akismet.com/get/">Sign up for an Akismet API key</a>, and 3) Go to your Akismet configuration page, and save your API key.
-Version: 3.0.4
+Version: 3.1.1
 Author: Automattic
 Author URI: http://automattic.com/wordpress-plugins/
 License: GPLv2 or later
@@ -35,8 +35,8 @@ if ( !function_exists( 'add_action' ) ) {
 	exit;
 }
 
-define( 'AKISMET_VERSION', '3.0.4' );
-define( 'AKISMET__MINIMUM_WP_VERSION', '3.1' );
+define( 'AKISMET_VERSION', '3.1.1' );
+define( 'AKISMET__MINIMUM_WP_VERSION', '3.2' );
 define( 'AKISMET__PLUGIN_URL', plugin_dir_url( __FILE__ ) );
 define( 'AKISMET__PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
 define( 'AKISMET_DELETE_LIMIT', 100000 );
diff --git a/wp-content/plugins/akismet/class.akismet.php b/wp-content/plugins/akismet/class.akismet.php
index bcc5163e7..5c786526e 100644
--- a/wp-content/plugins/akismet/class.akismet.php
+++ b/wp-content/plugins/akismet/class.akismet.php
@@ -23,7 +23,7 @@ class Akismet {
 		self::$initiated = true;
 
 		add_action( 'wp_insert_comment', array( 'Akismet', 'auto_check_update_meta' ), 10, 2 );
-		add_action( 'preprocess_comment', array( 'Akismet', 'auto_check_comment' ), 1 );
+		add_filter( 'preprocess_comment', array( 'Akismet', 'auto_check_comment' ), 1 );
 		add_action( 'akismet_scheduled_delete', array( 'Akismet', 'delete_old_comments' ) );
 		add_action( 'akismet_scheduled_delete', array( 'Akismet', 'delete_old_comments_meta' ) );
 		add_action( 'akismet_schedule_cron_recheck', array( 'Akismet', 'cron_recheck' ) );
@@ -42,6 +42,9 @@ class Akismet {
 		
 		add_action( 'transition_comment_status', array( 'Akismet', 'transition_comment_status' ), 10, 3 );
 
+		// Run this early in the pingback call, before doing a remote fetch of the source uri
+		add_action( 'xmlrpc_call', array( 'Akismet', 'pre_check_pingback' ) );
+
 		if ( '3.0.5' == $GLOBALS['wp_version'] ) {
 			remove_filter( 'comment_text', 'wp_kses_data' );
 			if ( is_admin() )
@@ -161,6 +164,7 @@ class Akismet {
 			if ( function_exists('wp_next_scheduled') && function_exists('wp_schedule_single_event') ) {
 				if ( !wp_next_scheduled( 'akismet_schedule_cron_recheck' ) ) {
 					wp_schedule_single_event( time() + 1200, 'akismet_schedule_cron_recheck' );
+					do_action( 'akismet_scheduled_recheck', 'invalid-response-' . $response[1] );
 				}
 			}
 
@@ -180,7 +184,7 @@ class Akismet {
 		self::set_last_comment( $commentdata );
 		self::fix_scheduled_recheck();
 
-		return self::$last_comment;
+		return $commentdata;
 	}
 	
 	public static function get_last_comment() {
@@ -547,6 +551,7 @@ class Akismet {
 		if ( get_option( 'akismet_alert_code' ) || $status == 'invalid' ) {
 			// since there is currently a problem with the key, reschedule a check for 6 hours hence
 			wp_schedule_single_event( time() + 21600, 'akismet_schedule_cron_recheck' );
+			do_action( 'akismet_scheduled_recheck', 'key-problem-' . get_option( 'akismet_alert_code' ) . '-' . $status );
 			return false;
 		}
 
@@ -608,6 +613,7 @@ class Akismet {
 
 				delete_comment_meta( $comment_id, 'akismet_rechecking' );
 				wp_schedule_single_event( time() + 1200, 'akismet_schedule_cron_recheck' );
+				do_action( 'akismet_scheduled_recheck', 'check-db-comment-' . $status );
 				return;
 			}
 			delete_comment_meta( $comment_id, 'akismet_rechecking' );
@@ -616,6 +622,7 @@ class Akismet {
 		$remaining = $wpdb->get_var( "SELECT COUNT(*) FROM {$wpdb->commentmeta} WHERE meta_key = 'akismet_error'" );
 		if ( $remaining && !wp_next_scheduled('akismet_schedule_cron_recheck') ) {
 			wp_schedule_single_event( time() + 1200, 'akismet_schedule_cron_recheck' );
+			do_action( 'akismet_scheduled_recheck', 'remaining' );
 		}
 	}
 
@@ -633,6 +640,7 @@ class Akismet {
 		if ( $future_check > $check_range ) {
 			wp_clear_scheduled_hook( 'akismet_schedule_cron_recheck' );
 			wp_schedule_single_event( time() + 300, 'akismet_schedule_cron_recheck' );
+			do_action( 'akismet_scheduled_recheck', 'fix-scheduled-recheck' );
 		}
 	}
 
@@ -809,11 +817,71 @@ class Akismet {
 			'timeout' => 15
 		);
 
-		$akismet_url = "http://{$http_host}/1.1/{$path}";
+		$akismet_url = $http_akismet_url = "http://{$http_host}/1.1/{$path}";
+
+		/**
+		 * Try SSL first; if that fails, try without it and don't try it again for a while.
+		 */
+
+		$ssl = $ssl_failed = false;
+
+		// Check if SSL requests were disabled fewer than X hours ago.
+		$ssl_disabled = get_option( 'akismet_ssl_disabled' );
+
+		if ( $ssl_disabled && $ssl_disabled < ( time() - 60 * 60 * 24 ) ) { // 24 hours
+			$ssl_disabled = false;
+			delete_option( 'akismet_ssl_disabled' );
+		}
+		else if ( $ssl_disabled ) {
+			do_action( 'akismet_ssl_disabled' );
+		}
+
+		if ( ! $ssl_disabled && function_exists( 'wp_http_supports') && ( $ssl = wp_http_supports( array( 'ssl' ) ) ) ) {
+			$akismet_url = set_url_scheme( $akismet_url, 'https' );
+
+			do_action( 'akismet_https_request_pre' );
+		}
+
 		$response = wp_remote_post( $akismet_url, $http_args );
+
 		Akismet::log( compact( 'akismet_url', 'http_args', 'response' ) );
-		if ( is_wp_error( $response ) )
+
+		if ( $ssl && is_wp_error( $response ) ) {
+			do_action( 'akismet_https_request_failure', $response );
+
+			// Intermittent connection problems may cause the first HTTPS
+			// request to fail and subsequent HTTP requests to succeed randomly.
+			// Retry the HTTPS request once before disabling SSL for a time.
+			$response = wp_remote_post( $akismet_url, $http_args );
+			
+			Akismet::log( compact( 'akismet_url', 'http_args', 'response' ) );
+
+			if ( is_wp_error( $response ) ) {
+				$ssl_failed = true;
+
+				do_action( 'akismet_https_request_failure', $response );
+
+				do_action( 'akismet_http_request_pre' );
+
+				// Try the request again without SSL.
+				$response = wp_remote_post( $http_akismet_url, $http_args );
+
+				Akismet::log( compact( 'http_akismet_url', 'http_args', 'response' ) );
+			}
+		}
+
+		if ( is_wp_error( $response ) ) {
+			do_action( 'akismet_request_failure', $response );
+
 			return array( '', '' );
+		}
+
+		if ( $ssl_failed ) {
+			// The request failed when using SSL but succeeded without it. Disable SSL for future requests.
+			update_option( 'akismet_ssl_disabled', time() );
+			
+			do_action( 'akismet_https_disabled' );
+		}
 
 		return array( $response['headers'], $response['body'] );
 	}
@@ -956,4 +1024,65 @@ p {
 			error_log( print_r( compact( 'akismet_debug' ), true ) );
 		}
 	}
+
+	public static function pre_check_pingback( $method ) {
+		if ( $method !== 'pingback.ping' )
+			return;
+
+		global $wp_xmlrpc_server;
+	
+		if ( !is_object( $wp_xmlrpc_server ) )
+			return false;
+	
+		// Lame: tightly coupled with the IXR class.
+		$args = $wp_xmlrpc_server->message->params;
+	
+		if ( !empty( $args[1] ) ) {
+			$post_id = url_to_postid( $args[1] );
+
+			// If this gets through the pre-check, make sure we properly identify the outbound request as a pingback verification
+			Akismet::pingback_forwarded_for( null, $args[0] );
+			add_filter( 'http_request_args', array( 'Akismet', 'pingback_forwarded_for' ), 10, 2 );
+
+			$comment = array(
+				'comment_author_url' => $args[0],
+				'comment_post_ID' => $post_id,
+				'comment_author' => '',
+				'comment_author_email' => '',
+				'comment_content' => '',
+				'comment_type' => 'pingback',
+				'akismet_pre_check' => '1',
+				'comment_pingback_target' => $args[1],
+			);
+
+			$comment = Akismet::auto_check_comment( $comment );
+
+			if ( isset( $comment['akismet_result'] ) && 'true' == $comment['akismet_result'] ) {
+				// Lame: tightly coupled with the IXR classes. Unfortunately the action provides no context and no way to return anything.
+				$wp_xmlrpc_server->error( new IXR_Error( 0, 'Invalid discovery target' ) );
+			}
+		}
+	}
+	
+	public static function pingback_forwarded_for( $r, $url ) {
+		static $urls = array();
+	
+		// Call this with $r == null to prime the callback to add headers on a specific URL
+		if ( is_null( $r ) && !in_array( $url, $urls ) ) {
+			$urls[] = $url;
+		}
+
+		// Add X-Pingback-Forwarded-For header, but only for requests to a specific URL (the apparent pingback source)
+		if ( is_array( $r ) && is_array( $r['headers'] ) && !isset( $r['headers']['X-Pingback-Forwarded-For'] ) && in_array( $url, $urls ) ) {
+			$remote_ip = preg_replace( '/[^a-fx0-9:.,]/i', '', $_SERVER['REMOTE_ADDR'] );
+		
+			// Note: this assumes REMOTE_ADDR is correct, and it may not be if a reverse proxy or CDN is in use
+			$r['headers']['X-Pingback-Forwarded-For'] = $remote_ip;
+
+			// Also identify the request as a pingback verification in the UA string so it appears in logs
+			$r['user-agent'] .= '; verifying pingback from ' . $remote_ip;
+		}
+
+		return $r;
+	}
 }
\ No newline at end of file
diff --git a/wp-content/plugins/akismet/readme.txt b/wp-content/plugins/akismet/readme.txt
index beed79bb9..4efc81ffc 100644
--- a/wp-content/plugins/akismet/readme.txt
+++ b/wp-content/plugins/akismet/readme.txt
@@ -1,9 +1,9 @@
 === Akismet ===
 Contributors: matt, ryan, andy, mdawaffe, tellyworth, josephscott, lessbloat, eoigal, cfinke, automattic, jgs
 Tags: akismet, comments, spam
-Requires at least: 3.1
-Tested up to: 4.1
-Stable tag: 3.0.4
+Requires at least: 3.2
+Tested up to: 4.1.1
+Stable tag: 3.1.1
 License: GPLv2 or later
 
 Akismet checks your comments against the Akismet Web service to see if they look like spam or not.
@@ -30,6 +30,18 @@ Upload the Akismet plugin to your blog, Activate it, then enter your [Akismet.co
 
 == Changelog ==
 
+= 3.1.1 =
+*Release Date - 17th March, 2015*
+
+* Improvements to the "Remove comment author URL" JavaScript
+* Include the pingback pre-check from the 2.6 branch.
+
+= 3.1 =
+*Release Date - 11th March, 2015*
+
+* Use HTTPS by default for all requests to Akismet.
+* Fix for a situation where Akismet might strip HTML from a comment.
+
 = 3.0.4 =
 *Release Date - 11th December, 2014*
 
diff --git a/wp-content/plugins/akismet/views/config.php b/wp-content/plugins/akismet/views/config.php
index 154f2b2c0..232d10789 100644
--- a/wp-content/plugins/akismet/views/config.php
+++ b/wp-content/plugins/akismet/views/config.php
@@ -64,13 +64,43 @@
 										<tbody>
 											<?php if ( !defined( 'WPCOM_API_KEY' ) ):?>
 											<tr>
-												<th width="10%" align="left" scope="row"><?php esc_html_e('API Key', 'akismet');?></th>
+												<th class="akismet-api-key" width="10%" align="left" scope="row"><?php esc_html_e('API Key', 'akismet');?></th>
 												<td width="5%"/>
 												<td align="left">
 													<span class="api-key"><input id="key" name="key" type="text" size="15" maxlength="12" value="<?php echo esc_attr( get_option('wordpress_api_key') ); ?>" class="regular-text code <?php echo $akismet_user->status;?>"></span>
 												</td>
 											</tr>
 											<?php endif; ?>
+											<?php if ( isset( $_GET['ssl_status'] ) ) { ?>
+												<tr>
+													<th align="left" scope="row"><?php esc_html_e( 'SSL Status', 'akismet' ); ?></th>
+													<td></td>
+													<td align="left">
+														<p>
+															<?php
+
+															if ( ! function_exists( 'wp_http_supports' ) ) {
+																?><b><?php esc_html_e( 'Disabled.', 'akismet' ); ?></b> <?php printf( esc_html( 'Your WordPress installation does not include the function %s; upgrade to the latest version of WordPress.', 'akismet' ), '<code>wp_http_supports</code>' ); ?><?php
+															}
+															else if ( ! wp_http_supports( array( 'ssl' ) ) ) {
+																?><b><?php esc_html_e( 'Disabled.', 'akismet' ); ?></b> <?php esc_html_e( 'Your Web server cannot make SSL requests; contact your Web host and ask them to add support for SSL requests.', 'akismet' ); ?><?php
+															}
+															else {
+																$ssl_disabled = get_option( 'akismet_ssl_disabled' );
+
+																if ( $ssl_disabled ) {
+																	?><b><?php esc_html_e( 'Temporarily disabled.', 'akismet' ); ?></b> <?php esc_html_e( 'Akismet encountered a problem with a previous SSL request and disabled it temporarily. It will begin using SSL for requests again shortly.', 'akismet' ); ?><?php
+																}
+																else {
+																	?><b><?php esc_html_e( 'Enabled.', 'akismet' ); ?></b> <?php esc_html_e( 'All systems functional.', 'akismet' ); ?><?php
+																}
+															}
+
+															?>
+														</p>
+													</td>
+												</tr>
+											<?php } ?>
 											<tr>
 												<th align="left" scope="row"><?php esc_html_e('Comments', 'akismet');?></th>
 												<td></td>
@@ -95,7 +125,7 @@
 													
 													printf(
 														_n(
-															'Spam in the <a href="%s">spam folder</a> older than 1 day is deleted automatically.',
+															'Spam in the <a href="%1$s">spam folder</a> older than 1 day is deleted automatically.',
 															'Spam in the <a href="%1$s">spam folder</a> older than %2$d days is deleted automatically.',
 															$delete_interval,
 															'akismet'
diff --git a/wp-content/plugins/akismet/views/notice.php b/wp-content/plugins/akismet/views/notice.php
index 60f2e8ce0..c2fc45afa 100644
--- a/wp-content/plugins/akismet/views/notice.php
+++ b/wp-content/plugins/akismet/views/notice.php
@@ -93,7 +93,7 @@
 <div class="wrap alert critical">
 	<?php if ( $level == 'yellow' ): ?>
 	<h3 class="key-status failed"><?php esc_html_e("You're using your Akismet key on more sites than your Pro subscription allows.", 'akismet'); ?></h3>
-	<p class="description"><?php printf( __('If you would like to use Akismet on more than 10 sites, you will need to <a href="%s" target="_blank">upgrade to an Enterprise subscription</a>. If you have any questions, please <a href="%s" target="_blank">get in touch with our support team</a>', 'akismet'), 'https://akismet.com/account/upgrade/', 'https://akismet.com/contact/'); ?></p>
+	<p class="description"><?php printf( __('Your Pro subscription allows the use of Akismet on only one site. Please <a href="http://docs.akismet.com/billing/add-more-sites/">purchase additional Pro subscriptions</a> or upgrade to an Enterprise subscription that allows the use of Akismet on unlimited sites.<br /><br />If you have any questions, please get in touch with our support team.', 'akismet'), 'https://akismet.com/account/upgrade/', 'https://akismet.com/contact/'); ?></p>
 	<?php elseif ( $level == 'red' ): ?>
 	<h3 class="key-status failed"><?php esc_html_e("You're using Akismet on far too many sites for your Pro subscription.", 'akismet'); ?></h3>
 	<p class="description"><?php printf( __('To continue your service, <a href="%s" target="_blank">upgrade to an Enterprise subscription</a>, which covers an unlimited number of sites. Please <a href="%s" target="_blank">contact our support team</a> with any questions.', 'akismet'), 'https://akismet.com/account/upgrade/', 'https://akismet.com/contact/'); ?></p>
diff --git a/wp-content/plugins/akismet/wrapper.php b/wp-content/plugins/akismet/wrapper.php
index 12641c7ec..a77d4ce93 100644
--- a/wp-content/plugins/akismet/wrapper.php
+++ b/wp-content/plugins/akismet/wrapper.php
@@ -7,46 +7,32 @@ $akismet_api_host = Akismet::get_api_key() . '.rest.akismet.com';
 $akismet_api_port = 80;
 
 function akismet_test_mode() {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet::is_test_mode()' );
-
 	return Akismet::is_test_mode();
 }
 
 function akismet_http_post( $request, $host, $path, $port = 80, $ip = null ) {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet::http_post()' );
-
 	$path = str_replace( '/1.1/', '', $path );
 
 	return Akismet::http_post( $request, $path, $ip ); 
 }
 
 function akismet_microtime() {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet::_get_microtime()' );
-
 	return Akismet::_get_microtime();
 }
 
 function akismet_delete_old() {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet::delete_old_comments()' );
-
 	return Akismet::delete_old_comments();
 }
 
 function akismet_delete_old_metadata() { 
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet::delete_old_comments_meta()' );
-
 	return Akismet::delete_old_comments_meta();
 }
 
 function akismet_check_db_comment( $id, $recheck_reason = 'recheck_queue' ) {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet::check_db_comment()' );
-   
    	return Akismet::check_db_comment( $id, $recheck_reason );
 }
 
 function akismet_rightnow() {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet_Admin::rightnow_stats()' );
-
 	if ( !class_exists( 'Akismet_Admin' ) )
 		return false;
    
@@ -63,13 +49,9 @@ function akismet_load_js_and_css() {
 	_deprecated_function( __FUNCTION__, '3.0' );
 }
 function akismet_nonce_field( $action = -1 ) {
-	_deprecated_function( __FUNCTION__, '3.0', 'wp_nonce_field' );
-
 	return wp_nonce_field( $action );
 }
 function akismet_plugin_action_links( $links, $file ) {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet_Admin::plugin_action_links()' );
-
 	return Akismet_Admin::plugin_action_links( $links, $file );
 }
 function akismet_conf() {
@@ -79,21 +61,15 @@ function akismet_stats_display() {
 	_deprecated_function( __FUNCTION__, '3.0' );
 }
 function akismet_stats() {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet_Admin::dashboard_stats()' );
-
 	return Akismet_Admin::dashboard_stats();
 }
 function akismet_admin_warnings() {
 	_deprecated_function( __FUNCTION__, '3.0' );
 }
 function akismet_comment_row_action( $a, $comment ) {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet_Admin::comment_row_action()' );
-
 	return Akismet_Admin::comment_row_actions( $a, $comment );
 }
 function akismet_comment_status_meta_box( $comment ) {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet_Admin::comment_status_meta_box()' );
-
 	return Akismet_Admin::comment_status_meta_box( $comment );
 }
 function akismet_comments_columns( $columns ) {
@@ -105,63 +81,39 @@ function akismet_comment_column_row( $column, $comment_id ) {
 	_deprecated_function( __FUNCTION__, '3.0' );
 }
 function akismet_text_add_link_callback( $m ) {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet_Admin::text_add_link_callback()' );
-
 	return Akismet_Admin::text_add_link_callback( $m );
 }
 function akismet_text_add_link_class( $comment_text ) {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet_Admin::text_add_link_class()' );
-
 	return Akismet_Admin::text_add_link_class( $comment_text );
 }
 function akismet_check_for_spam_button( $comment_status ) {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet_Admin::check_for_spam_button()' );
-
 	return Akismet_Admin::check_for_spam_button( $comment_status );
 }
 function akismet_submit_nonspam_comment( $comment_id ) {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet::submit_nonspam_comment()' );
-
 	return Akismet::submit_nonspam_comment( $comment_id );
 }
 function akismet_submit_spam_comment( $comment_id ) {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet::submit_spam_comment()' );
-
 	return Akismet::submit_spam_comment( $comment_id );
 }
 function akismet_transition_comment_status( $new_status, $old_status, $comment ) {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet::transition_comment_status()' );
-
 	return Akismet::transition_comment_status( $new_status, $old_status, $comment );
 }
 function akismet_spam_count( $type = false ) {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet_Admin::get_spam_count()' );
-
 	return Akismet_Admin::get_spam_count( $type );
 }
 function akismet_recheck_queue() {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet_Admin::recheck_queue()' );
-
 	return Akismet_Admin::recheck_queue();
 }
 function akismet_remove_comment_author_url() {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet_Admin::remove_comment_author_url()' );
-
 	return Akismet_Admin::remove_comment_author_url();
 }
 function akismet_add_comment_author_url() {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet_Admin::add_comment_author_url()' );
-
 	return Akismet_Admin::add_comment_author_url();
 }
 function akismet_check_server_connectivity() {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet_Admin::check_server_connectivity()' );
-
 	return Akismet_Admin::check_server_connectivity();
 }
 function akismet_get_server_connectivity( $cache_timeout = 86400 ) {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet_Admin::()' );
-
 	return Akismet_Admin::get_server_connectivity( $cache_timeout );
 }
 function akismet_server_connectivity_ok() {
@@ -170,101 +122,63 @@ function akismet_server_connectivity_ok() {
 	return true;
 }
 function akismet_admin_menu() {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet_Admin::admin_menu()' );
-
 	return Akismet_Admin::admin_menu();
 }
 function akismet_load_menu() {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet_Admin::load_menu()' );
-
 	return Akismet_Admin::load_menu();
 }
 function akismet_init() {
 	_deprecated_function( __FUNCTION__, '3.0' );
 }
 function akismet_get_key() {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet::get_api_key()' );
-
 	return Akismet::get_api_key();
 }
 function akismet_check_key_status( $key, $ip = null ) {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet::check_key_status()' );
-
 	return Akismet::check_key_status( $key, $ip );
 }
 function akismet_update_alert( $response ) {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet::update_alert()' );
-
 	return Akismet::update_alert( $response );
 }
 function akismet_verify_key( $key, $ip = null ) {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet::verify_key()' );
-
 	return Akismet::verify_key( $key, $ip );
 }
 function akismet_get_user_roles( $user_id ) {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet::get_user_roles()' );
-
 	return Akismet::get_user_roles( $user_id );
 }
 function akismet_result_spam( $approved ) {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet::comment_is_spam()' );
-
 	return Akismet::comment_is_spam( $approved );
 }
 function akismet_result_hold( $approved ) {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet::comment_needs_moderation()' );
-
 	return Akismet::comment_needs_moderation( $approved );
 }
 function akismet_get_user_comments_approved( $user_id, $comment_author_email, $comment_author, $comment_author_url ) {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet::get_user_comments_approved()' );
-
 	return Akismet::get_user_comments_approved( $user_id, $comment_author_email, $comment_author, $comment_author_url );
 }
 function akismet_update_comment_history( $comment_id, $message, $event = null ) {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet::update_comment_history()' );
-
 	return Akismet::update_comment_history( $comment_id, $message, $event );
 }
 function akismet_get_comment_history( $comment_id ) {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet::get_comment_history()' );
-
 	return Akismet::get_comment_history( $comment_id );
 }
 function akismet_cmp_time( $a, $b ) {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet::_cmp_time()' );
-
 	return Akismet::_cmp_time( $a, $b );
 }
 function akismet_auto_check_update_meta( $id, $comment ) {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet::auto_check_update_meta()' );
-
 	return Akismet::auto_check_update_meta( $id, $comment );
 }
 function akismet_auto_check_comment( $commentdata ) {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet::auto_check_comment()' );
-
 	return Akismet::auto_check_comment( $commentdata );
 }
 function akismet_get_ip_address() {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet::get_ip_address()' );
-
 	return Akismet::get_ip_address();
 }
 function akismet_cron_recheck() {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet::cron_recheck()' );
-
 	return Akismet::cron_recheck();
 }
 function akismet_add_comment_nonce() {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet::add_comment_nonce()' );
-
 	return Akismet::add_comment_nonce( $post_id );
 }
 function akismet_fix_scheduled_recheck() {
-	_deprecated_function( __FUNCTION__, '3.0', 'Akismet::fix_scheduled_recheck()' );
-
 	return Akismet::fix_scheduled_recheck();
 }
 function akismet_spam_comments() {
@@ -290,4 +204,10 @@ function akismet_kill_proxy_check( $option ) {
 	_deprecated_function( __FUNCTION__, '3.0' );
 
 	return 0;
+}
+function akismet_pingback_forwarded_for( $r, $url ) {
+	return Akismet::pingback_forwarded_for( $r, $url );
+}
+function akismet_pre_check_pingback( $method ) {
+	return Akismet::pre_check_pingback( $method );
 }
\ No newline at end of file
diff --git a/wp-includes/capabilities.php b/wp-includes/capabilities.php
index 894a149e3..bdb5c7a2d 100644
--- a/wp-includes/capabilities.php
+++ b/wp-includes/capabilities.php
@@ -1374,21 +1374,25 @@ function current_user_can( $capability ) {
  * @return bool
  */
 function current_user_can_for_blog( $blog_id, $capability ) {
-	if ( is_multisite() )
-		switch_to_blog( $blog_id );
+	$switched = is_multisite() ? switch_to_blog( $blog_id ) : false;
 
 	$current_user = wp_get_current_user();
 
-	if ( empty( $current_user ) )
+	if ( empty( $current_user ) ) {
+		if ( $switched ) {
+			restore_current_blog();
+		}
 		return false;
+	}
 
 	$args = array_slice( func_get_args(), 2 );
 	$args = array_merge( array( $capability ), $args );
 
 	$can = call_user_func_array( array( $current_user, 'has_cap' ), $args );
 
-	if ( is_multisite() )
+	if ( $switched ) {
 		restore_current_blog();
+	}
 
 	return $can;
 }
diff --git a/wp-includes/class-wp-editor.php b/wp-includes/class-wp-editor.php
index 521c0ee67..6148583d0 100644
--- a/wp-includes/class-wp-editor.php
+++ b/wp-includes/class-wp-editor.php
@@ -117,12 +117,6 @@ final class _WP_Editors {
 			// A cookie (set when a user resizes the editor) overrides the height.
 			$cookie = (int) get_user_setting( 'ed_size' );
 
-			// Upgrade an old TinyMCE cookie if it is still around, and the new one isn't.
-			if ( ! $cookie && isset( $_COOKIE['TinyMCE_content_size'] ) ) {
-				parse_str( $_COOKIE['TinyMCE_content_size'], $cookie );
- 				$cookie = $cookie['ch'];
-			}
-
 			if ( $cookie )
 				$set['editor_height'] = $cookie;
 		}
diff --git a/wp-includes/formatting.php b/wp-includes/formatting.php
index 3d4d1f20c..7bd354afe 100644
--- a/wp-includes/formatting.php
+++ b/wp-includes/formatting.php
@@ -1309,21 +1309,23 @@ function sanitize_title_with_dashes( $title, $raw_title = '', $context = 'displa
 }
 
 /**
- * Ensures a string is a valid SQL order by clause.
+ * Ensures a string is a valid SQL 'order by' clause.
  *
- * Accepts one or more columns, with or without ASC/DESC, and also accepts
- * RAND().
+ * Accepts one or more columns, with or without a sort order (ASC / DESC).
+ * e.g. 'column_1', 'column_1, column_2', 'column_1 ASC, column_2 DESC' etc.
+ *
+ * Also accepts 'RAND()'.
  *
  * @since 2.5.1
  *
- * @param string $orderby Order by string to be checked.
- * @return false|string Returns the order by clause if it is a match, false otherwise.
+ * @param string $orderby Order by clause to be validated.
+ * @return string|bool Returns $orderby if valid, false otherwise.
  */
-function sanitize_sql_orderby( $orderby ){
-	preg_match('/^\s*([a-z0-9_]+(\s+(ASC|DESC))?(\s*,\s*|\s*$))+|^\s*RAND\(\s*\)\s*$/i', $orderby, $obmatches);
-	if ( !$obmatches )
-		return false;
-	return $orderby;
+function sanitize_sql_orderby( $orderby ) {
+	if ( preg_match( '/^\s*(([a-z0-9_]+|`[a-z0-9_]+`)(\s+(ASC|DESC))?\s*(,\s*(?=[a-z0-9_`])|$))+$/i', $orderby ) || preg_match( '/^\s*RAND\(\s*\)\s*$/i', $orderby ) ) {
+		return $orderby;
+	}
+	return false;
 }
 
 /**
diff --git a/wp-includes/functions.php b/wp-includes/functions.php
index 76013c934..d903349cf 100644
--- a/wp-includes/functions.php
+++ b/wp-includes/functions.php
@@ -2049,7 +2049,7 @@ function wp_check_filetype( $filename, $mimes = null ) {
 	$ext = false;
 
 	foreach ( $mimes as $ext_preg => $mime_match ) {
-		$ext_preg = '!\.(' . $ext_preg . ')(\?.*)?$!i';
+		$ext_preg = '!\.(' . $ext_preg . ')$!i';
 		if ( preg_match( $ext_preg, $filename, $ext_matches ) ) {
 			$type = $mime_match;
 			$ext = $ext_matches[1];
diff --git a/wp-includes/js/plupload/plupload.flash.swf b/wp-includes/js/plupload/plupload.flash.swf
index 6493572bdf005ad7765d58f79f2ef65660fba931..47a83cea7f498765155b407c891ce6c501a6b220 100644
GIT binary patch
literal 29577
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
T-{<#rm5B*#E&sT+a>~^JT=KV+

literal 28902
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
J85CosB>>=IOBnzF

diff --git a/wp-includes/version.php b/wp-includes/version.php
index 4a10c0b57..b3bb8584a 100644
--- a/wp-includes/version.php
+++ b/wp-includes/version.php
@@ -4,7 +4,7 @@
  *
  * @global string $wp_version
  */
-$wp_version = '4.1.1';
+$wp_version = '4.1.3';
 
 /**
  * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
diff --git a/wp-includes/wp-db.php b/wp-includes/wp-db.php
index 1656df7be..b3eed896e 100644
--- a/wp-includes/wp-db.php
+++ b/wp-includes/wp-db.php
@@ -143,6 +143,43 @@ class wpdb {
 	 */
 	protected $result;
 
+	/**
+	 * Cached column info, for sanity checking data before inserting
+	 *
+	 * @since 4.2.0
+	 * @access protected
+	 * @var array
+	 */
+	protected $col_meta = array();
+
+	/**
+	 * Calculated character sets on tables
+	 *
+	 * @since 4.2.0
+	 * @access protected
+	 * @var array
+	 */
+	protected $table_charset = array();
+
+	/**
+	 * Whether text fields in the current query need to be sanity checked.
+	 *
+	 * @since 4.2.0
+	 * @access protected
+	 * @var bool
+	 */
+	protected $check_current_query = true;
+
+	/**
+	 * Flag to ensure we don't run into recursion problems when checking the collation.
+	 *
+	 * @since 4.2.0
+	 * @access private
+	 * @see wpdb::check_safe_collation()
+	 * @var boolean
+	 */
+	private $checking_collation = false;
+
 	/**
 	 * Saved info on the table column
 	 *
@@ -647,6 +684,14 @@ class wpdb {
 	 * @param mixed  $value The value to set
 	 */
 	public function __set( $name, $value ) {
+		$protected_members = array(
+			'col_meta',
+			'table_charset',
+			'check_current_query',
+		);
+		if (  in_array( $name, $protected_members, true ) ) {
+			return;
+		}
 		$this->$name = $value;
 	}
 
@@ -716,7 +761,7 @@ class wpdb {
 					$query = $this->prepare( 'SET NAMES %s', $charset );
 					if ( ! empty( $collate ) )
 						$query .= $this->prepare( ' COLLATE %s', $collate );
-					mysqli_query( $query, $dbh );
+					mysqli_query( $dbh, $query );
 				}
 			} else {
 				if ( function_exists( 'mysql_set_charset' ) && $this->has_cap( 'set_charset' ) ) {
@@ -1541,6 +1586,7 @@ class wpdb {
 	 */
 	public function query( $query ) {
 		if ( ! $this->ready ) {
+			$this->check_current_query = true;
 			return false;
 		}
 
@@ -1561,6 +1607,19 @@ class wpdb {
 		// Log how the function was called
 		$this->func_call = "\$db->query(\"$query\")";
 
+		// If we're writing to the database, make sure the query will write safely.
+		if ( $this->check_current_query && ! $this->check_ascii( $query ) ) {
+			$stripped_query = $this->strip_invalid_text_from_query( $query );
+			// strip_invalid_text_from_query() can perform queries, so we need
+			// to flush again, just to make sure everything is clear.
+			$this->flush();
+			if ( $stripped_query !== $query ) {
+				$this->insert_id = 0;
+				return false;
+			}
+		}
+
+		$this->check_current_query = true;
 		// Keep track of the last query for debug..
 		$this->last_query = $query;
 
@@ -1730,23 +1789,29 @@ class wpdb {
 	 * @return int|false The number of rows affected, or false on error.
 	 */
 	function _insert_replace_helper( $table, $data, $format = null, $type = 'INSERT' ) {
-		if ( ! in_array( strtoupper( $type ), array( 'REPLACE', 'INSERT' ) ) )
+		if ( ! in_array( strtoupper( $type ), array( 'REPLACE', 'INSERT' ) ) ) {
+			return false;
+		}
+
+		$data = $this->process_fields( $table, $data, $format );
+		if ( false === $data ) {
 			return false;
-		$this->insert_id = 0;
-		$formats = $format = (array) $format;
-		$fields = array_keys( $data );
-		$formatted_fields = array();
-		foreach ( $fields as $field ) {
-			if ( !empty( $format ) )
-				$form = ( $form = array_shift( $formats ) ) ? $form : $format[0];
-			elseif ( isset( $this->field_types[$field] ) )
-				$form = $this->field_types[$field];
-			else
-				$form = '%s';
-			$formatted_fields[] = $form;
 		}
-		$sql = "{$type} INTO `$table` (`" . implode( '`,`', $fields ) . "`) VALUES (" . implode( ",", $formatted_fields ) . ")";
-		return $this->query( $this->prepare( $sql, $data ) );
+
+		$formats = $values = array();
+		foreach ( $data as $value ) {
+			$formats[] = $value['format'];
+			$values[]  = $value['value'];
+		}
+
+		$fields  = '`' . implode( '`, `', array_keys( $data ) ) . '`';
+		$formats = implode( ', ', $formats );
+
+		$sql = "$type INTO `$table` ($fields) VALUES ($formats)";
+
+		$this->insert_id = 0;
+		$this->check_current_query = false;
+		return $this->query( $this->prepare( $sql, $values ) );
 	}
 
 	/**
@@ -1769,34 +1834,36 @@ class wpdb {
 	 * @return int|false The number of rows updated, or false on error.
 	 */
 	public function update( $table, $data, $where, $format = null, $where_format = null ) {
-		if ( ! is_array( $data ) || ! is_array( $where ) )
+		if ( ! is_array( $data ) || ! is_array( $where ) ) {
 			return false;
+		}
 
-		$formats = $format = (array) $format;
-		$bits = $wheres = array();
-		foreach ( (array) array_keys( $data ) as $field ) {
-			if ( !empty( $format ) )
-				$form = ( $form = array_shift( $formats ) ) ? $form : $format[0];
-			elseif ( isset($this->field_types[$field]) )
-				$form = $this->field_types[$field];
-			else
-				$form = '%s';
-			$bits[] = "`$field` = {$form}";
+		$data = $this->process_fields( $table, $data, $format );
+		if ( false === $data ) {
+			return false;
+		}
+		$where = $this->process_fields( $table, $where, $where_format );
+		if ( false === $where ) {
+			return false;
 		}
 
-		$where_formats = $where_format = (array) $where_format;
-		foreach ( (array) array_keys( $where ) as $field ) {
-			if ( !empty( $where_format ) )
-				$form = ( $form = array_shift( $where_formats ) ) ? $form : $where_format[0];
-			elseif ( isset( $this->field_types[$field] ) )
-				$form = $this->field_types[$field];
-			else
-				$form = '%s';
-			$wheres[] = "`$field` = {$form}";
+		$fields = $conditions = $values = array();
+		foreach ( $data as $field => $value ) {
+			$fields[] = "`$field` = " . $value['format'];
+			$values[] = $value['value'];
 		}
+		foreach ( $where as $field => $value ) {
+			$conditions[] = "`$field` = " . $value['format'];
+			$values[] = $value['value'];
+		}
+
+		$fields = implode( ', ', $fields );
+		$conditions = implode( ' AND ', $conditions );
 
-		$sql = "UPDATE `$table` SET " . implode( ', ', $bits ) . ' WHERE ' . implode( ' AND ', $wheres );
-		return $this->query( $this->prepare( $sql, array_merge( array_values( $data ), array_values( $where ) ) ) );
+		$sql = "UPDATE `$table` SET $fields WHERE $conditions";
+
+		$this->check_current_query = false;
+		return $this->query( $this->prepare( $sql, $values ) );
 	}
 
 	/**
@@ -1816,27 +1883,132 @@ class wpdb {
 	 * @return int|false The number of rows updated, or false on error.
 	 */
 	public function delete( $table, $where, $where_format = null ) {
-		if ( ! is_array( $where ) )
+		if ( ! is_array( $where ) ) {
+			return false;
+		}
+
+		$where = $this->process_fields( $table, $where, $where_format );
+		if ( false === $where ) {
+			return false;
+		}
+
+		$conditions = $values = array();
+		foreach ( $where as $field => $value ) {
+			$conditions[] = "`$field` = " . $value['format'];
+			$values[] = $value['value'];
+		}
+
+		$conditions = implode( ' AND ', $conditions );
+
+		$sql = "DELETE FROM `$table` WHERE $conditions";
+
+		$this->check_current_query = false;
+		return $this->query( $this->prepare( $sql, $values ) );
+	}
+
+	/**
+	 * Processes arrays of field/value pairs and field formats.
+	 *
+	 * This is a helper method for wpdb's CRUD methods, which take field/value
+	 * pairs for inserts, updates, and where clauses. This method first pairs
+	 * each value with a format. Then it determines the charset of that field,
+	 * using that to determine if any invalid text would be stripped. If text is
+	 * stripped, then field processing is rejected and the query fails.
+	 *
+	 * @since 4.2.0
+	 * @access protected
+	 *
+	 * @param string $table  Table name.
+	 * @param array  $data   Field/value pair.
+	 * @param mixed  $format Format for each field.
+	 * @return array|bool Returns an array of fields that contain paired values
+	 *                    and formats. Returns false for invalid values.
+	 */
+	protected function process_fields( $table, $data, $format ) {
+		$data = $this->process_field_formats( $data, $format );
+		$data = $this->process_field_charsets( $data, $table );
+		if ( false === $data ) {
 			return false;
+		}
 
-		$wheres = array();
+		$converted_data = $this->strip_invalid_text( $data );
 
-		$where_formats = $where_format = (array) $where_format;
+		if ( $data !== $converted_data ) {
+			return false;
+		}
 
-		foreach ( array_keys( $where ) as $field ) {
-			if ( !empty( $where_format ) ) {
-				$form = ( $form = array_shift( $where_formats ) ) ? $form : $where_format[0];
+		return $data;
+	}
+
+	/**
+	 * Prepares arrays of value/format pairs as passed to wpdb CRUD methods.
+	 *
+	 * @since 4.2.0
+	 * @access protected
+	 *
+	 * @param array $data   Array of fields to values.
+	 * @param mixed $format Formats to be mapped to the values in $data.
+	 * @return array Array, keyed by field names with values being an array
+	 *               of 'value' and 'format' keys.
+	 */
+	protected function process_field_formats( $data, $format ) {
+		$formats = $original_formats = (array) $format;
+
+		foreach ( $data as $field => $value ) {
+			$value = array(
+				'value'  => $value,
+				'format' => '%s',
+			);
+
+			if ( ! empty( $format ) ) {
+				$value['format'] = array_shift( $formats );
+				if ( ! $value['format'] ) {
+					$value['format'] = reset( $original_formats );
+				}
 			} elseif ( isset( $this->field_types[ $field ] ) ) {
-				$form = $this->field_types[ $field ];
+				$value['format'] = $this->field_types[ $field ];
+			}
+
+			$data[ $field ] = $value;
+		}
+
+		return $data;
+	}
+
+	/**
+	 * Adds field charsets to field/value/format arrays generated by
+	 * the {@see wpdb::process_field_formats()} method.
+	 *
+	 * @since 4.2.0
+	 * @access protected
+	 *
+	 * @param array  $data  As it comes from the {@see wpdb::process_field_formats()} method.
+	 * @param string $table Table name.
+	 * @return The same array as $data with additional 'charset' keys.
+	 */
+	protected function process_field_charsets( $data, $table ) {
+		foreach ( $data as $field => $value ) {
+			if ( '%d' === $value['format'] || '%f' === $value['format'] ) {
+				// We can skip this field if we know it isn't a string.
+				// This checks %d/%f versus ! %s because it's sprintf() could take more.
+				$value['charset'] = false;
+			} elseif ( $this->check_ascii( $value['value'] ) ) {
+				// If it's ASCII, then we don't need the charset. We can skip this field.
+				$value['charset'] = false;
 			} else {
-				$form = '%s';
+				$value['charset'] = $this->get_col_charset( $table, $field );
+				if ( is_wp_error( $value['charset'] ) ) {
+					return false;
+				}
+
+				// This isn't ASCII. Don't have strip_invalid_text() re-check.
+				$value['ascii'] = false;
 			}
 
-			$wheres[] = "$field = $form";
+			$data[ $field ] = $value;
 		}
 
-		$sql = "DELETE FROM $table WHERE " . implode( ' AND ', $wheres );
-		return $this->query( $this->prepare( $sql, $where ) );
+		return $data;
 	}
 
 	/**
@@ -1856,6 +2028,10 @@ class wpdb {
 	public function get_var( $query = null, $x = 0, $y = 0 ) {
 		$this->func_call = "\$db->get_var(\"$query\", $x, $y)";
 
+		if ( $this->check_safe_collation( $query ) ) {
+			$this->check_current_query = false;
+		}
+
 		if ( $query ) {
 			$this->query( $query );
 		}
@@ -1884,6 +2060,11 @@ class wpdb {
 	 */
 	public function get_row( $query = null, $output = OBJECT, $y = 0 ) {
 		$this->func_call = "\$db->get_row(\"$query\",$output,$y)";
+
+		if ( $this->check_safe_collation( $query ) ) {
+			$this->check_current_query = false;
+		}
+
 		if ( $query ) {
 			$this->query( $query );
 		} else {
@@ -1921,6 +2102,10 @@ class wpdb {
 	 * @return array Database query result. Array indexed from 0 by SQL result row number.
 	 */
 	public function get_col( $query = null , $x = 0 ) {
+		if ( $this->check_safe_collation( $query ) ) {
+			$this->check_current_query = false;
+		}
+
 		if ( $query ) {
 			$this->query( $query );
 		}
@@ -1949,6 +2134,10 @@ class wpdb {
 	public function get_results( $query = null, $output = OBJECT ) {
 		$this->func_call = "\$db->get_results(\"$query\", $output)";
 
+		if ( $this->check_safe_collation( $query ) ) {
+			$this->check_current_query = false;
+		}
+
 		if ( $query ) {
 			$this->query( $query );
 		} else {
@@ -1990,6 +2179,527 @@ class wpdb {
 		return null;
 	}
 
+	/**
+	 * Retrieves the character set for the given table.
+	 *
+	 * @since 4.2.0
+	 * @access protected
+	 *
+	 * @param string $table Table name.
+	 * @return string|WP_Error Table character set, {@see WP_Error} object if it couldn't be found.
+	 */
+	protected function get_table_charset( $table ) {
+		$tablekey = strtolower( $table );
+
+		/**
+		 * Filter the table charset value before the DB is checked.
+		 *
+		 * Passing a non-null value to the filter will effectively short-circuit
+		 * checking the DB for the charset, returning that value instead.
+		 *
+		 * @since 4.2.0
+		 *
+		 * @param string $charset The character set to use. Default null.
+		 * @param string $table   The name of the table being checked.
+		 */
+		$charset = apply_filters( 'pre_get_table_charset', null, $table );
+		if ( null !== $charset ) {
+			return $charset;
+		}
+
+		if ( isset( $this->table_charset[ $tablekey ] ) ) {
+			return $this->table_charset[ $tablekey ];
+		}
+
+		$charsets = $columns = array();
+		$results = $this->get_results( "SHOW FULL COLUMNS FROM `$table`" );
+		if ( ! $results ) {
+			return new WP_Error( 'wpdb_get_table_charset_failure' );
+		}
+
+		foreach ( $results as $column ) {
+			$columns[ strtolower( $column->Field ) ] = $column;
+		}
+
+		$this->col_meta[ $tablekey ] = $columns;
+
+		foreach ( $columns as $column ) {
+			if ( ! empty( $column->Collation ) ) {
+				list( $charset ) = explode( '_', $column->Collation );
+				$charsets[ strtolower( $charset ) ] = true;
+			}
+
+			list( $type ) = explode( '(', $column->Type );
+
+			// A binary/blob means the whole query gets treated like this.
+			if ( in_array( strtoupper( $type ), array( 'BINARY', 'VARBINARY', 'TINYBLOB', 'MEDIUMBLOB', 'BLOB', 'LONGBLOB' ) ) ) {
+				$this->table_charset[ $tablekey ] = 'binary';
+				return 'binary';
+			}
+		}
+
+		// utf8mb3 is an alias for utf8.
+		if ( isset( $charsets['utf8mb3'] ) ) {
+			$charsets['utf8'] = true;
+			unset( $charsets['utf8mb3'] );
+		}
+
+		// Check if we have more than one charset in play.
+		$count = count( $charsets );
+		if ( 1 === $count ) {
+			$charset = key( $charsets );
+		} elseif ( 0 === $count ) {
+			// No charsets, assume this table can store whatever.
+			$charset = false;
+		} else {
+			// More than one charset. Remove latin1 if present and recalculate.
+			unset( $charsets['latin1'] );
+			$count = count( $charsets );
+			if ( 1 === $count ) {
+				// Only one charset (besides latin1).
+				$charset = key( $charsets );
+			} elseif ( 2 === $count && isset( $charsets['utf8'], $charsets['utf8mb4'] ) ) {
+				// Two charsets, but they're utf8 and utf8mb4, use utf8.
+				$charset = 'utf8';
+			} else {
+				// Two mixed character sets. ascii.
+				$charset = 'ascii';
+			}
+		}
+
+		$this->table_charset[ $tablekey ] = $charset;
+		return $charset;
+	}
+
+	/**
+	 * Retrieves the character set for the given column.
+	 *
+	 * @since 4.2.0
+	 * @access public
+	 *
+	 * @param string $table  Table name.
+	 * @param string $column Column name.
+	 * @return mixed Column character set as a string. False if the column has no
+	 *               character set. {@see WP_Error} object if there was an error.
+	 */
+	public function get_col_charset( $table, $column ) {
+		$tablekey = strtolower( $table );
+		$columnkey = strtolower( $column );
+
+		/**
+		 * Filter the column charset value before the DB is checked.
+		 *
+		 * Passing a non-null value to the filter will short-circuit
+		 * checking the DB for the charset, returning that value instead.
+		 *
+		 * @since 4.2.0
+		 *
+		 * @param string $charset The character set to use. Default null.
+		 * @param string $table   The name of the table being checked.
+		 * @param string $column  The name of the column being checked.
+		 */
+		$charset = apply_filters( 'pre_get_col_charset', null, $table, $column );
+		if ( null !== $charset ) {
+			return $charset;
+		}
+
+		// Skip this entirely if this isn't a MySQL database.
+		if ( false === $this->is_mysql ) {
+			return false;
+		}
+
+		if ( empty( $this->table_charset[ $tablekey ] ) ) {
+			// This primes column information for us.
+			$table_charset = $this->get_table_charset( $table );
+			if ( is_wp_error( $table_charset ) ) {
+				return $table_charset;
+			}
+		}
+
+		// If still no column information, return the table charset.
+		if ( empty( $this->col_meta[ $tablekey ] ) ) {
+			return $this->table_charset[ $tablekey ];
+		}
+
+		// If this column doesn't exist, return the table charset.
+		if ( empty( $this->col_meta[ $tablekey ][ $columnkey ] ) ) {
+			return $this->table_charset[ $tablekey ];
+		}
+
+		// Return false when it's not a string column.
+		if ( empty( $this->col_meta[ $tablekey ][ $columnkey ]->Collation ) ) {
+			return false;
+		}
+
+		list( $charset ) = explode( '_', $this->col_meta[ $tablekey ][ $columnkey ]->Collation );
+		return $charset;
+	}
+
+	/**
+	 * Check if a string is ASCII.
+	 *
+	 * The negative regex is faster for non-ASCII strings, as it allows
+	 * the search to finish as soon as it encounters a non-ASCII character.
+	 *
+	 * @since 4.2.0
+	 * @access protected
+	 *
+	 * @param string $string String to check.
+	 * @return bool True if ASCII, false if not.
+	 */
+	protected function check_ascii( $string ) {
+		if ( function_exists( 'mb_check_encoding' ) ) {
+			if ( mb_check_encoding( $string, 'ASCII' ) ) {
+				return true;
+			}
+		} elseif ( ! preg_match( '/[^\x00-\x7F]/', $string ) ) {
+			return true;
+		}
+
+		return false;
+	}
+
+	/**
+	 * Check if the query is accessing a collation considered safe on the current version of MySQL.
+	 *
+	 * @since 4.2.0
+	 * @access protected
+	 *
+	 * @param string $query The query to check.
+	 * @return bool True if the collation is safe, false if it isn't.
+	 */
+	protected function check_safe_collation( $query ) {
+		if ( $this->checking_collation ) {
+			return true;
+		}
+
+		// We don't need to check the collation for queries that don't read data.
+		$query = ltrim( $query, "\r\n\t (" );
+		if ( preg_match( '/^(?:SHOW|DESCRIBE|DESC|EXPLAIN)\s/i', $query ) ) {
+			return true;
+		}
+
+		// All-ASCII queries don't need extra checking.
+		if ( $this->check_ascii( $query ) ) {
+			return true;
+		}
+
+		$table = $this->get_table_from_query( $query );
+		if ( ! $table ) {
+			return false;
+		}
+
+		$this->checking_collation = true;
+		$collation = $this->get_table_charset( $table );
+		$this->checking_collation = false;
+
+		// Tables with no collation, or latin1 only, don't need extra checking.
+		if ( false === $collation || 'latin1' === $collation ) {
+			return true;
+		}
+
+		$table = strtolower( $table );
+		if ( empty( $this->col_meta[ $table ] ) ) {
+			return false;
+		}
+
+		// If any of the columns don't have one of these collations, it needs more sanity checking.
+		foreach( $this->col_meta[ $table ] as $col ) {
+			if ( empty( $col->Collation ) ) {
+				continue;
+			}
+
+			if ( ! in_array( $col->Collation, array( 'utf8_general_ci', 'utf8_bin', 'utf8mb4_general_ci', 'utf8mb4_bin' ), true ) ) {
+				return false;
+			}
+		}
+
+		return true;
+	}
+
+	/**
+	 * Strips any invalid characters based on value/charset pairs.
+	 *
+	 * @since 4.2.0
+	 * @access protected
+	 *
+	 * @param array $data Array of value arrays. Each value array has the keys
+	 *                    'value' and 'charset'. An optional 'ascii' key can be
+	 *                    set to false to avoid redundant ASCII checks.
+	 * @return array|WP_Error The $data parameter, with invalid characters removed from
+	 *                        each value. This works as a passthrough: any additional keys
+	 *                        such as 'field' are retained in each value array. If we cannot
+	 *                        remove invalid characters, a {@see WP_Error} object is returned.
+	 */
+		// If any of the columns don't have one of these collations, it needs more sanity checking.
+	protected function strip_invalid_text( $data ) {
+		// Some multibyte character sets that we can check in PHP.
+		$mb_charsets = array(
+			'ascii'   => 'ASCII',
+			'big5'    => 'BIG-5',
+			'eucjpms' => 'eucJP-win',
+			'gb2312'  => 'EUC-CN',
+			'ujis'    => 'EUC-JP',
+			'utf32'   => 'UTF-32',
+		);
+
+		$supported_charsets = array();
+		if ( function_exists( 'mb_list_encodings' ) ) {
+			$supported_charsets = mb_list_encodings();
+		}
+
+		$db_check_string = false;
+
+		foreach ( $data as &$value ) {
+			$charset = $value['charset'];
+
+			// Column isn't a string, or is latin1, which will will happily store anything.
+			if ( false === $charset || 'latin1' === $charset ) {
+				continue;
+			}
+
+			if ( ! is_string( $value['value'] ) ) {
+				continue;
+			}
+
+			// ASCII is always OK.
+			if ( ! isset( $value['ascii'] ) && $this->check_ascii( $value['value'] ) ) {
+				continue;
+			}
+
+			// Convert the text locally.
+			if ( $supported_charsets ) {
+				if ( isset( $mb_charsets[ $charset ] ) && in_array( $mb_charsets[ $charset ], $supported_charsets ) ) {
+					$value['value'] = mb_convert_encoding( $value['value'], $mb_charsets[ $charset ], $mb_charsets[ $charset ] );
+					continue;
+				}
+			}
+
+			// utf8 can be handled by regex, which is a bunch faster than a DB lookup.
+			if ( 'utf8' === $charset || 'utf8mb3' === $charset || 'utf8mb4' === $charset ) {
+				$regex = '/
+					(
+						(?: [\x00-\x7F]                  # single-byte sequences   0xxxxxxx
+						|   [\xC2-\xDF][\x80-\xBF]       # double-byte sequences   110xxxxx 10xxxxxx
+						|   \xE0[\xA0-\xBF][\x80-\xBF]   # triple-byte sequences   1110xxxx 10xxxxxx * 2
+						|   [\xE1-\xEC][\x80-\xBF]{2}
+						|   \xED[\x80-\x9F][\x80-\xBF]
+						|   [\xEE-\xEF][\x80-\xBF]{2}';
+
+				if ( 'utf8mb4' === $charset) {
+					$regex .= '
+						|    \xF0[\x90-\xBF][\x80-\xBF]{2} # four-byte sequences   11110xxx 10xxxxxx * 3
+						|    [\xF1-\xF3][\x80-\xBF]{3}
+						|    \xF4[\x80-\x8F][\x80-\xBF]{2}
+					';
+				}
+
+				$regex .= '){1,50}                          # ...one or more times
+					)
+					| .                                  # anything else
+					/x';
+				$value['value'] = preg_replace( $regex, '$1', $value['value'] );
+				continue;
+			}
+
+			// We couldn't use any local conversions, send it to the DB.
+			$value['db'] = $db_check_string = true;
+		}
+		unset( $value ); // Remove by reference.
+
+		if ( $db_check_string ) {
+			$queries = array();
+			foreach ( $data as $col => $value ) {
+				if ( ! empty( $value['db'] ) ) {
+					if ( ! isset( $queries[ $value['charset'] ] ) ) {
+						$queries[ $value['charset'] ] = array();
+					}
+
+					// Split the CONVERT() calls by charset, so we can make sure the connection is right
+					$queries[ $value['charset'] ][ $col ] = $this->prepare( "CONVERT( %s USING {$value['charset']} )", $value['value'] );
+					unset( $data[ $col ]['db'] );
+				}
+			}
+
+			$connection_charset = $this->charset;
+			foreach ( $queries as $charset => $query ) {
+				if ( ! $query ) {
+					continue;
+				}
+
+				// Change the charset to match the string(s) we're converting
+				if ( $charset !== $connection_charset ) {
+					$connection_charset = $charset;
+					$this->set_charset( $this->dbh, $charset );
+				}
+
+				$this->check_current_query = false;
+
+				$row = $this->get_row( "SELECT " . implode( ', ', $query ), ARRAY_N );
+				if ( ! $row ) {
+					$this->set_charset( $this->dbh, $connection_charset );
+					return new WP_Error( 'wpdb_strip_invalid_text_failure' );
+				}
+
+				$cols = array_keys( $query );
+				$col_count = count( $cols );
+				for ( $ii = 0; $ii < $col_count; $ii++ ) {
+					$data[ $cols[ $ii ] ]['value'] = $row[ $ii ];
+				}
+			}
+
+			// Don't forget to change the charset back!
+			if ( $connection_charset !== $this->charset ) {
+				$this->set_charset( $this->dbh );
+			}
+		}
+
+		return $data;
+	}
+
+	/**
+	 * Strips any invalid characters from the query.
+	 *
+	 * @since 4.2.0
+	 * @access protected
+	 *
+	 * @param string $query Query to convert.
+	 * @return string|WP_Error The converted query, or a {@see WP_Error} object if the conversion fails.
+	 */
+	protected function strip_invalid_text_from_query( $query ) {
+		$table = $this->get_table_from_query( $query );
+		if ( $table ) {
+			$charset = $this->get_table_charset( $table );
+			if ( is_wp_error( $charset ) ) {
+				return $charset;
+			}
+
+			// We can't reliably strip text from tables containing binary/blob columns
+			if ( 'binary' === $charset ) {
+				return $query;
+			}
+		} else {
+			$charset = $this->charset;
+		}
+
+		$data = array(
+			'value'   => $query,
+			'charset' => $charset,
+			'ascii'   => false,
+		);
+
+		$data = $this->strip_invalid_text( array( $data ) );
+		if ( is_wp_error( $data ) ) {
+			return $data;
+		}
+
+		return $data[0]['value'];
+	}
+
+	/**
+	 * Strips any invalid characters from the string for a given table and column.
+	 *
+	 * @since 4.2.0
+	 * @access public
+	 *
+	 * @param string $table  Table name.
+	 * @param string $column Column name.
+	 * @param string $value  The text to check.
+	 * @return string|WP_Error The converted string, or a `WP_Error` object if the conversion fails.
+	 */
+	public function strip_invalid_text_for_column( $table, $column, $value ) {
+		if ( ! is_string( $value ) || $this->check_ascii( $value ) ) {
+			return $value;
+		}
+
+		$charset = $this->get_col_charset( $table, $column );
+		if ( ! $charset ) {
+			// Not a string column.
+			return $value;
+		} elseif ( is_wp_error( $charset ) ) {
+			// Bail on real errors.
+			return $charset;
+		}
+
+		$data = array(
+			$column => array(
+				'value'   => $value,
+				'charset' => $charset,
+				'ascii'   => false,
+			)
+		);
+
+		$data = $this->strip_invalid_text( $data );
+		if ( is_wp_error( $data ) ) {
+			return $data;
+		}
+
+		return $data[ $column ]['value'];
+	}
+
+	/**
+	 * Find the first table name referenced in a query.
+	 *
+	 * @since 4.2.0
+	 * @access protected
+	 *
+	 * @param string $query The query to search.
+	 * @return string|false $table The table name found, or false if a table couldn't be found.
+	 */
+	protected function get_table_from_query( $query ) {
+		// Remove characters that can legally trail the table name.
+		$query = rtrim( $query, ';/-#' );
+
+		// Allow (select...) union [...] style queries. Use the first query's table name.
+		$query = ltrim( $query, "\r\n\t (" );
+
+		/*
+		 * Strip everything between parentheses except nested selects and use only 1,000
+		 * chars of the query.
+		 */
+		$query = preg_replace( '/\((?!\s*select)[^(]*?\)/is', '()', substr( $query, 0, 1000 ) );
+
+		// Quickly match most common queries.
+		if ( preg_match( '/^\s*(?:'
+				. 'SELECT.*?\s+FROM'
+				. '|INSERT(?:\s+LOW_PRIORITY|\s+DELAYED|\s+HIGH_PRIORITY)?(?:\s+IGNORE)?(?:\s+INTO)?'
+				. '|REPLACE(?:\s+LOW_PRIORITY|\s+DELAYED)?(?:\s+INTO)?'
+				. '|UPDATE(?:\s+LOW_PRIORITY)?(?:\s+IGNORE)?'
+				. '|DELETE(?:\s+LOW_PRIORITY|\s+QUICK|\s+IGNORE)*(?:\s+FROM)?'
+				. ')\s+`?([\w-]+)`?/is', $query, $maybe ) ) {
+			return $maybe[1];
+		}
+
+		// SHOW TABLE STATUS and SHOW TABLES
+		if ( preg_match( '/^\s*(?:'
+				. 'SHOW\s+TABLE\s+STATUS.+(?:LIKE\s+|WHERE\s+Name\s*=\s*)'
+				. '|SHOW\s+(?:FULL\s+)?TABLES.+(?:LIKE\s+|WHERE\s+Name\s*=\s*)'
+				. ')\W([\w-]+)\W/is', $query, $maybe ) ) {
+			return $maybe[1];
+		}
+
+		// Big pattern for the rest of the table-related queries.
+		if ( preg_match( '/^\s*(?:'
+				. '(?:EXPLAIN\s+(?:EXTENDED\s+)?)?SELECT.*?\s+FROM'
+				. '|DESCRIBE|DESC|EXPLAIN|HANDLER'
+				. '|(?:LOCK|UNLOCK)\s+TABLE(?:S)?'
+				. '|(?:RENAME|OPTIMIZE|BACKUP|RESTORE|CHECK|CHECKSUM|ANALYZE|REPAIR).*\s+TABLE'
+				. '|TRUNCATE(?:\s+TABLE)?'
+				. '|CREATE(?:\s+TEMPORARY)?\s+TABLE(?:\s+IF\s+NOT\s+EXISTS)?'
+				. '|ALTER(?:\s+IGNORE)?\s+TABLE'
+				. '|DROP\s+TABLE(?:\s+IF\s+EXISTS)?'
+				. '|CREATE(?:\s+\w+)?\s+INDEX.*\s+ON'
+				. '|DROP\s+INDEX.*\s+ON'
+				. '|LOAD\s+DATA.*INFILE.*INTO\s+TABLE'
+				. '|(?:GRANT|REVOKE).*ON\s+TABLE'
+				. '|SHOW\s+(?:.*FROM|.*TABLE)'
+				. ')\s+\(*\s*`?([\w-]+)`?\s*\)*/is', $query, $maybe ) ) {
+			return $maybe[1];
+		}
+
+		return false;
+	}
+
 	/**
 	 * Load the column metadata from the last query.
 	 *
-- 
GitLab