Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
N
noblogs-wp
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
39
Issues
39
List
Boards
Labels
Service Desk
Milestones
Merge Requests
1
Merge Requests
1
Operations
Operations
Incidents
Analytics
Analytics
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
ai
noblogs-wp
Commits
79068fa2
Commit
79068fa2
authored
Jan 21, 2018
by
lucha
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Wordpress 4.9.2
parent
bca04508
Changes
43
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
43 changed files
with
214 additions
and
113 deletions
+214
-113
license.txt
license.txt
+1
-1
wp-admin/about.php
wp-admin/about.php
+18
-0
wp-admin/css/common-rtl.css
wp-admin/css/common-rtl.css
+14
-2
wp-admin/css/common-rtl.min.css
wp-admin/css/common-rtl.min.css
+2
-2
wp-admin/css/common.css
wp-admin/css/common.css
+14
-2
wp-admin/css/common.min.css
wp-admin/css/common.min.css
+2
-2
wp-admin/css/customize-nav-menus-rtl.css
wp-admin/css/customize-nav-menus-rtl.css
+4
-0
wp-admin/css/customize-nav-menus-rtl.min.css
wp-admin/css/customize-nav-menus-rtl.min.css
+1
-1
wp-admin/css/customize-nav-menus.css
wp-admin/css/customize-nav-menus.css
+4
-0
wp-admin/css/customize-nav-menus.min.css
wp-admin/css/customize-nav-menus.min.css
+1
-1
wp-admin/includes/image.php
wp-admin/includes/image.php
+3
-3
wp-admin/includes/media.php
wp-admin/includes/media.php
+2
-2
wp-admin/includes/update-core.php
wp-admin/includes/update-core.php
+41
-1
wp-admin/js/editor.js
wp-admin/js/editor.js
+3
-3
wp-admin/js/editor.min.js
wp-admin/js/editor.min.js
+1
-1
wp-admin/js/plugin-install.js
wp-admin/js/plugin-install.js
+7
-2
wp-admin/js/plugin-install.min.js
wp-admin/js/plugin-install.min.js
+1
-1
wp-admin/js/widgets/custom-html-widgets.js
wp-admin/js/widgets/custom-html-widgets.js
+1
-1
wp-admin/js/widgets/custom-html-widgets.min.js
wp-admin/js/widgets/custom-html-widgets.min.js
+1
-1
wp-admin/theme-install.php
wp-admin/theme-install.php
+1
-1
wp-content/themes/twentyseventeen/front-page.php
wp-content/themes/twentyseventeen/front-page.php
+1
-1
wp-includes/category-template.php
wp-includes/category-template.php
+8
-16
wp-includes/customize/class-wp-customize-themes-section.php
wp-includes/customize/class-wp-customize-themes-section.php
+1
-1
wp-includes/default-filters.php
wp-includes/default-filters.php
+1
-1
wp-includes/functions.php
wp-includes/functions.php
+2
-1
wp-includes/js/mce-view.js
wp-includes/js/mce-view.js
+1
-1
wp-includes/js/mce-view.min.js
wp-includes/js/mce-view.min.js
+1
-1
wp-includes/js/tinymce/plugins/wplink/plugin.js
wp-includes/js/tinymce/plugins/wplink/plugin.js
+4
-1
wp-includes/js/tinymce/plugins/wplink/plugin.min.js
wp-includes/js/tinymce/plugins/wplink/plugin.min.js
+1
-1
wp-includes/js/tinymce/wp-tinymce.js.gz
wp-includes/js/tinymce/wp-tinymce.js.gz
+0
-0
wp-includes/media.php
wp-includes/media.php
+2
-2
wp-includes/random_compat/random_bytes_com_dotnet.php
wp-includes/random_compat/random_bytes_com_dotnet.php
+2
-0
wp-includes/random_compat/random_bytes_dev_urandom.php
wp-includes/random_compat/random_bytes_dev_urandom.php
+2
-0
wp-includes/random_compat/random_bytes_libsodium.php
wp-includes/random_compat/random_bytes_libsodium.php
+2
-0
wp-includes/random_compat/random_bytes_libsodium_legacy.php
wp-includes/random_compat/random_bytes_libsodium_legacy.php
+2
-0
wp-includes/random_compat/random_bytes_mcrypt.php
wp-includes/random_compat/random_bytes_mcrypt.php
+2
-0
wp-includes/random_compat/random_bytes_openssl.php
wp-includes/random_compat/random_bytes_openssl.php
+2
-0
wp-includes/random_compat/random_int.php
wp-includes/random_compat/random_int.php
+2
-0
wp-includes/rest-api/class-wp-rest-server.php
wp-includes/rest-api/class-wp-rest-server.php
+1
-1
wp-includes/rest-api/endpoints/class-wp-rest-attachments-controller.php
...st-api/endpoints/class-wp-rest-attachments-controller.php
+1
-1
wp-includes/version.php
wp-includes/version.php
+1
-1
wp-includes/widgets.php
wp-includes/widgets.php
+50
-47
wp-includes/wp-db.php
wp-includes/wp-db.php
+3
-10
No files found.
license.txt
View file @
79068fa2
WordPress - Web publishing software
Copyright 2011-201
7
by the contributors
Copyright 2011-201
8
by the contributors
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
wp-admin/about.php
View file @
79068fa2
...
...
@@ -32,6 +32,24 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
<div
class=
"changelog point-releases"
>
<h3>
<?php
_e
(
'Maintenance and Security Releases'
);
?>
</h3>
<p>
<?php
printf
(
/* translators: 1: WordPress version number, 2: plural number of bugs. */
_n
(
'<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bug.'
,
'<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bugs.'
,
22
),
'4.9.2'
,
number_format_i18n
(
22
)
);
?>
<?php
/* translators: %s: Codex URL */
printf
(
__
(
'For more information, see <a href="%s">the release notes</a>.'
),
'https://codex.wordpress.org/Version_4.9.2'
);
?>
</p>
<p>
<?php
printf
(
...
...
wp-admin/css/common-rtl.css
View file @
79068fa2
...
...
@@ -1188,11 +1188,19 @@ th.action-links {
.filter-drawer
.filter-group-feature
input
,
.filter-drawer
.filter-group-feature
label
{
display
:
inline-block
;
margin
:
7px
0
7px
4px
;
line-height
:
16px
;
}
.filter-drawer
.filter-group-feature
input
{
position
:
absolute
;
margin
:
0
;
}
.filter-group
.filter-group-feature
label
{
display
:
block
;
margin
:
14px
23px
14px
0px
;
}
.filter-drawer
.buttons
{
clear
:
both
;
margin-bottom
:
20px
;
...
...
@@ -3889,6 +3897,10 @@ img {
line-height
:
25px
;
}
.filter-drawer
.filter-group-feature
label
{
margin-right
:
32px
;
}
.wp-filter
.button.drawer-toggle
{
font-size
:
13px
;
line-height
:
26px
;
...
...
wp-admin/css/common-rtl.min.css
View file @
79068fa2
This diff is collapsed.
Click to expand it.
wp-admin/css/common.css
View file @
79068fa2
...
...
@@ -1188,11 +1188,19 @@ th.action-links {
.filter-drawer
.filter-group-feature
input
,
.filter-drawer
.filter-group-feature
label
{
display
:
inline-block
;
margin
:
7px
4px
7px
0
;
line-height
:
16px
;
}
.filter-drawer
.filter-group-feature
input
{
position
:
absolute
;
margin
:
0
;
}
.filter-group
.filter-group-feature
label
{
display
:
block
;
margin
:
14px
0px
14px
23px
;
}
.filter-drawer
.buttons
{
clear
:
both
;
margin-bottom
:
20px
;
...
...
@@ -3889,6 +3897,10 @@ img {
line-height
:
25px
;
}
.filter-drawer
.filter-group-feature
label
{
margin-left
:
32px
;
}
.wp-filter
.button.drawer-toggle
{
font-size
:
13px
;
line-height
:
26px
;
...
...
wp-admin/css/common.min.css
View file @
79068fa2
This diff is collapsed.
Click to expand it.
wp-admin/css/customize-nav-menus-rtl.css
View file @
79068fa2
...
...
@@ -216,6 +216,10 @@
padding-top
:
12px
;
}
.menu-location-settings
.customize-control-checkbox
.theme-location-set
{
line-height
:
1
;
}
.customize-control-nav_menu_auto_add
label
{
vertical-align
:
top
;
}
...
...
wp-admin/css/customize-nav-menus-rtl.min.css
View file @
79068fa2
This diff is collapsed.
Click to expand it.
wp-admin/css/customize-nav-menus.css
View file @
79068fa2
...
...
@@ -216,6 +216,10 @@
padding-top
:
12px
;
}
.menu-location-settings
.customize-control-checkbox
.theme-location-set
{
line-height
:
1
;
}
.customize-control-nav_menu_auto_add
label
{
vertical-align
:
top
;
}
...
...
wp-admin/css/customize-nav-menus.min.css
View file @
79068fa2
This diff is collapsed.
Click to expand it.
wp-admin/includes/image.php
View file @
79068fa2
...
...
@@ -343,7 +343,7 @@ function wp_read_image_metadata( $file ) {
if
(
!
file_exists
(
$file
)
)
return
false
;
list
(
,
,
$sourceImageType
)
=
getimagesize
(
$file
);
list
(
,
,
$sourceImageType
)
=
@
getimagesize
(
$file
);
/*
* EXIF contains a bunch of data we'll probably never need formatted in ways
...
...
@@ -372,10 +372,10 @@ function wp_read_image_metadata( $file ) {
* as caption, description etc.
*/
if
(
is_callable
(
'iptcparse'
)
)
{
getimagesize
(
$file
,
$info
);
@
getimagesize
(
$file
,
$info
);
if
(
!
empty
(
$info
[
'APP13'
]
)
)
{
$iptc
=
iptcparse
(
$info
[
'APP13'
]
);
$iptc
=
@
iptcparse
(
$info
[
'APP13'
]
);
// Headline, "A brief synopsis of the caption."
if
(
!
empty
(
$iptc
[
'2#105'
][
0
]
)
)
{
...
...
wp-admin/includes/media.php
View file @
79068fa2
...
...
@@ -355,7 +355,7 @@ function media_handle_upload($file_id, $post_id, $post_data = array(), $override
}
// Use image exif/iptc data for title and caption defaults if possible.
}
elseif
(
0
===
strpos
(
$type
,
'image/'
)
&&
$image_meta
=
@
wp_read_image_metadata
(
$file
)
)
{
}
elseif
(
0
===
strpos
(
$type
,
'image/'
)
&&
$image_meta
=
wp_read_image_metadata
(
$file
)
)
{
if
(
trim
(
$image_meta
[
'title'
]
)
&&
!
is_numeric
(
sanitize_title
(
$image_meta
[
'title'
]
)
)
)
{
$title
=
$image_meta
[
'title'
];
}
...
...
@@ -419,7 +419,7 @@ function media_handle_sideload( $file_array, $post_id, $desc = null, $post_data
$content
=
''
;
// Use image exif/iptc data for title and caption defaults if possible.
if
(
$image_meta
=
@
wp_read_image_metadata
(
$file
)
)
{
if
(
$image_meta
=
wp_read_image_metadata
(
$file
)
)
{
if
(
trim
(
$image_meta
[
'title'
]
)
&&
!
is_numeric
(
sanitize_title
(
$image_meta
[
'title'
]
)
)
)
$title
=
$image_meta
[
'title'
];
if
(
trim
(
$image_meta
[
'caption'
]
)
)
...
...
wp-admin/includes/update-core.php
View file @
79068fa2
...
...
@@ -743,6 +743,42 @@ $_old_files = array(
'wp-includes/js/plupload/plupload.silverlight.xap'
,
'wp-includes/js/swfupload/plugins'
,
'wp-includes/js/swfupload/swfupload.swf'
,
// 4.9.2
'wp-includes/js/mediaelement/lang'
,
'wp-includes/js/mediaelement/lang/ca.js'
,
'wp-includes/js/mediaelement/lang/cs.js'
,
'wp-includes/js/mediaelement/lang/de.js'
,
'wp-includes/js/mediaelement/lang/es.js'
,
'wp-includes/js/mediaelement/lang/fa.js'
,
'wp-includes/js/mediaelement/lang/fr.js'
,
'wp-includes/js/mediaelement/lang/hr.js'
,
'wp-includes/js/mediaelement/lang/hu.js'
,
'wp-includes/js/mediaelement/lang/it.js'
,
'wp-includes/js/mediaelement/lang/ja.js'
,
'wp-includes/js/mediaelement/lang/ko.js'
,
'wp-includes/js/mediaelement/lang/nl.js'
,
'wp-includes/js/mediaelement/lang/pl.js'
,
'wp-includes/js/mediaelement/lang/pt.js'
,
'wp-includes/js/mediaelement/lang/ro.js'
,
'wp-includes/js/mediaelement/lang/ru.js'
,
'wp-includes/js/mediaelement/lang/sk.js'
,
'wp-includes/js/mediaelement/lang/sv.js'
,
'wp-includes/js/mediaelement/lang/uk.js'
,
'wp-includes/js/mediaelement/lang/zh-cn.js'
,
'wp-includes/js/mediaelement/lang/zh.js'
,
'wp-includes/js/mediaelement/mediaelement-flash-audio-ogg.swf'
,
'wp-includes/js/mediaelement/mediaelement-flash-audio.swf'
,
'wp-includes/js/mediaelement/mediaelement-flash-video-hls.swf'
,
'wp-includes/js/mediaelement/mediaelement-flash-video-mdash.swf'
,
'wp-includes/js/mediaelement/mediaelement-flash-video.swf'
,
'wp-includes/js/mediaelement/renderers/dailymotion.js'
,
'wp-includes/js/mediaelement/renderers/dailymotion.min.js'
,
'wp-includes/js/mediaelement/renderers/facebook.js'
,
'wp-includes/js/mediaelement/renderers/facebook.min.js'
,
'wp-includes/js/mediaelement/renderers/soundcloud.js'
,
'wp-includes/js/mediaelement/renderers/soundcloud.min.js'
,
'wp-includes/js/mediaelement/renderers/twitch.js'
,
'wp-includes/js/mediaelement/renderers/twitch.min.js'
,
);
/**
...
...
@@ -1118,7 +1154,11 @@ function update_core($from, $to) {
$old_file
=
$to
.
$old_file
;
if
(
!
$wp_filesystem
->
exists
(
$old_file
)
)
continue
;
$wp_filesystem
->
delete
(
$old_file
,
true
);
// If the file isn't deleted, try writing an empty string to the file instead.
if
(
!
$wp_filesystem
->
delete
(
$old_file
,
true
)
&&
$wp_filesystem
->
is_file
(
$old_file
)
)
{
$wp_filesystem
->
put_contents
(
$old_file
,
''
);
}
}
// Remove any Genericons example.html's from the filesystem
...
...
wp-admin/js/editor.js
View file @
79068fa2
...
...
@@ -695,10 +695,10 @@ window.wp = window.wp || {};
*/
function
findBookmarkedPosition
(
editor
)
{
// Get the TinyMCE `window` reference, since we need to access the raw selection.
var
TinyMCEW
I
ndow
=
editor
.
getWin
(),
selection
=
TinyMCEW
I
ndow
.
getSelection
();
var
TinyMCEW
i
ndow
=
editor
.
getWin
(),
selection
=
TinyMCEW
i
ndow
.
getSelection
();
if
(
selection
.
rangeCount
<=
0
)
{
if
(
!
selection
||
selection
.
rangeCount
<
1
)
{
// no selection, no need to continue.
return
;
}
...
...
wp-admin/js/editor.min.js
View file @
79068fa2
This diff is collapsed.
Click to expand it.
wp-admin/js/plugin-install.js
View file @
79068fa2
...
...
@@ -146,8 +146,13 @@ jQuery( document ).ready( function( $ ) {
}
}
// Open the Plugin details modal.
$
(
'
.thickbox.open-plugin-details-modal
'
).
on
(
'
click
'
,
function
(
e
)
{
/*
* Open the Plugin details modal. The event is delegated to get also the links
* in the plugins search tab, after the AJAX search rebuilds the HTML. It's
* delegated on the closest ancestor and not on the body to avoid conflicts
* with other handlers, see Trac ticket #43082.
*/
$
(
'
.wrap
'
).
on
(
'
click
'
,
'
.thickbox.open-plugin-details-modal
'
,
function
(
e
)
{
// The `data-title` attribute is used only in the Plugin screens.
var
title
=
$
(
this
).
data
(
'
title
'
)
?
plugininstallL10n
.
plugin_information
+
'
'
+
$
(
this
).
data
(
'
title
'
)
:
plugininstallL10n
.
plugin_modal_label
;
...
...
wp-admin/js/plugin-install.min.js
View file @
79068fa2
var
tb_position
;
jQuery
(
document
).
ready
(
function
(
a
){
function
b
(){
var
b
=
e
.
find
(
"
#TB_iframeContent
"
);
f
=
b
.
contents
().
find
(
"
body
"
),
c
(),
h
.
focus
(),
a
(
"
#plugin-information-tabs a
"
,
f
).
on
(
"
click
"
,
function
(){
c
()}),
f
.
on
(
"
keydown
"
,
function
(
a
){
27
===
a
.
which
&&
tb_remove
()})}
function
c
(){
var
b
;
g
=
a
(
"
:tabbable
"
,
f
),
h
=
e
.
find
(
"
#TB_closeWindowButton
"
),
i
=
g
.
last
(),
b
=
h
.
add
(
i
),
b
.
off
(
"
keydown.wp-plugin-details
"
),
b
.
on
(
"
keydown.wp-plugin-details
"
,
function
(
a
){
d
(
a
)})}
function
d
(
a
){
9
===
a
.
which
&&
(
i
[
0
]
!==
a
.
target
||
a
.
shiftKey
?
h
[
0
]
===
a
.
target
&&
a
.
shiftKey
&&
(
a
.
preventDefault
(),
i
.
focus
()):(
a
.
preventDefault
(),
h
.
focus
()))}
var
e
,
f
,
g
,
h
,
i
,
j
=
a
(),
k
=
a
(
"
.upload-view-toggle
"
),
l
=
a
(
"
.wrap
"
),
m
=
a
(
document
.
body
);
tb_position
=
function
(){
var
b
=
a
(
window
).
width
(),
c
=
a
(
window
).
height
()
-
(
792
<
b
?
60
:
20
),
d
=
792
<
b
?
772
:
b
-
20
;
return
e
=
a
(
"
#TB_window
"
),
e
.
length
&&
(
e
.
width
(
d
).
height
(
c
),
a
(
"
#TB_iframeContent
"
).
width
(
d
).
height
(
c
),
e
.
css
({
"
margin-left
"
:
"
-
"
+
parseInt
(
d
/
2
,
10
)
+
"
px
"
}),
"
undefined
"
!=
typeof
document
.
body
.
style
.
maxWidth
&&
e
.
css
({
top
:
"
30px
"
,
"
margin-top
"
:
"
0
"
})),
a
(
"
a.thickbox
"
).
each
(
function
(){
var
b
=
a
(
this
).
attr
(
"
href
"
);
b
&&
(
b
=
b
.
replace
(
/&width=
[
0-9
]
+/g
,
""
),
b
=
b
.
replace
(
/&height=
[
0-9
]
+/g
,
""
),
a
(
this
).
attr
(
"
href
"
,
b
+
"
&width=
"
+
d
+
"
&height=
"
+
c
))})},
a
(
window
).
resize
(
function
(){
tb_position
()}),
m
.
on
(
"
thickbox:iframe:loaded
"
,
e
,
function
(){
e
.
hasClass
(
"
plugin-details-modal
"
)
&&
b
()}).
on
(
"
thickbox:removed
"
,
function
(){
j
.
focus
()}),
a
(
"
.thickbox.open-plugin-details-modal
"
).
on
(
"
click
"
,
function
(
b
){
var
c
=
a
(
this
).
data
(
"
title
"
)?
plugininstallL10n
.
plugin_information
+
"
"
+
a
(
this
).
data
(
"
title
"
):
plugininstallL10n
.
plugin_modal_label
;
b
.
preventDefault
(),
b
.
stopPropagation
(),
j
=
a
(
this
),
tb_click
.
call
(
this
),
e
.
attr
({
role
:
"
dialog
"
,
"
aria-label
"
:
plugininstallL10n
.
plugin_modal_label
}).
addClass
(
"
plugin-details-modal
"
),
e
.
find
(
"
#TB_iframeContent
"
).
attr
(
"
title
"
,
c
)}),
a
(
"
#plugin-information-tabs a
"
).
click
(
function
(
b
){
var
c
=
a
(
this
).
attr
(
"
name
"
);
b
.
preventDefault
(),
a
(
"
#plugin-information-tabs a.current
"
).
removeClass
(
"
current
"
),
a
(
this
).
addClass
(
"
current
"
),
"
description
"
!==
c
&&
a
(
window
).
width
()
<
772
?
a
(
"
#plugin-information-content
"
).
find
(
"
.fyi
"
).
hide
():
a
(
"
#plugin-information-content
"
).
find
(
"
.fyi
"
).
show
(),
a
(
"
#section-holder div.section
"
).
hide
(),
a
(
"
#section-
"
+
c
).
show
()}),
l
.
hasClass
(
"
plugin-install-tab-upload
"
)
||
k
.
attr
({
role
:
"
button
"
,
"
aria-expanded
"
:
"
false
"
}).
on
(
"
click
"
,
function
(
a
){
a
.
preventDefault
(),
m
.
toggleClass
(
"
show-upload-view
"
),
k
.
attr
(
"
aria-expanded
"
,
m
.
hasClass
(
"
show-upload-view
"
))})});
\ No newline at end of file
var
tb_position
;
jQuery
(
document
).
ready
(
function
(
a
){
function
b
(){
var
b
=
e
.
find
(
"
#TB_iframeContent
"
);
f
=
b
.
contents
().
find
(
"
body
"
),
c
(),
h
.
focus
(),
a
(
"
#plugin-information-tabs a
"
,
f
).
on
(
"
click
"
,
function
(){
c
()}),
f
.
on
(
"
keydown
"
,
function
(
a
){
27
===
a
.
which
&&
tb_remove
()})}
function
c
(){
var
b
;
g
=
a
(
"
:tabbable
"
,
f
),
h
=
e
.
find
(
"
#TB_closeWindowButton
"
),
i
=
g
.
last
(),
b
=
h
.
add
(
i
),
b
.
off
(
"
keydown.wp-plugin-details
"
),
b
.
on
(
"
keydown.wp-plugin-details
"
,
function
(
a
){
d
(
a
)})}
function
d
(
a
){
9
===
a
.
which
&&
(
i
[
0
]
!==
a
.
target
||
a
.
shiftKey
?
h
[
0
]
===
a
.
target
&&
a
.
shiftKey
&&
(
a
.
preventDefault
(),
i
.
focus
()):(
a
.
preventDefault
(),
h
.
focus
()))}
var
e
,
f
,
g
,
h
,
i
,
j
=
a
(),
k
=
a
(
"
.upload-view-toggle
"
),
l
=
a
(
"
.wrap
"
),
m
=
a
(
document
.
body
);
tb_position
=
function
(){
var
b
=
a
(
window
).
width
(),
c
=
a
(
window
).
height
()
-
(
792
<
b
?
60
:
20
),
d
=
792
<
b
?
772
:
b
-
20
;
return
e
=
a
(
"
#TB_window
"
),
e
.
length
&&
(
e
.
width
(
d
).
height
(
c
),
a
(
"
#TB_iframeContent
"
).
width
(
d
).
height
(
c
),
e
.
css
({
"
margin-left
"
:
"
-
"
+
parseInt
(
d
/
2
,
10
)
+
"
px
"
}),
"
undefined
"
!=
typeof
document
.
body
.
style
.
maxWidth
&&
e
.
css
({
top
:
"
30px
"
,
"
margin-top
"
:
"
0
"
})),
a
(
"
a.thickbox
"
).
each
(
function
(){
var
b
=
a
(
this
).
attr
(
"
href
"
);
b
&&
(
b
=
b
.
replace
(
/&width=
[
0-9
]
+/g
,
""
),
b
=
b
.
replace
(
/&height=
[
0-9
]
+/g
,
""
),
a
(
this
).
attr
(
"
href
"
,
b
+
"
&width=
"
+
d
+
"
&height=
"
+
c
))})},
a
(
window
).
resize
(
function
(){
tb_position
()}),
m
.
on
(
"
thickbox:iframe:loaded
"
,
e
,
function
(){
e
.
hasClass
(
"
plugin-details-modal
"
)
&&
b
()}).
on
(
"
thickbox:removed
"
,
function
(){
j
.
focus
()}),
a
(
"
.wrap
"
).
on
(
"
click
"
,
"
.thickbox.open-plugin-details-modal
"
,
function
(
b
){
var
c
=
a
(
this
).
data
(
"
title
"
)?
plugininstallL10n
.
plugin_information
+
"
"
+
a
(
this
).
data
(
"
title
"
):
plugininstallL10n
.
plugin_modal_label
;
b
.
preventDefault
(),
b
.
stopPropagation
(),
j
=
a
(
this
),
tb_click
.
call
(
this
),
e
.
attr
({
role
:
"
dialog
"
,
"
aria-label
"
:
plugininstallL10n
.
plugin_modal_label
}).
addClass
(
"
plugin-details-modal
"
),
e
.
find
(
"
#TB_iframeContent
"
).
attr
(
"
title
"
,
c
)}),
a
(
"
#plugin-information-tabs a
"
).
click
(
function
(
b
){
var
c
=
a
(
this
).
attr
(
"
name
"
);
b
.
preventDefault
(),
a
(
"
#plugin-information-tabs a.current
"
).
removeClass
(
"
current
"
),
a
(
this
).
addClass
(
"
current
"
),
"
description
"
!==
c
&&
a
(
window
).
width
()
<
772
?
a
(
"
#plugin-information-content
"
).
find
(
"
.fyi
"
).
hide
():
a
(
"
#plugin-information-content
"
).
find
(
"
.fyi
"
).
show
(),
a
(
"
#section-holder div.section
"
).
hide
(),
a
(
"
#section-
"
+
c
).
show
()}),
l
.
hasClass
(
"
plugin-install-tab-upload
"
)
||
k
.
attr
({
role
:
"
button
"
,
"
aria-expanded
"
:
"
false
"
}).
on
(
"
click
"
,
function
(
a
){
a
.
preventDefault
(),
m
.
toggleClass
(
"
show-upload-view
"
),
k
.
attr
(
"
aria-expanded
"
,
m
.
hasClass
(
"
show-upload-view
"
))})});
\ No newline at end of file
wp-admin/js/widgets/custom-html-widgets.js
View file @
79068fa2
...
...
@@ -204,7 +204,7 @@ wp.customHtmlWidgets = ( function( $ ) {
* @returns {void}
*/
onUpdateErrorNotice
:
function
onUpdateErrorNotice
(
errorAnnotations
)
{
control
.
saveButton
.
toggleClass
(
'
validation-blocked disabled
'
,
errorAnnotations
.
length
);
control
.
saveButton
.
toggleClass
(
'
validation-blocked disabled
'
,
errorAnnotations
.
length
>
0
);
control
.
updateErrorNotice
(
errorAnnotations
);
}
});
...
...
wp-admin/js/widgets/custom-html-widgets.min.js
View file @
79068fa2
wp
.
customHtmlWidgets
=
function
(
a
){
"
use strict
"
;
var
b
=
{
idBases
:[
"
custom_html
"
],
codeEditorSettings
:{},
l10n
:{
errorNotice
:{
singular
:
""
,
plural
:
""
}}};
return
b
.
CustomHtmlWidgetControl
=
Backbone
.
View
.
extend
({
events
:{},
initialize
:
function
(
a
){
var
c
=
this
;
if
(
!
a
.
el
)
throw
new
Error
(
"
Missing options.el
"
);
if
(
!
a
.
syncContainer
)
throw
new
Error
(
"
Missing options.syncContainer
"
);
Backbone
.
View
.
prototype
.
initialize
.
call
(
c
,
a
),
c
.
syncContainer
=
a
.
syncContainer
,
c
.
widgetIdBase
=
c
.
syncContainer
.
parent
().
find
(
"
.id_base
"
).
val
(),
c
.
widgetNumber
=
c
.
syncContainer
.
parent
().
find
(
"
.widget_number
"
).
val
(),
c
.
customizeSettingId
=
"
widget_
"
+
c
.
widgetIdBase
+
"
[
"
+
String
(
c
.
widgetNumber
)
+
"
]
"
,
c
.
$el
.
addClass
(
"
custom-html-widget-fields
"
),
c
.
$el
.
html
(
wp
.
template
(
"
widget-custom-html-control-fields
"
)({
codeEditorDisabled
:
b
.
codeEditorSettings
.
disabled
})),
c
.
errorNoticeContainer
=
c
.
$el
.
find
(
"
.code-editor-error-container
"
),
c
.
currentErrorAnnotations
=
[],
c
.
saveButton
=
c
.
syncContainer
.
add
(
c
.
syncContainer
.
parent
().
find
(
"
.widget-control-actions
"
)).
find
(
"
.widget-control-save, #savewidget
"
),
c
.
saveButton
.
addClass
(
"
custom-html-widget-save-button
"
),
c
.
fields
=
{
title
:
c
.
$el
.
find
(
"
.title
"
),
content
:
c
.
$el
.
find
(
"
.content
"
)},
_
.
each
(
c
.
fields
,
function
(
a
,
b
){
a
.
on
(
"
input change
"
,
function
(){
var
d
=
c
.
syncContainer
.
find
(
"
.sync-input.
"
+
b
);
d
.
val
()
!==
a
.
val
()
&&
(
d
.
val
(
a
.
val
()),
d
.
trigger
(
"
change
"
))}),
a
.
val
(
c
.
syncContainer
.
find
(
"
.sync-input.
"
+
b
).
val
())})},
updateFields
:
function
(){
var
a
,
b
=
this
;
b
.
fields
.
title
.
is
(
document
.
activeElement
)
||
(
a
=
b
.
syncContainer
.
find
(
"
.sync-input.title
"
),
b
.
fields
.
title
.
val
(
a
.
val
())),
b
.
contentUpdateBypassed
=
b
.
fields
.
content
.
is
(
document
.
activeElement
)
||
b
.
editor
&&
b
.
editor
.
codemirror
.
state
.
focused
||
0
!==
b
.
currentErrorAnnotations
,
b
.
contentUpdateBypassed
||
(
a
=
b
.
syncContainer
.
find
(
"
.sync-input.content
"
),
b
.
fields
.
content
.
val
(
a
.
val
()).
trigger
(
"
change
"
))},
updateErrorNotice
:
function
(
c
){
var
d
,
e
,
f
=
this
,
g
=
""
;
1
===
c
.
length
?
g
=
b
.
l10n
.
errorNotice
.
singular
.
replace
(
"
%d
"
,
"
1
"
):
c
.
length
>
1
&&
(
g
=
b
.
l10n
.
errorNotice
.
plural
.
replace
(
"
%d
"
,
String
(
c
.
length
))),
f
.
fields
.
content
[
0
].
setCustomValidity
&&
f
.
fields
.
content
[
0
].
setCustomValidity
(
g
),
wp
.
customize
&&
wp
.
customize
.
has
(
f
.
customizeSettingId
)?(
e
=
wp
.
customize
(
f
.
customizeSettingId
),
e
.
notifications
.
remove
(
"
htmlhint_error
"
),
0
!==
c
.
length
&&
e
.
notifications
.
add
(
"
htmlhint_error
"
,
new
wp
.
customize
.
Notification
(
"
htmlhint_error
"
,{
message
:
g
,
type
:
"
error
"
}))):
0
!==
c
.
length
?(
d
=
a
(
'
<div class="inline notice notice-error notice-alt"></div>
'
),
d
.
append
(
a
(
"
<p></p>
"
,{
text
:
g
})),
f
.
errorNoticeContainer
.
empty
(),
f
.
errorNoticeContainer
.
append
(
d
),
f
.
errorNoticeContainer
.
slideDown
(
"
fast
"
),
wp
.
a11y
.
speak
(
g
)):
f
.
errorNoticeContainer
.
slideUp
(
"
fast
"
)},
initializeEditor
:
function
(){
var
c
,
d
=
this
;
b
.
codeEditorSettings
.
disabled
||
(
c
=
_
.
extend
({},
b
.
codeEditorSettings
,{
onTabPrevious
:
function
(){
d
.
fields
.
title
.
focus
()},
onTabNext
:
function
(){
var
a
=
d
.
syncContainer
.
add
(
d
.
syncContainer
.
parent
().
find
(
"
.widget-position, .widget-control-actions
"
)).
find
(
"
:tabbable
"
);
a
.
first
().
focus
()},
onChangeLintingErrors
:
function
(
a
){
d
.
currentErrorAnnotations
=
a
},
onUpdateErrorNotice
:
function
(
a
){
d
.
saveButton
.
toggleClass
(
"
validation-blocked disabled
"
,
a
.
length
),
d
.
updateErrorNotice
(
a
)}}),
d
.
editor
=
wp
.
codeEditor
.
initialize
(
d
.
fields
.
content
,
c
),
a
(
d
.
editor
.
codemirror
.
display
.
lineDiv
).
attr
({
role
:
"
textbox
"
,
"
aria-multiline
"
:
"
true
"
,
"
aria-labelledby
"
:
d
.
fields
.
content
[
0
].
id
+
"
-label
"
,
"
aria-describedby
"
:
"
editor-keyboard-trap-help-1 editor-keyboard-trap-help-2 editor-keyboard-trap-help-3 editor-keyboard-trap-help-4
"
}),
a
(
"
#
"
+
d
.
fields
.
content
[
0
].
id
+
"
-label
"
).
on
(
"
click
"
,
function
(){
d
.
editor
.
codemirror
.
focus
()}),
d
.
fields
.
content
.
on
(
"
change
"
,
function
(){
this
.
value
!==
d
.
editor
.
codemirror
.
getValue
()
&&
d
.
editor
.
codemirror
.
setValue
(
this
.
value
)}),
d
.
editor
.
codemirror
.
on
(
"
change
"
,
function
(){
var
a
=
d
.
editor
.
codemirror
.
getValue
();
a
!==
d
.
fields
.
content
.
val
()
&&
d
.
fields
.
content
.
val
(
a
).
trigger
(
"
change
"
)}),
d
.
editor
.
codemirror
.
on
(
"
blur
"
,
function
(){
d
.
contentUpdateBypassed
&&
d
.
syncContainer
.
find
(
"
.sync-input.content
"
).
trigger
(
"
change
"
)}),
wp
.
customize
&&
d
.
editor
.
codemirror
.
on
(
"
keydown
"
,
function
(
a
,
b
){
var
c
=
27
;
c
===
b
.
keyCode
&&
b
.
stopPropagation
()}))}}),
b
.
widgetControls
=
{},
b
.
handleWidgetAdded
=
function
(
c
,
d
){
var
e
,
f
,
g
,
h
,
i
,
j
,
k
,
l
=
50
;
e
=
d
.
find
(
"
> .widget-inside > .form, > .widget-inside > form
"
),
f
=
e
.
find
(
"
> .id_base
"
).
val
(),
-
1
!==
b
.
idBases
.
indexOf
(
f
)
&&
(
h
=
e
.
find
(
"
.widget-id
"
).
val
(),
b
.
widgetControls
[
h
]
||
(
j
=
a
(
"
<div></div>
"
),
k
=
d
.
find
(
"
.widget-content:first
"
),
k
.
before
(
j
),
g
=
new
b
.
CustomHtmlWidgetControl
({
el
:
j
,
syncContainer
:
k
}),
b
.
widgetControls
[
h
]
=
g
,(
i
=
function
(){(
wp
.
customize
?
d
.
parent
().
hasClass
(
"
expanded
"
):
d
.
hasClass
(
"
open
"
))?
g
.
initializeEditor
():
setTimeout
(
i
,
l
)})()))},
b
.
setupAccessibleMode
=
function
(){
var
c
,
d
,
e
,
f
,
g
;
c
=
a
(
"
.editwidget > form
"
),
0
!==
c
.
length
&&
(
d
=
c
.
find
(
"
> .widget-control-actions > .id_base
"
).
val
(),
-
1
!==
b
.
idBases
.
indexOf
(
d
)
&&
(
f
=
a
(
"
<div></div>
"
),
g
=
c
.
find
(
"
> .widget-inside
"
),
g
.
before
(
f
),
e
=
new
b
.
CustomHtmlWidgetControl
({
el
:
f
,
syncContainer
:
g
}),
e
.
initializeEditor
()))},
b
.
handleWidgetUpdated
=
function
(
a
,
c
){
var
d
,
e
,
f
,
g
;
d
=
c
.
find
(
"
> .widget-inside > .form, > .widget-inside > form
"
),
g
=
d
.
find
(
"
> .id_base
"
).
val
(),
-
1
!==
b
.
idBases
.
indexOf
(
g
)
&&
(
e
=
d
.
find
(
"
> .widget-id
"
).
val
(),
f
=
b
.
widgetControls
[
e
],
f
&&
f
.
updateFields
())},
b
.
init
=
function
(
c
){
var
d
=
a
(
document
);
_
.
extend
(
b
.
codeEditorSettings
,
c
),
d
.
on
(
"
widget-added
"
,
b
.
handleWidgetAdded
),
d
.
on
(
"
widget-synced widget-updated
"
,
b
.
handleWidgetUpdated
),
a
(
function
(){
var
c
;
"
widgets
"
===
window
.
pagenow
&&
(
c
=
a
(
"
.widgets-holder-wrap:not(#available-widgets)
"
).
find
(
"
div.widget
"
),
c
.
one
(
"
click.toggle-widget-expanded
"
,
function
(){
var
c
=
a
(
this
);
b
.
handleWidgetAdded
(
new
jQuery
.
Event
(
"
widget-added
"
),
c
)}),
a
(
window
).
on
(
"
load
"
,
function
(){
b
.
setupAccessibleMode
()}))})},
b
}(
jQuery
);
\ No newline at end of file
wp
.
customHtmlWidgets
=
function
(
a
){
"
use strict
"
;
var
b
=
{
idBases
:[
"
custom_html
"
],
codeEditorSettings
:{},
l10n
:{
errorNotice
:{
singular
:
""
,
plural
:
""
}}};
return
b
.
CustomHtmlWidgetControl
=
Backbone
.
View
.
extend
({
events
:{},
initialize
:
function
(
a
){
var
c
=
this
;
if
(
!
a
.
el
)
throw
new
Error
(
"
Missing options.el
"
);
if
(
!
a
.
syncContainer
)
throw
new
Error
(
"
Missing options.syncContainer
"
);
Backbone
.
View
.
prototype
.
initialize
.
call
(
c
,
a
),
c
.
syncContainer
=
a
.
syncContainer
,
c
.
widgetIdBase
=
c
.
syncContainer
.
parent
().
find
(
"
.id_base
"
).
val
(),
c
.
widgetNumber
=
c
.
syncContainer
.
parent
().
find
(
"
.widget_number
"
).
val
(),
c
.
customizeSettingId
=
"
widget_
"
+
c
.
widgetIdBase
+
"
[
"
+
String
(
c
.
widgetNumber
)
+
"
]
"
,
c
.
$el
.
addClass
(
"
custom-html-widget-fields
"
),
c
.
$el
.
html
(
wp
.
template
(
"
widget-custom-html-control-fields
"
)({
codeEditorDisabled
:
b
.
codeEditorSettings
.
disabled
})),
c
.
errorNoticeContainer
=
c
.
$el
.
find
(
"
.code-editor-error-container
"
),
c
.
currentErrorAnnotations
=
[],
c
.
saveButton
=
c
.
syncContainer
.
add
(
c
.
syncContainer
.
parent
().
find
(
"
.widget-control-actions
"
)).
find
(
"
.widget-control-save, #savewidget
"
),
c
.
saveButton
.
addClass
(
"
custom-html-widget-save-button
"
),
c
.
fields
=
{
title
:
c
.
$el
.
find
(
"
.title
"
),
content
:
c
.
$el
.
find
(
"
.content
"
)},
_
.
each
(
c
.
fields
,
function
(
a
,
b
){
a
.
on
(
"
input change
"
,
function
(){
var
d
=
c
.
syncContainer
.
find
(
"
.sync-input.
"
+
b
);
d
.
val
()
!==
a
.
val
()
&&
(
d
.
val
(
a
.
val
()),
d
.
trigger
(
"
change
"
))}),
a
.
val
(
c
.
syncContainer
.
find
(
"
.sync-input.
"
+
b
).
val
())})},
updateFields
:
function
(){
var
a
,
b
=
this
;
b
.
fields
.
title
.
is
(
document
.
activeElement
)
||
(
a
=
b
.
syncContainer
.
find
(
"
.sync-input.title
"
),
b
.
fields
.
title
.
val
(
a
.
val
())),
b
.
contentUpdateBypassed
=
b
.
fields
.
content
.
is
(
document
.
activeElement
)
||
b
.
editor
&&
b
.
editor
.
codemirror
.
state
.
focused
||
0
!==
b
.
currentErrorAnnotations
,
b
.
contentUpdateBypassed
||
(
a
=
b
.
syncContainer
.
find
(
"
.sync-input.content
"
),
b
.
fields
.
content
.
val
(
a
.
val
()).
trigger
(
"
change
"
))},
updateErrorNotice
:
function
(
c
){
var
d
,
e
,
f
=
this
,
g
=
""
;
1
===
c
.
length
?
g
=
b
.
l10n
.
errorNotice
.
singular
.
replace
(
"
%d
"
,
"
1
"
):
c
.
length
>
1
&&
(
g
=
b
.
l10n
.
errorNotice
.
plural
.
replace
(
"
%d
"
,
String
(
c
.
length
))),
f
.
fields
.
content
[
0
].
setCustomValidity
&&
f
.
fields
.
content
[
0
].
setCustomValidity
(
g
),
wp
.
customize
&&
wp
.
customize
.
has
(
f
.
customizeSettingId
)?(
e
=
wp
.
customize
(
f
.
customizeSettingId
),
e
.
notifications
.
remove
(
"
htmlhint_error
"
),
0
!==
c
.
length
&&
e
.
notifications
.
add
(
"
htmlhint_error
"
,
new
wp
.
customize
.
Notification
(
"
htmlhint_error
"
,{
message
:
g
,
type
:
"
error
"
}))):
0
!==
c
.
length
?(
d
=
a
(
'
<div class="inline notice notice-error notice-alt"></div>
'
),
d
.
append
(
a
(
"
<p></p>
"
,{
text
:
g
})),
f
.
errorNoticeContainer
.
empty
(),
f
.
errorNoticeContainer
.
append
(
d
),
f
.
errorNoticeContainer
.
slideDown
(
"
fast
"
),
wp
.
a11y
.
speak
(
g
)):
f
.
errorNoticeContainer
.
slideUp
(
"
fast
"
)},
initializeEditor
:
function
(){
var
c
,
d
=
this
;
b
.
codeEditorSettings
.
disabled
||
(
c
=
_
.
extend
({},
b
.
codeEditorSettings
,{
onTabPrevious
:
function
(){
d
.
fields
.
title
.
focus
()},
onTabNext
:
function
(){
var
a
=
d
.
syncContainer
.
add
(
d
.
syncContainer
.
parent
().
find
(
"
.widget-position, .widget-control-actions
"
)).
find
(
"
:tabbable
"
);
a
.
first
().
focus
()},
onChangeLintingErrors
:
function
(
a
){
d
.
currentErrorAnnotations
=
a
},
onUpdateErrorNotice
:
function
(
a
){
d
.
saveButton
.
toggleClass
(
"
validation-blocked disabled
"
,
a
.
length
>
0
),
d
.
updateErrorNotice
(
a
)}}),
d
.
editor
=
wp
.
codeEditor
.
initialize
(
d
.
fields
.
content
,
c
),
a
(
d
.
editor
.
codemirror
.
display
.
lineDiv
).
attr
({
role
:
"
textbox
"
,
"
aria-multiline
"
:
"
true
"
,
"
aria-labelledby
"
:
d
.
fields
.
content
[
0
].
id
+
"
-label
"
,
"
aria-describedby
"
:
"
editor-keyboard-trap-help-1 editor-keyboard-trap-help-2 editor-keyboard-trap-help-3 editor-keyboard-trap-help-4
"
}),
a
(
"
#
"
+
d
.
fields
.
content
[
0
].
id
+
"
-label
"
).
on
(
"
click
"
,
function
(){
d
.
editor
.
codemirror
.
focus
()}),
d
.
fields
.
content
.
on
(
"
change
"
,
function
(){
this
.
value
!==
d
.
editor
.
codemirror
.
getValue
()
&&
d
.
editor
.
codemirror
.
setValue
(
this
.
value
)}),
d
.
editor
.
codemirror
.
on
(
"
change
"
,
function
(){
var
a
=
d
.
editor
.
codemirror
.
getValue
();
a
!==
d
.
fields
.
content
.
val
()
&&
d
.
fields
.
content
.
val
(
a
).
trigger
(
"
change
"
)}),
d
.
editor
.
codemirror
.
on
(
"
blur
"
,
function
(){
d
.
contentUpdateBypassed
&&
d
.
syncContainer
.
find
(
"
.sync-input.content
"
).
trigger
(
"
change
"
)}),
wp
.
customize
&&
d
.
editor
.
codemirror
.
on
(
"
keydown
"
,
function
(
a
,
b
){
var
c
=
27
;
c
===
b
.
keyCode
&&
b
.
stopPropagation
()}))}}),
b
.
widgetControls
=
{},
b
.
handleWidgetAdded
=
function
(
c
,
d
){
var
e
,
f
,
g
,
h
,
i
,
j
,
k
,
l
=
50
;
e
=
d
.
find
(
"
> .widget-inside > .form, > .widget-inside > form
"
),
f
=
e
.
find
(
"
> .id_base
"
).
val
(),
-
1
!==
b
.
idBases
.
indexOf
(
f
)
&&
(
h
=
e
.
find
(
"
.widget-id
"
).
val
(),
b
.
widgetControls
[
h
]
||
(
j
=
a
(
"
<div></div>
"
),
k
=
d
.
find
(
"
.widget-content:first
"
),
k
.
before
(
j
),
g
=
new
b
.
CustomHtmlWidgetControl
({
el
:
j
,
syncContainer
:
k
}),
b
.
widgetControls
[
h
]
=
g
,(
i
=
function
(){(
wp
.
customize
?
d
.
parent
().
hasClass
(
"
expanded
"
):
d
.
hasClass
(
"
open
"
))?
g
.
initializeEditor
():
setTimeout
(
i
,
l
)})()))},
b
.
setupAccessibleMode
=
function
(){
var
c
,
d
,
e
,
f
,
g
;
c
=
a
(
"
.editwidget > form
"
),
0
!==
c
.
length
&&
(
d
=
c
.
find
(
"
> .widget-control-actions > .id_base
"
).
val
(),
-
1
!==
b
.
idBases
.
indexOf
(
d
)
&&
(
f
=
a
(
"
<div></div>
"
),
g
=
c
.
find
(
"
> .widget-inside
"
),
g
.
before
(
f
),
e
=
new
b
.
CustomHtmlWidgetControl
({
el
:
f
,
syncContainer
:
g
}),
e
.
initializeEditor
()))},
b
.
handleWidgetUpdated
=
function
(
a
,
c
){
var
d
,
e
,
f
,
g
;
d
=
c
.
find
(
"
> .widget-inside > .form, > .widget-inside > form
"
),
g
=
d
.
find
(
"
> .id_base
"
).
val
(),
-
1
!==
b
.
idBases
.
indexOf
(
g
)
&&
(
e
=
d
.
find
(
"
> .widget-id
"
).
val
(),
f
=
b
.
widgetControls
[
e
],
f
&&
f
.
updateFields
())},
b
.
init
=
function
(
c
){
var
d
=
a
(
document
);
_
.
extend
(
b
.
codeEditorSettings
,
c
),
d
.
on
(
"
widget-added
"
,
b
.
handleWidgetAdded
),
d
.
on
(
"
widget-synced widget-updated
"
,
b
.
handleWidgetUpdated
),
a
(
function
(){
var
c
;
"
widgets
"
===
window
.
pagenow
&&
(
c
=
a
(
"
.widgets-holder-wrap:not(#available-widgets)
"
).
find
(
"
div.widget
"
),
c
.
one
(
"
click.toggle-widget-expanded
"
,
function
(){
var
c
=
a
(
this
);
b
.
handleWidgetAdded
(
new
jQuery
.
Event
(
"
widget-added
"
),
c
)}),
a
(
window
).
on
(
"
load
"
,
function
(){
b
.
setupAccessibleMode
()}))})},
b
}(
jQuery
);
\ No newline at end of file
wp-admin/theme-install.php
View file @
79068fa2
...
...
@@ -207,7 +207,7 @@ include(ABSPATH . 'wp-admin/admin-header.php');
foreach
(
$features
as
$feature
=>
$feature_name
)
{
$feature
=
esc_attr
(
$feature
);
echo
'<input type="checkbox" id="filter-id-'
.
$feature
.
'" value="'
.
$feature
.
'" /> '
;
echo
'<label for="filter-id-'
.
$feature
.
'">'
.
$feature_name
.
'</label>
<br>
'
;
echo
'<label for="filter-id-'
.
$feature
.
'">'
.
$feature_name
.
'</label>'
;
}
echo
'</div>'
;
echo
'</fieldset>'
;
...
...
wp-content/themes/twentyseventeen/front-page.php
View file @
79068fa2
...
...
@@ -22,7 +22,7 @@ get_header(); ?>
while
(
have_posts
()
)
:
the_post
();
get_template_part
(
'template-parts/page/content'
,
'front-page'
);
endwhile
;
else
:
// I'm not sure it's possible to have no posts when this page is shown, but WTH.
else
:
get_template_part
(
'template-parts/post/content'
,
'none'
);
endif
;
?>
...
...
wp-includes/category-template.php
View file @
79068fa2
...
...
@@ -20,7 +20,7 @@ function get_category_link( $category ) {
if
(
!
is_object
(
$category
)
)
$category
=
(
int
)
$category
;
$category
=
get_term_link
(
$category
,
'category'
);
$category
=
get_term_link
(
$category
);
if
(
is_wp_error
(
$category
)
)
return
''
;
...
...
@@ -104,7 +104,7 @@ function get_the_category( $id = false ) {
*/
function
get_the_category_by_ID
(
$cat_ID
)
{
$cat_ID
=
(
int
)
$cat_ID
;
$category
=
get_term
(
$cat_ID
,
'category'
);
$category
=
get_term
(
$cat_ID
);
if
(
is_wp_error
(
$category
)
)
return
$category
;
...
...
@@ -1065,15 +1065,7 @@ function walk_category_dropdown_tree() {
* @return string Link on success, empty string if tag does not exist.
*/
function
get_tag_link
(
$tag
)
{
if
(
!
is_object
(
$tag
)
)
$tag
=
(
int
)
$tag
;
$tag
=
get_term_link
(
$tag
,
'post_tag'
);
if
(
is_wp_error
(
$tag
)
)
return
''
;
return
$tag
;
return
get_category_link
(
$tag
);
}
/**
...
...
@@ -1161,20 +1153,20 @@ function tag_description( $tag = 0 ) {
* Retrieve term description.
*
* @since 2.8.0
* @since 4.9.2 The `$taxonomy` parameter was deprecated.
*
* @param int
$term
Optional. Term ID. Will use global term ID by default.
* @param
string $taxonomy Optional taxonomy name. Defaults to 'post_tag'
.
* @param int
$term
Optional. Term ID. Will use global term ID by default.
* @param
null $deprecated Deprecated argument
.
* @return string Term description, available.
*/
function
term_description
(
$term
=
0
,
$
taxonomy
=
'post_tag'
)
{
function
term_description
(
$term
=
0
,
$
deprecated
=
null
)
{
if
(
!
$term
&&
(
is_tax
()
||
is_tag
()
||
is_category
()
)
)
{
$term
=
get_queried_object
();
if
(
$term
)
{
$taxonomy
=
$term
->
taxonomy
;
$term
=
$term
->
term_id
;
}
}
$description
=
get_term_field
(
'description'
,
$term
,
$taxonomy
);
$description
=
get_term_field
(
'description'
,
$term
);
return
is_wp_error
(
$description
)
?
''
:
$description
;
}
...
...
wp-includes/customize/class-wp-customize-themes-section.php
View file @
79068fa2
...
...
@@ -163,7 +163,7 @@ class WP_Customize_Themes_Section extends WP_Customize_Section {
<div
class=
"filter-group-feature"
>
<?php
foreach
(
$features
as
$feature
=>
$feature_name
)
:
?>
<input
type=
"checkbox"
id=
"filter-id-
<?php
echo
esc_attr
(
$feature
);
?>
"
value=
"
<?php
echo
esc_attr
(
$feature
);
?>
"
/>
<label
for=
"filter-id-
<?php
echo
esc_attr
(
$feature
);
?>
"
>
<?php
echo
esc_html
(
$feature_name
);
?>
</label>
<br>
<label
for=
"filter-id-
<?php
echo
esc_attr
(
$feature
);
?>
"
>
<?php
echo
esc_html
(
$feature_name
);
?>
</label>
<?php
endforeach
;
?>
</div>
</fieldset>
...
...
wp-includes/default-filters.php
View file @
79068fa2
...
...
@@ -114,7 +114,7 @@ foreach ( array( 'single_post_title', 'single_cat_title', 'single_tag_title', 's
}
// Format text area for display.
foreach
(
array
(
'term_description'
,
'get_the_
author_description'
,
'get_the_
post_type_description'
)
as
$filter
)
{
foreach
(
array
(
'term_description'
,
'get_the_post_type_description'
)
as
$filter
)
{
add_filter
(
$filter
,
'wptexturize'
);
add_filter
(
$filter
,
'convert_chars'
);
add_filter
(
$filter
,
'wpautop'
);
...
...
wp-includes/functions.php
View file @
79068fa2
...
...
@@ -2449,6 +2449,7 @@ function wp_get_mime_types() {
'ra|ram'
=>
'audio/x-realaudio'
,
'wav'
=>
'audio/wav'
,
'ogg|oga'
=>
'audio/ogg'
,
'flac'
=>
'audio/flac'
,
'mid|midi'
=>
'audio/midi'
,
'wma'
=>
'audio/x-ms-wma'
,
'wax'
=>
'audio/x-ms-wax'
,
...
...
@@ -2534,7 +2535,7 @@ function wp_get_ext_types() {
*/
return
apply_filters
(
'ext2type'
,
array
(
'image'
=>
array
(
'jpg'
,
'jpeg'
,
'jpe'
,
'gif'
,
'png'
,
'bmp'
,
'tif'
,
'tiff'
,
'ico'
),
'audio'
=>
array
(
'aac'
,
'ac3'
,
'aif'
,
'aiff'
,
'm3a'
,
'm4a'
,
'm4b'
,
'mka'
,
'mp1'
,
'mp2'
,
'mp3'
,
'ogg'
,
'oga'
,
'ram'
,
'wav'
,
'wma'
),
'audio'
=>
array
(
'aac'
,
'ac3'
,
'aif'
,
'aiff'
,
'
flac'
,
'
m3a'
,
'm4a'
,
'm4b'
,
'mka'
,
'mp1'
,
'mp2'
,
'mp3'
,
'ogg'
,
'oga'
,
'ram'
,
'wav'
,
'wma'
),
'video'
=>
array
(
'3g2'
,
'3gp'
,
'3gpp'
,
'asf'
,
'avi'
,
'divx'
,
'dv'
,
'flv'
,
'm4v'
,
'mkv'
,
'mov'
,
'mp4'
,
'mpeg'
,
'mpg'
,
'mpv'
,
'ogm'
,
'ogv'
,
'qt'
,
'rm'
,
'vob'
,
'wmv'
),
'document'
=>
array
(
'doc'
,
'docx'
,
'docm'
,
'dotm'
,
'odt'
,
'pages'
,
'pdf'
,
'xps'
,
'oxps'
,
'rtf'
,
'wp'
,
'wpd'
,
'psd'
,
'xcf'
),
'spreadsheet'
=>
array
(
'numbers'
,
'ods'
,
'xls'
,
'xlsx'
,
'xlsm'
,
'xlsb'
),
...
...
wp-includes/js/mce-view.js
View file @
79068fa2
...
...
@@ -863,7 +863,7 @@
// Obtain the target width for the embed.
if
(
self
.
editor
)
{
maxwidth
=
self
.
editor
.
iframeElement
.
clientWidth
-
20
;
// Minus the sum of horizontal margins and borders.
maxwidth
=
self
.
editor
.
getBody
().
clientWidth
;
}
wp
.
ajax
.
post
(
this
.
action
,
{
...
...
wp-includes/js/mce-view.min.js
View file @
79068fa2
!
function
(
a
,
b
,
c
,
d
){
"
use strict
"
;
var
e
=
{},
f
=
{};
b
.
mce
=
b
.
mce
||
{},
b
.
mce
.
views
=
{
register
:
function
(
a
,
c
){
e
[
a
]
=
b
.
mce
.
View
.
extend
(
_
.
extend
(
c
,{
type
:
a
}))},
unregister
:
function
(
a
){
delete
e
[
a
]},
get
:
function
(
a
){
return
e
[
a
]},
unbind
:
function
(){
_
.
each
(
f
,
function
(
a
){
a
.
unbind
()})},
setMarkers
:
function
(
a
,
b
){
var
c
,
d
,
f
=
[{
content
:
a
}],
g
=
this
;
return
_
.
each
(
e
,
function
(
a
,
e
){
d
=
f
.
slice
(),
f
=
[],
_
.
each
(
d
,
function
(
d
){
var
h
,
i
,
j
=
d
.
content
;
if
(
d
.
processed
)
return
void
f
.
push
(
d
);
for
(;
j
&&
(
h
=
a
.
prototype
.
match
(
j
));)
h
.
index
&&
f
.
push
({
content
:
j
.
substring
(
0
,
h
.
index
)}),
h
.
options
.
editor
=
b
,
c
=
g
.
createInstance
(
e
,
h
.
content
,
h
.
options
),
i
=
c
.
loader
?
"
.
"
:
c
.
text
,
f
.
push
({
content
:
c
.
ignore
?
i
:
'
<p data-wpview-marker="
'
+
c
.
encodedText
+
'
">
'
+
i
+
"
</p>
"
,
processed
:
!
0
}),
j
=
j
.
slice
(
h
.
index
+
h
.
content
.
length
);
j
&&
f
.
push
({
content
:
j
})})}),
a
=
_
.
pluck
(
f
,
"
content
"
).
join
(
""
),
a
.
replace
(
/<p>
\s
*<p data-wpview-marker=/g
,
"
<p data-wpview-marker=
"
).
replace
(
/<
\/
p>
\s
*<
\/
p>/g
,
"
</p>
"
)},
createInstance
:
function
(
a
,
b
,
c
,
d
){
var
e
,
g
,
h
=
this
.
get
(
a
);
return
b
.
indexOf
(
"
[
"
)
!==-
1
&&
b
.
indexOf
(
"
]
"
)
!==-
1
&&
(
b
=
b
.
replace
(
/
\[[^\]]
+
\]
/g
,
function
(
a
){
return
a
.
replace
(
/
[\r\n]
/g
,
""
)})),
!
d
&&
(
g
=
this
.
getInstance
(
b
))?
g
:(
e
=
encodeURIComponent
(
b
),
c
=
_
.
extend
(
c
||
{},{
text
:
b
,
encodedText
:
e
}),
f
[
e
]
=
new
h
(
c
))},
getInstance
:
function
(
a
){
return
"
string
"
==
typeof
a
?
f
[
encodeURIComponent
(
a
)]:
f
[
d
(
a
).
attr
(
"
data-wpview-text
"
)]},
getText
:
function
(
a
){
return
decodeURIComponent
(
d
(
a
).
attr
(
"
data-wpview-text
"
)
||
""
)},
render
:
function
(
a
){
_
.
each
(
f
,
function
(
b
){
b
.
render
(
null
,
a
)})},
update
:
function
(
a
,
b
,
c
,
d
){
var
e
=
this
.
getInstance
(
c
);
e
&&
e
.
update
(
a
,
b
,
c
,
d
)},
edit
:
function
(
a
,
b
){
var
c
=
this
.
getInstance
(
b
);
c
&&
c
.
edit
&&
c
.
edit
(
c
.
text
,
function
(
d
,
e
){
c
.
update
(
d
,
a
,
b
,
e
)})},
remove
:
function
(
a
,
b
){
var
c
=
this
.
getInstance
(
b
);
c
&&
c
.
remove
(
a
,
b
)}},
b
.
mce
.
View
=
function
(
a
){
_
.
extend
(
this
,
a
),
this
.
initialize
()},
b
.
mce
.
View
.
extend
=
Backbone
.
View
.
extend
,
_
.
extend
(
b
.
mce
.
View
.
prototype
,{
content
:
null
,
loader
:
!
0
,
initialize
:
function
(){},
getContent
:
function
(){
return
this
.
content
},
render
:
function
(
a
,
b
){
null
!=
a
&&
(
this
.
content
=
a
),
a
=
this
.
getContent
(),(
this
.
loader
||
a
)
&&
(
b
&&
this
.
unbind
(),
this
.
replaceMarkers
(),
a
?
this
.
setContent
(
a
,
function
(
a
,
b
){
d
(
b
).
data
(
"
rendered
"
,
!
0
),
this
.
bindNode
.
call
(
this
,
a
,
b
)},
!!
b
&&
null
):
this
.
setLoader
())},
bindNode
:
function
(){},
unbindNode
:
function
(){},
unbind
:
function
(){
this
.
getNodes
(
function
(
a
,
b
){
this
.
unbindNode
.
call
(
this
,
a
,
b
)},
!
0
)},
getEditors
:
function
(
a
){
_
.
each
(
tinymce
.
editors
,
function
(
b
){
b
.
plugins
.
wpview
&&
a
.
call
(
this
,
b
)},
this
)},
getNodes
:
function
(
a
,
b
){
this
.
getEditors
(
function
(
c
){
var
e
=
this
;
d
(
c
.
getBody
()).
find
(
'
[data-wpview-text="
'
+
e
.
encodedText
+
'
"]
'
).
filter
(
function
(){
var
a
;
return
null
==
b
||
(
a
=
d
(
this
).
data
(
"
rendered
"
)
===!
0
,
b
?
a
:
!
a
)}).
each
(
function
(){
a
.
call
(
e
,
c
,
this
,
this
)})})},
getMarkers
:
function
(
a
){
this
.
getEditors
(
function
(
b
){
var
c
=
this
;
d
(
b
.
getBody
()).
find
(
'
[data-wpview-marker="
'
+
this
.
encodedText
+
'
"]
'
).
each
(
function
(){
a
.
call
(
c
,
b
,
this
)})})},
replaceMarkers
:
function
(){
this
.
getMarkers
(
function
(
a
,
b
){
var
c
,
e
=
b
===
a
.
selection
.
getNode
();
return
this
.
loader
||
d
(
b
).
text
()
===
tinymce
.
DOM
.
decode
(
this
.
text
)?(
c
=
a
.
$
(
'
<div class="wpview wpview-wrap" data-wpview-text="
'
+
this
.
encodedText
+
'
" data-wpview-type="
'
+
this
.
type
+
'
" contenteditable="false"></div>
'
),
a
.
$
(
b
).
replaceWith
(
c
),
void
(
e
&&
setTimeout
(
function
(){
a
.
selection
.
select
(
c
[
0
]),
a
.
selection
.
collapse
()}))):
void
a
.
dom
.
setAttrib
(
b
,
"
data-wpview-marker
"
,
null
)})},
removeMarkers
:
function
(){
this
.
getMarkers
(
function
(
a
,
b
){
a
.
dom
.
setAttrib
(
b
,
"
data-wpview-marker
"
,
null
)})},
setContent
:
function
(
a
,
b
,
c
){
_
.
isObject
(
a
)
&&
(
a
.
sandbox
||
a
.
head
||
a
.
body
.
indexOf
(
"
<script
"
)
!==-
1
)?
this
.
setIframes
(
a
.
head
||
""
,
a
.
body
,
b
,
c
):
_
.
isString
(
a
)
&&
a
.
indexOf
(
"
<script
"
)
!==-
1
?
this
.
setIframes
(
""
,
a
,
b
,
c
):
this
.
getNodes
(
function
(
c
,
d
){
a
=
a
.
body
||
a
,
a
.
indexOf
(
"
<iframe
"
)
!==-
1
&&
(
a
+=
'
<span class="mce-shim"></span>
'
),
c
.
undoManager
.
transact
(
function
(){
d
.
innerHTML
=
""
,
d
.
appendChild
(
_
.
isString
(
a
)?
c
.
dom
.
createFragment
(
a
):
a
),
c
.
dom
.
add
(
d
,
"
span
"
,{
"
class
"
:
"
wpview-end
"
})}),
b
&&
b
.
call
(
this
,
c
,
d
)},
c
)},
setIframes
:
function
(
c
,
e
,
f
,
g
){
var
h
=
this
;
if
(
e
.
indexOf
(
"
[
"
)
!==-
1
&&
e
.
indexOf
(
"
]
"
)
!==-
1
){
var
i
=
new
RegExp
(
"
\\
[
\\
/?(?:
"
+
a
.
mceViewL10n
.
shortcodes
.
join
(
"
|
"
)
+
"
)[^
\\
]]*?
\\
]
"
,
"
g
"
);
e
=
e
.
replace
(
i
,
function
(
a
){
return
a
.
replace
(
/</g
,
"
<
"
).
replace
(
/>/g
,
"
>
"
)})}
this
.
getNodes
(
function
(
a
,
g
){
function
i
(){
var
b
;
r
||
l
.
contentWindow
&&
(
b
=
d
(
l
),
h
.
iframeHeight
=
d
(
n
.
body
).
height
(),
b
.
height
()
!==
h
.
iframeHeight
&&
(
b
.
height
(
h
.
iframeHeight
),
a
.
nodeChanged
()))}
function
j
(){
a
.
isHidden
()
||
(
d
(
g
).
data
(
"
rendered
"
,
null
),
setTimeout
(
function
(){
b
.
mce
.
views
.
render
()}))}
function
k
(){
p
=
new
o
(
_
.
debounce
(
i
,
100
)),
p
.
observe
(
n
.
body
,{
attributes
:
!
0
,
childList
:
!
0
,
subtree
:
!
0
})}
var
l
,
m
,
n
,
o
,
p
,
q
,
r
,
s
=
a
.
dom
,
t
=
""
,
u
=
a
.
getBody
().
className
||
""
,
v
=
a
.
getDoc
().
getElementsByTagName
(
"
head
"
)[
0
];
if
(
tinymce
.
each
(
s
.
$
(
'
link[rel="stylesheet"]
'
,
v
),
function
(
a
){
a
.
href
&&
a
.
href
.
indexOf
(
"
skins/lightgray/content.min.css
"
)
===-
1
&&
a
.
href
.
indexOf
(
"
skins/wordpress/wp-content.css
"
)
===-
1
&&
(
t
+=
s
.
getOuterHTML
(
a
))}),
h
.
iframeHeight
&&
s
.
add
(
g
,
"
span
"
,{
"
data-mce-bogus
"
:
1
,
style
:{
display
:
"
block
"
,
width
:
"
100%
"
,
height
:
h
.
iframeHeight
}},
"
\
u200b
"
),
a
.
undoManager
.
transact
(
function
(){
g
.
innerHTML
=
""
,
l
=
s
.
add
(
g
,
"
iframe
"
,{
src
:
tinymce
.
Env
.
ie
?
'
javascript:""
'
:
""
,
frameBorder
:
"
0
"
,
allowTransparency
:
"
true
"
,
scrolling
:
"
no
"
,
"
class
"
:
"
wpview-sandbox
"
,
style
:{
width
:
"
100%
"
,
display
:
"
block
"
},
height
:
h
.
iframeHeight
}),
s
.
add
(
g
,
"
span
"
,{
"
class
"
:
"
mce-shim
"
}),
s
.
add
(
g
,
"
span
"
,{
"
class
"
:
"
wpview-end
"
})}),
l
.
contentWindow
){
if
(
m
=
l
.
contentWindow
,
n
=
m
.
document
,
n
.
open
(),
n
.
write
(
'
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
'
+
c
+
t
+
'
<style>html {background: transparent;padding: 0;margin: 0;}body#wpview-iframe-sandbox {background: transparent;padding: 1px 0 !important;margin: -1px 0 0 !important;}body#wpview-iframe-sandbox:before,body#wpview-iframe-sandbox:after {display: none;content: "";}iframe {max-width: 100%;}</style></head><body id="wpview-iframe-sandbox" class="
'
+
u
+
'
">
'
+
e
+
"
</body></html>
"
),
n
.
close
(),
h
.
iframeHeight
&&
(
r
=!
0
,
setTimeout
(
function
(){
r
=!
1
,
i
()},
3
e3
)),
d
(
m
).
on
(
"
load
"
,
i
).
on
(
"
unload
"
,
j
),
o
=
m
.
MutationObserver
||
m
.
WebKitMutationObserver
||
m
.
MozMutationObserver
)
n
.
body
?
k
():
n
.
addEventListener
(
"
DOMContentLoaded
"
,
k
,
!
1
);
else
for
(
q
=
1
;
q
<
6
;
q
++
)
setTimeout
(
i
,
700
*
q
);
f
&&
f
.
call
(
h
,
a
,
g
)}},
g
)},
setLoader
:
function
(
a
){
this
.
setContent
(
'
<div class="loading-placeholder"><div class="dashicons dashicons-
'
+
(
a
||
"
admin-media
"
)
+
'
"></div><div class="wpview-loading"><ins></ins></div></div>
'
)},
setError
:
function
(
a
,
b
){
this
.
setContent
(
'
<div class="wpview-error"><div class="dashicons dashicons-
'
+
(
b
||
"
no
"
)
+
'
"></div><p>
'
+
a
+
"
</p></div>
"
)},
match
:
function
(
a
){
var
b
=
c
.
next
(
this
.
type
,
a
);
if
(
b
)
return
{
index
:
b
.
index
,
content
:
b
.
content
,
options
:{
shortcode
:
b
.
shortcode
}}},
update
:
function
(
a
,
c
,
f
,
g
){
_
.
find
(
e
,
function
(
e
,
h
){
var
i
=
e
.
prototype
.
match
(
a
);
if
(
i
)
return
d
(
f
).
data
(
"
rendered
"
,
!
1
),
c
.
dom
.
setAttrib
(
f
,
"
data-wpview-text
"
,
encodeURIComponent
(
a
)),
b
.
mce
.
views
.
createInstance
(
h
,
a
,
i
.
options
,
g
).
render
(),
c
.
selection
.
select
(
f
),
c
.
nodeChanged
(),
c
.
focus
(),
!
0
})},
remove
:
function
(
a
,
b
){
this
.
unbindNode
.
call
(
this
,
a
,
b
),
a
.
dom
.
remove
(
b
),
a
.
focus
()}})}(
window
,
window
.
wp
,
window
.
wp
.
shortcode
,
window
.
jQuery
),
function
(
a
,
b
,
c
,
d
){
function
e
(
b
){
var
c
=
{};
return
a
.
tinymce
?
!
b
||
b
.
indexOf
(
"
<
"
)
===-
1
&&
b
.
indexOf
(
"
>
"
)
===-
1
?
b
:(
j
=
j
||
new
a
.
tinymce
.
html
.
Schema
(
c
),
k
=
k
||
new
a
.
tinymce
.
html
.
DomParser
(
c
,
j
),
l
=
l
||
new
a
.
tinymce
.
html
.
Serializer
(
c
,
j
),
l
.
serialize
(
k
.
parse
(
b
,{
forced_root_block
:
!
1
}))):
b
.
replace
(
/<
[^
>
]
+>/g
,
""
)}
var
f
,
g
,
h
,
i
,
j
,
k
,
l
;
f
=
{
state
:[],
edit
:
function
(
a
,
b
){
var
d
=
this
.
type
,
e
=
c
[
d
].
edit
(
a
);
this
.
pausePlayers
&&
this
.
pausePlayers
(),
_
.
each
(
this
.
state
,
function
(
a
){
e
.
state
(
a
).
on
(
"
update
"
,
function
(
a
){
b
(
c
[
d
].
shortcode
(
a
).
string
(),
"
gallery
"
===
d
)})}),
e
.
on
(
"
close
"
,
function
(){
e
.
detach
()}),
e
.
open
()}},
g
=
_
.
extend
({},
f
,{
state
:[
"
gallery-edit
"
],
template
:
c
.
template
(
"
editor-gallery
"
),
initialize
:
function
(){
var
a
=
c
.
gallery
.
attachments
(
this
.
shortcode
,
c
.
view
.
settings
.
post
.
id
),
b
=
this
.
shortcode
.
attrs
.
named
,
d
=
this
;
a
.
more
().
done
(
function
(){
a
=
a
.
toJSON
(),
_
.
each
(
a
,
function
(
a
){
a
.
sizes
&&
(
b
.
size
&&
a
.
sizes
[
b
.
size
]?
a
.
thumbnail
=
a
.
sizes
[
b
.
size
]:
a
.
sizes
.
thumbnail
?
a
.
thumbnail
=
a
.
sizes
.
thumbnail
:
a
.
sizes
.
full
&&
(
a
.
thumbnail
=
a
.
sizes
.
full
))}),
d
.
render
(
d
.
template
({
verifyHTML
:
e
,
attachments
:
a
,
columns
:
b
.
columns
?
parseInt
(
b
.
columns
,
10
):
c
.
galleryDefaults
.
columns
}))}).
fail
(
function
(
a
,
b
){
d
.
setError
(
b
)})}}),
h
=
_
.
extend
({},
f
,{
action
:
"
parse-media-shortcode
"
,
initialize
:
function
(){
var
a
=
this
,
b
=
null
;
this
.
url
&&
(
this
.
loader
=!
1
,
this
.
shortcode
=
c
.
embed
.
shortcode
({
url
:
this
.
text
})),
a
.
editor
&&
(
b
=
a
.
editor
.
iframeElement
.
clientWidth
-
20
),
wp
.
ajax
.
post
(
this
.
action
,{
post_ID
:
c
.
view
.
settings
.
post
.
id
,
type
:
this
.
shortcode
.
tag
,
shortcode
:
this
.
shortcode
.
string
(),
maxwidth
:
b
}).
done
(
function
(
b
){
a
.
render
(
b
)}).
fail
(
function
(
b
){
a
.
url
?(
a
.
ignore
=!
0
,
a
.
removeMarkers
()):
a
.
setError
(
b
.
message
||
b
.
statusText
,
"
admin-media
"
)}),
this
.
getEditors
(
function
(
b
){
b
.
on
(
"
wpview-selected
"
,
function
(){
a
.
pausePlayers
()})})},
pausePlayers
:
function
(){
this
.
getNodes
(
function
(
a
,
b
,
c
){
var
e
=
d
(
"
iframe.wpview-sandbox
"
,
c
).
get
(
0
);
e
&&
(
e
=
e
.
contentWindow
)
&&
e
.
mejs
&&
_
.
each
(
e
.
mejs
.
players
,
function
(
a
){
try
{
a
.
pause
()}
catch
(
b
){}})})}}),
i
=
_
.
extend
({},
h
,{
action
:
"
parse-embed
"
,
edit
:
function
(
a
,
b
){
var
d
=
c
.
embed
.
edit
(
a
,
this
.
url
),
e
=
this
;
this
.
pausePlayers
(),
d
.
state
(
"
embed
"
).
props
.
on
(
"
change:url
"
,
function
(
a
,
b
){
b
&&
a
.
get
(
"
url
"
)
&&
(
d
.
state
(
"
embed
"
).
metadata
=
a
.
toJSON
())}),
d
.
state
(
"
embed
"
).
on
(
"
select
"
,
function
(){
var
a
=
d
.
state
(
"
embed
"
).
metadata
;
b
(
e
.
url
?
a
.
url
:
c
.
embed
.
shortcode
(
a
).
string
())}),
d
.
on
(
"
close
"
,
function
(){
d
.
detach
()}),
d
.
open
()}}),
b
.
register
(
"
gallery
"
,
_
.
extend
({},
g
)),
b
.
register
(
"
audio
"
,
_
.
extend
({},
h
,{
state
:[
"
audio-details
"
]})),
b
.
register
(
"
video
"
,
_
.
extend
({},
h
,{
state
:[
"
video-details
"
]})),
b
.
register
(
"
playlist
"
,
_
.
extend
({},
h
,{
state
:[
"
playlist-edit
"
,
"
video-playlist-edit
"
]})),
b
.
register
(
"
embed
"
,
_
.
extend
({},
i
)),
b
.
register
(
"
embedURL
"
,
_
.
extend
({},
i
,{
match
:
function
(
a
){
var
b
=
/
(
^|<p>
)(
https
?
:
\/\/[^\s
"
]
+
?)(
<
\/
p>
\s
*|$
)
/gi
,
c
=
b
.
exec
(
a
);
if
(
c
)
return
{
index
:
c
.
index
+
c
[
1
].
length
,
content
:
c
[
2
],
options
:{
url
:
!
0
}}}}))}(
window
,
window
.
wp
.
mce
.
views
,
window
.
wp
.
media
,
window
.
jQuery
);
\ No newline at end of file
!
function
(
a
,
b
,
c
,
d
){
"
use strict
"
;
var
e
=
{},
f
=
{};
b
.
mce
=
b
.
mce
||
{},
b
.
mce
.
views
=
{
register
:
function
(
a
,
c
){
e
[
a
]
=
b
.
mce
.
View
.
extend
(
_
.
extend
(
c
,{
type
:
a
}))},
unregister
:
function
(
a
){
delete
e
[
a
]},
get
:
function
(
a
){
return
e
[
a
]},
unbind
:
function
(){
_
.
each
(
f
,
function
(
a
){
a
.
unbind
()})},
setMarkers
:
function
(
a
,
b
){
var
c
,
d
,
f
=
[{
content
:
a
}],
g
=
this
;
return
_
.
each
(
e
,
function
(
a
,
e
){
d
=
f
.
slice
(),
f
=
[],
_
.
each
(
d
,
function
(
d
){
var
h
,
i
,
j
=
d
.
content
;
if
(
d
.
processed
)
return
void
f
.
push
(
d
);
for
(;
j
&&
(
h
=
a
.
prototype
.
match
(
j
));)
h
.
index
&&
f
.
push
({
content
:
j
.
substring
(
0
,
h
.
index
)}),
h
.
options
.
editor
=
b
,
c
=
g
.
createInstance
(
e
,
h
.
content
,
h
.
options
),
i
=
c
.
loader
?
"
.
"
:
c
.
text
,
f
.
push
({
content
:
c
.
ignore
?
i
:
'
<p data-wpview-marker="
'
+
c
.
encodedText
+
'
">
'
+
i
+
"
</p>
"
,
processed
:
!
0
}),
j
=
j
.
slice
(
h
.
index
+
h
.
content
.
length
);
j
&&
f
.
push
({
content
:
j
})})}),
a
=
_
.
pluck
(
f
,
"
content
"
).
join
(
""
),
a
.
replace
(
/<p>
\s
*<p data-wpview-marker=/g
,
"
<p data-wpview-marker=
"
).
replace
(
/<
\/
p>
\s
*<
\/
p>/g
,
"
</p>
"
)},
createInstance
:
function
(
a
,
b
,
c
,
d
){
var
e
,
g
,
h
=
this
.
get
(
a
);
return
b
.
indexOf
(
"
[
"
)
!==-
1
&&
b
.
indexOf
(
"
]
"
)
!==-
1
&&
(
b
=
b
.
replace
(
/
\[[^\]]
+
\]
/g
,
function
(
a
){
return
a
.
replace
(
/
[\r\n]
/g
,
""
)})),
!
d
&&
(
g
=
this
.
getInstance
(
b
))?
g
:(
e
=
encodeURIComponent
(
b
),
c
=
_
.
extend
(
c
||
{},{
text
:
b
,
encodedText
:
e
}),
f
[
e
]
=
new
h
(
c
))},
getInstance
:
function
(
a
){
return
"
string
"
==
typeof
a
?
f
[
encodeURIComponent
(
a
)]:
f
[
d
(
a
).
attr
(
"
data-wpview-text
"
)]},
getText
:
function
(
a
){
return
decodeURIComponent
(
d
(
a
).
attr
(
"
data-wpview-text
"
)
||
""
)},
render
:
function
(
a
){
_
.
each
(
f
,
function
(
b
){
b
.
render
(
null
,
a
)})},
update
:
function
(
a
,
b
,
c
,
d
){
var
e
=
this
.
getInstance
(
c
);
e
&&
e
.
update
(
a
,
b
,
c
,
d
)},
edit
:
function
(
a
,
b
){
var
c
=
this
.
getInstance
(
b
);
c
&&
c
.
edit
&&
c
.
edit
(
c
.
text
,
function
(
d
,
e
){
c
.
update
(
d
,
a
,
b
,
e
)})},
remove
:
function
(
a
,
b
){
var
c
=
this
.
getInstance
(
b
);
c
&&
c
.
remove
(
a
,
b
)}},
b
.
mce
.
View
=
function
(
a
){
_
.
extend
(
this
,
a
),
this
.
initialize
()},
b
.
mce
.
View
.
extend
=
Backbone
.
View
.
extend
,
_
.
extend
(
b
.
mce
.
View
.
prototype
,{
content
:
null
,
loader
:
!
0
,
initialize
:
function
(){},
getContent
:
function
(){
return
this
.
content
},
render
:
function
(
a
,
b
){
null
!=
a
&&
(
this
.
content
=
a
),
a
=
this
.
getContent
(),(
this
.
loader
||
a
)
&&
(
b
&&
this
.
unbind
(),
this
.
replaceMarkers
(),
a
?
this
.
setContent
(
a
,
function
(
a
,
b
){
d
(
b
).
data
(
"
rendered
"
,
!
0
),
this
.
bindNode
.
call
(
this
,
a
,
b
)},
!!
b
&&
null
):
this
.
setLoader
())},
bindNode
:
function
(){},
unbindNode
:
function
(){},
unbind
:
function
(){
this
.
getNodes
(
function
(
a
,
b
){
this
.
unbindNode
.
call
(
this
,
a
,
b
)},
!
0
)},
getEditors
:
function
(
a
){
_
.
each
(
tinymce
.
editors
,
function
(
b
){
b
.
plugins
.
wpview
&&
a
.
call
(
this
,
b
)},
this
)},
getNodes
:
function
(
a
,
b
){
this
.
getEditors
(
function
(
c
){
var
e
=
this
;
d
(
c
.
getBody
()).
find
(
'
[data-wpview-text="
'
+
e
.
encodedText
+
'
"]
'
).
filter
(
function
(){
var
a
;
return
null
==
b
||
(
a
=
d
(
this
).
data
(
"
rendered
"
)
===!
0
,
b
?
a
:
!
a
)}).
each
(
function
(){
a
.
call
(
e
,
c
,
this
,
this
)})})},
getMarkers
:
function
(
a
){
this
.
getEditors
(
function
(
b
){
var
c
=
this
;
d
(
b
.
getBody
()).
find
(
'
[data-wpview-marker="
'
+
this
.
encodedText
+
'
"]
'
).
each
(
function
(){
a
.
call
(
c
,
b
,
this
)})})},
replaceMarkers
:
function
(){
this
.
getMarkers
(
function
(
a
,
b
){
var
c
,
e
=
b
===
a
.
selection
.
getNode
();
return
this
.
loader
||
d
(
b
).
text
()
===
tinymce
.
DOM
.
decode
(
this
.
text
)?(
c
=
a
.
$
(
'
<div class="wpview wpview-wrap" data-wpview-text="
'
+
this
.
encodedText
+
'
" data-wpview-type="
'
+
this
.
type
+
'
" contenteditable="false"></div>
'
),
a
.
$
(
b
).
replaceWith
(
c
),
void
(
e
&&
setTimeout
(
function
(){
a
.
selection
.
select
(
c
[
0
]),
a
.
selection
.
collapse
()}))):
void
a
.
dom
.
setAttrib
(
b
,
"
data-wpview-marker
"
,
null
)})},
removeMarkers
:
function
(){
this
.
getMarkers
(
function
(
a
,
b
){
a
.
dom
.
setAttrib
(
b
,
"
data-wpview-marker
"
,
null
)})},
setContent
:
function
(
a
,
b
,
c
){
_
.
isObject
(
a
)
&&
(
a
.
sandbox
||
a
.
head
||
a
.
body
.
indexOf
(
"
<script
"
)
!==-
1
)?
this
.
setIframes
(
a
.
head
||
""
,
a
.
body
,
b
,
c
):
_
.
isString
(
a
)
&&
a
.
indexOf
(
"
<script
"
)
!==-
1
?
this
.
setIframes
(
""
,
a
,
b
,
c
):
this
.
getNodes
(
function
(
c
,
d
){
a
=
a
.
body
||
a
,
a
.
indexOf
(
"
<iframe
"
)
!==-
1
&&
(
a
+=
'
<span class="mce-shim"></span>
'
),
c
.
undoManager
.
transact
(
function
(){
d
.
innerHTML
=
""
,
d
.
appendChild
(
_
.
isString
(
a
)?
c
.
dom
.
createFragment
(
a
):
a
),
c
.
dom
.
add
(
d
,
"
span
"
,{
"
class
"
:
"
wpview-end
"
})}),
b
&&
b
.
call
(
this
,
c
,
d
)},
c
)},
setIframes
:
function
(
c
,
e
,
f
,
g
){
var
h
=
this
;
if
(
e
.
indexOf
(
"
[
"
)
!==-
1
&&
e
.
indexOf
(
"
]
"
)
!==-
1
){
var
i
=
new
RegExp
(
"
\\
[
\\
/?(?:
"
+
a
.
mceViewL10n
.
shortcodes
.
join
(
"
|
"
)
+
"
)[^
\\
]]*?
\\
]
"
,
"
g
"
);
e
=
e
.
replace
(
i
,
function
(
a
){
return
a
.
replace
(
/</g
,
"
<
"
).
replace
(
/>/g
,
"
>
"
)})}
this
.
getNodes
(
function
(
a
,
g
){
function
i
(){
var
b
;
r
||
l
.
contentWindow
&&
(
b
=
d
(
l
),
h
.
iframeHeight
=
d
(
n
.
body
).
height
(),
b
.
height
()
!==
h
.
iframeHeight
&&
(
b
.
height
(
h
.
iframeHeight
),
a
.
nodeChanged
()))}
function
j
(){
a
.
isHidden
()
||
(
d
(
g
).
data
(
"
rendered
"
,
null
),
setTimeout
(
function
(){
b
.
mce
.
views
.
render
()}))}
function
k
(){
p
=
new
o
(
_
.
debounce
(
i
,
100
)),
p
.
observe
(
n
.
body
,{
attributes
:
!
0
,
childList
:
!
0
,
subtree
:
!
0
})}
var
l
,
m
,
n
,
o
,
p
,
q
,
r
,
s
=
a
.
dom
,
t
=
""
,
u
=
a
.
getBody
().
className
||
""
,
v
=
a
.
getDoc
().
getElementsByTagName
(
"
head
"
)[
0
];
if
(
tinymce
.
each
(
s
.
$
(
'
link[rel="stylesheet"]
'
,
v
),
function
(
a
){
a
.
href
&&
a
.
href
.
indexOf
(
"
skins/lightgray/content.min.css
"
)
===-
1
&&
a
.
href
.
indexOf
(
"
skins/wordpress/wp-content.css
"
)
===-
1
&&
(
t
+=
s
.
getOuterHTML
(
a
))}),
h
.
iframeHeight
&&
s
.
add
(
g
,
"
span
"
,{
"
data-mce-bogus
"
:
1
,
style
:{
display
:
"
block
"
,
width
:
"
100%
"
,
height
:
h
.
iframeHeight
}},
"
\
u200b
"
),
a
.
undoManager
.
transact
(
function
(){
g
.
innerHTML
=
""
,
l
=
s
.
add
(
g
,
"
iframe
"
,{
src
:
tinymce
.
Env
.
ie
?
'
javascript:""
'
:
""
,
frameBorder
:
"
0
"
,
allowTransparency
:
"
true
"
,
scrolling
:
"
no
"
,
"
class
"
:
"
wpview-sandbox
"
,
style
:{
width
:
"
100%
"
,
display
:
"
block
"
},
height
:
h
.
iframeHeight
}),
s
.
add
(
g
,
"
span
"
,{
"
class
"
:
"
mce-shim
"
}),
s
.
add
(
g
,
"
span
"
,{
"
class
"
:
"
wpview-end
"
})}),
l
.
contentWindow
){
if
(
m
=
l
.
contentWindow
,
n
=
m
.
document
,
n
.
open
(),
n
.
write
(
'
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
'
+
c
+
t
+
'
<style>html {background: transparent;padding: 0;margin: 0;}body#wpview-iframe-sandbox {background: transparent;padding: 1px 0 !important;margin: -1px 0 0 !important;}body#wpview-iframe-sandbox:before,body#wpview-iframe-sandbox:after {display: none;content: "";}iframe {max-width: 100%;}</style></head><body id="wpview-iframe-sandbox" class="
'
+
u
+
'
">
'
+
e
+
"
</body></html>
"
),
n
.
close
(),
h
.
iframeHeight
&&
(
r
=!
0
,
setTimeout
(
function
(){
r
=!
1
,
i
()},
3
e3
)),
d
(
m
).
on
(
"
load
"
,
i
).
on
(
"
unload
"
,
j
),
o
=
m
.
MutationObserver
||
m
.
WebKitMutationObserver
||
m
.
MozMutationObserver
)
n
.
body
?
k
():
n
.
addEventListener
(
"
DOMContentLoaded
"
,
k
,
!
1
);
else
for
(
q
=
1
;
q
<
6
;
q
++
)
setTimeout
(
i
,
700
*
q
);
f
&&
f
.
call
(
h
,
a
,
g
)}},
g
)},
setLoader
:
function
(
a
){
this
.
setContent
(
'
<div class="loading-placeholder"><div class="dashicons dashicons-
'
+
(
a
||
"
admin-media
"
)
+
'
"></div><div class="wpview-loading"><ins></ins></div></div>
'
)},
setError
:
function
(
a
,
b
){
this
.
setContent
(
'
<div class="wpview-error"><div class="dashicons dashicons-
'
+
(
b
||
"
no
"
)
+
'
"></div><p>
'
+
a
+
"
</p></div>
"
)},
match
:
function
(
a
){
var
b
=
c
.
next
(
this
.
type
,
a
);
if
(
b
)
return
{
index
:
b
.
index
,
content
:
b
.
content
,
options
:{
shortcode
:
b
.
shortcode
}}},
update
:
function
(
a
,
c
,
f
,
g
){
_
.
find
(
e
,
function
(
e
,
h
){
var
i
=
e
.
prototype
.
match
(
a
);
if
(
i
)
return
d
(
f
).
data
(
"
rendered
"
,
!
1
),
c
.
dom
.
setAttrib
(
f
,
"
data-wpview-text
"
,
encodeURIComponent
(
a
)),
b
.
mce
.
views
.
createInstance
(
h
,
a
,
i
.
options
,
g
).
render
(),
c
.
selection
.
select
(
f
),
c
.
nodeChanged
(),
c
.
focus
(),
!
0
})},
remove
:
function
(
a
,
b
){
this
.
unbindNode
.
call
(
this
,
a
,
b
),
a
.
dom
.
remove
(
b
),
a
.
focus
()}})}(
window
,
window
.
wp
,
window
.
wp
.
shortcode
,
window
.
jQuery
),
function
(
a
,
b
,
c
,
d
){
function
e
(
b
){
var
c
=
{};
return
a
.
tinymce
?
!
b
||
b
.
indexOf
(
"
<
"
)
===-
1
&&
b
.
indexOf
(
"
>
"
)
===-
1
?
b
:(
j
=
j
||
new
a
.
tinymce
.
html
.
Schema
(
c
),
k
=
k
||
new
a
.
tinymce
.
html
.
DomParser
(
c
,
j
),
l
=
l
||
new
a
.
tinymce
.
html
.
Serializer
(
c
,
j
),
l
.
serialize
(
k
.
parse
(
b
,{
forced_root_block
:
!
1
}))):
b
.
replace
(
/<
[^
>
]
+>/g
,
""
)}
var
f
,
g
,
h
,
i
,
j
,
k
,
l
;
f
=
{
state
:[],
edit
:
function
(
a
,
b
){
var
d
=
this
.
type
,
e
=
c
[
d
].
edit
(
a
);
this
.
pausePlayers
&&
this
.
pausePlayers
(),
_
.
each
(
this
.
state
,
function
(
a
){
e
.
state
(
a
).
on
(
"
update
"
,
function
(
a
){
b
(
c
[
d
].
shortcode
(
a
).
string
(),
"
gallery
"
===
d
)})}),
e
.
on
(
"
close
"
,
function
(){
e
.
detach
()}),
e
.
open
()}},
g
=
_
.
extend
({},
f
,{
state
:[
"
gallery-edit
"
],
template
:
c
.
template
(
"
editor-gallery
"
),
initialize
:
function
(){
var
a
=
c
.
gallery
.
attachments
(
this
.
shortcode
,
c
.
view
.
settings
.
post
.
id
),
b
=
this
.
shortcode
.
attrs
.
named
,
d
=
this
;
a
.
more
().
done
(
function
(){
a
=
a
.
toJSON
(),
_
.
each
(
a
,
function
(
a
){
a
.
sizes
&&
(
b
.
size
&&
a
.
sizes
[
b
.
size
]?
a
.
thumbnail
=
a
.
sizes
[
b
.
size
]:
a
.
sizes
.
thumbnail
?
a
.
thumbnail
=
a
.
sizes
.
thumbnail
:
a
.
sizes
.
full
&&
(
a
.
thumbnail
=
a
.
sizes
.
full
))}),
d
.
render
(
d
.
template
({
verifyHTML
:
e
,
attachments
:
a
,
columns
:
b
.
columns
?
parseInt
(
b
.
columns
,
10
):
c
.
galleryDefaults
.
columns
}))}).
fail
(
function
(
a
,
b
){
d
.
setError
(
b
)})}}),
h
=
_
.
extend
({},
f
,{
action
:
"
parse-media-shortcode
"
,
initialize
:
function
(){
var
a
=
this
,
b
=
null
;
this
.
url
&&
(
this
.
loader
=!
1
,
this
.
shortcode
=
c
.
embed
.
shortcode
({
url
:
this
.
text
})),
a
.
editor
&&
(
b
=
a
.
editor
.
getBody
().
clientWidth
),
wp
.
ajax
.
post
(
this
.
action
,{
post_ID
:
c
.
view
.
settings
.
post
.
id
,
type
:
this
.
shortcode
.
tag
,
shortcode
:
this
.
shortcode
.
string
(),
maxwidth
:
b
}).
done
(
function
(
b
){
a
.
render
(
b
)}).
fail
(
function
(
b
){
a
.
url
?(
a
.
ignore
=!
0
,
a
.
removeMarkers
()):
a
.
setError
(
b
.
message
||
b
.
statusText
,
"
admin-media
"
)}),
this
.
getEditors
(
function
(
b
){
b
.
on
(
"
wpview-selected
"
,
function
(){
a
.
pausePlayers
()})})},
pausePlayers
:
function
(){
this
.
getNodes
(
function
(
a
,
b
,
c
){
var
e
=
d
(
"
iframe.wpview-sandbox
"
,
c
).
get
(
0
);
e
&&
(
e
=
e
.
contentWindow
)
&&
e
.
mejs
&&
_
.
each
(
e
.
mejs
.
players
,
function
(
a
){
try
{
a
.
pause
()}
catch
(
b
){}})})}}),
i
=
_
.
extend
({},
h
,{
action
:
"
parse-embed
"
,
edit
:
function
(
a
,
b
){
var
d
=
c
.
embed
.
edit
(
a
,
this
.
url
),
e
=
this
;
this
.
pausePlayers
(),
d
.
state
(
"
embed
"
).
props
.
on
(
"
change:url
"
,
function
(
a
,
b
){
b
&&
a
.
get
(
"
url
"
)
&&
(
d
.
state
(
"
embed
"
).
metadata
=
a
.
toJSON
())}),
d
.
state
(
"
embed
"
).
on
(
"
select
"
,
function
(){
var
a
=
d
.
state
(
"
embed
"
).
metadata
;
b
(
e
.
url
?
a
.
url
:
c
.
embed
.
shortcode
(
a
).
string
())}),
d
.
on
(
"
close
"
,
function
(){
d
.
detach
()}),
d
.
open
()}}),
b
.
register
(
"
gallery
"
,
_
.
extend
({},
g
)),
b
.
register
(
"
audio
"
,
_
.
extend
({},
h
,{
state
:[
"
audio-details
"
]})),
b
.
register
(
"
video
"
,
_
.
extend
({},
h
,{
state
:[
"
video-details
"
]})),
b
.
register
(
"
playlist
"
,
_
.
extend
({},
h
,{
state
:[
"
playlist-edit
"
,
"
video-playlist-edit
"
]})),
b
.
register
(
"
embed
"
,
_
.
extend
({},
i
)),
b
.
register
(
"
embedURL
"
,
_
.
extend
({},
i
,{
match
:
function
(
a
){
var
b
=
/
(
^|<p>
)(
https
?
:
\/\/[^\s
"
]
+
?)(
<
\/
p>
\s
*|$
)
/gi
,
c
=
b
.
exec
(
a
);
if
(
c
)
return
{
index
:
c
.
index
+
c
[
1
].
length
,
content
:
c
[
2
],
options
:{
url
:
!
0
}}}}))}(
window
,
window
.
wp
.
mce
.
views
,
window
.
wp
.
media
,
window
.
jQuery
);
\ No newline at end of file
wp-includes/js/tinymce/plugins/wplink/plugin.js
View file @
79068fa2
...
...
@@ -468,8 +468,11 @@
}
}
}
).
autocomplete
(
'
instance
'
).
_renderItem
=
function
(
ul
,
item
)
{
var
fallbackTitle
=
(
typeof
window
.
wpLinkL10n
!==
'
undefined
'
)
?
window
.
wpLinkL10n
.
noTitle
:
''
,
title
=
item
.
title
?
item
.
title
:
fallbackTitle
;
return
$
(
'
<li role="option" id="mce-wp-autocomplete-
'
+
item
.
ID
+
'
">
'
)
.
append
(
'
<span>
'
+
item
.
title
+
'
</span> <span class="wp-editor-float-right">
'
+
item
.
info
+
'
</span>
'
)
.
append
(
'
<span>
'
+
title
+
'
</span> <span class="wp-editor-float-right">
'
+
item
.
info
+
'
</span>
'
)
.
appendTo
(
ul
);
};