Press This: JSON encode the URL before appending it to the bookmarklet. See #31373.

Built from https://develop.svn.wordpress.org/trunk@31537


git-svn-id: http://core.svn.wordpress.org/trunk@31518 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Andrew Ozz 2015-02-25 03:58:25 +00:00
parent bd2c067245
commit 64092c309d
2 changed files with 12 additions and 17 deletions

View File

@ -2608,26 +2608,21 @@ function get_shortcut_link() {
* bookmarklet" notice when using PT in those browsers. * bookmarklet" notice when using PT in those browsers.
*/ */
$ua = $_SERVER['HTTP_USER_AGENT']; $ua = $_SERVER['HTTP_USER_AGENT'];
if ( ! empty( $ua ) && preg_match( '/\bMSIE (\d)/', $ua, $matches ) && (int) $matches[1] <= 8 ) { if ( ! empty( $ua ) && preg_match( '/\bMSIE (\d)/', $ua, $matches ) && (int) $matches[1] <= 8 ) {
$link = "javascript: $url = wp_json_encode( admin_url( 'press-this.php' ) );
var d=document,
w=window, $link = 'javascript:var d=document,w=window,e=w.getSelection,k=d.getSelection,x=d.selection,' .
e=w.getSelection, 's=(e?e():(k)?k():(x?x.createRange().text:0)),f=' . $url . ',l=d.location,e=encodeURIComponent,' .
k=d.getSelection, 'u=f+"?u="+e(l.href)+"&t="+e(d.title)+"&s="+e(s)+"&v=' . $bookmarklet_version . '";' .
x=d.selection, 'a=function(){if(!w.open(u,"t","toolbar=0,resizable=1,scrollbars=1,status=1,width=600,height=700"))l.href=u;};' .
s=(e?e():(k)?k():(x?x.createRange().text:0)), 'if(/Firefox/.test(navigator.userAgent))setTimeout(a,0);else a();void(0)';
f='" . admin_url('press-this.php') . "',
l=d.location,
e=encodeURIComponent,
u=f+'?u='+e(l.href)+'&t='+e(d.title)+'&s='+e(s)+'&v=" . $bookmarklet_version . "';
a=function(){if(!w.open(u,'t','toolbar=0,resizable=1,scrollbars=1,status=1,width=600,height=700'))l.href=u;};
if (/Firefox/.test(navigator.userAgent)) setTimeout(a, 0); else a();
void(0)";
} }
} }
if ( empty( $link ) ) { if ( empty( $link ) ) {
$url = wp_json_encode( admin_url( 'press-this.php' ) . '?v=' . $bookmarklet_version );
/** /**
* A non-minified version if this script is in /wp-admin/js/bookmarklet.js * A non-minified version if this script is in /wp-admin/js/bookmarklet.js
*/ */
@ -2656,7 +2651,7 @@ function get_shortcut_link() {
'p.setAttribute("method","POST"),p.setAttribute("action",d),p.setAttribute("target",s),p.setAttribute("style","display: none;"),' . 'p.setAttribute("method","POST"),p.setAttribute("action",d),p.setAttribute("target",s),p.setAttribute("style","display: none;"),' .
'f=a.outerWidth||b.documentElement.clientWidth||600,g=a.outerHeight||b.documentElement.clientHeight||700,f=800>f||f>5e3?600:.7*f,' . 'f=a.outerWidth||b.documentElement.clientWidth||600,g=a.outerHeight||b.documentElement.clientHeight||700,f=800>f||f>5e3?600:.7*f,' .
'g=800>g||g>3e3?700:.9*g,a.open("about:blank",s,"width="+f+",height="+g),b.body.appendChild(p),p.submit()}}' . 'g=800>g||g>3e3?700:.9*g,a.open("about:blank",s,"width="+f+",height="+g),b.body.appendChild(p),p.submit()}}' .
'(window,document,top.location.href,"' . admin_url( 'press-this.php' ) . '?v=' . $bookmarklet_version . '");'; '(window,document,top.location.href,' . $url . ');';
} }
$link = str_replace( array( "\r", "\n", "\t" ), '', $link ); $link = str_replace( array( "\r", "\n", "\t" ), '', $link );

View File

@ -4,7 +4,7 @@
* *
* @global string $wp_version * @global string $wp_version
*/ */
$wp_version = '4.2-alpha-31536'; $wp_version = '4.2-alpha-31537';
/** /**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema. * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.