Compare commits

...

53 Commits
5.9 ... 3.9.2

Author SHA1 Message Date
Andrew Nacin
47520b3fb4 Tag 3.9.2
Built from https://develop.svn.wordpress.org/@29417

git-svn-id: http://core.svn.wordpress.org/tags/3.9.2@29195 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-06 20:08:41 +00:00
Andrew Nacin
f62b6a2c8b 3.9.2
Built from https://develop.svn.wordpress.org/branches/3.9@29411


git-svn-id: http://core.svn.wordpress.org/branches/3.9@29189 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-06 18:27:16 +00:00
Andrew Nacin
f00aac7c5c Use delimiters when building nonce hashes. Part two of [29384].
Built from https://develop.svn.wordpress.org/branches/3.9@29408


git-svn-id: http://core.svn.wordpress.org/branches/3.9@29186 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-06 17:53:16 +00:00
Andrew Nacin
824ca5b030 Ignore entities in XML-RPC requests.
Merges [29404] to the 3.9 branch.

props mdawaffe, nacin.

Built from https://develop.svn.wordpress.org/branches/3.9@29405


git-svn-id: http://core.svn.wordpress.org/branches/3.9@29183 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-06 17:40:17 +00:00
Andrew Nacin
9173953c3e Escape late in get_avatar().
Merges [29397] to the 3.9 branch.

Built from https://develop.svn.wordpress.org/branches/3.9@29398


git-svn-id: http://core.svn.wordpress.org/branches/3.9@29176 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-06 07:51:15 +00:00
Andrew Nacin
ac2d674473 Don't pass around the password reset key.
Merges [29327] and [29381] to the 3.9 branch.

props mdawaffe.
fixes #29060.

Built from https://develop.svn.wordpress.org/branches/3.9@29394


git-svn-id: http://core.svn.wordpress.org/branches/3.9@29172 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-06 06:37:15 +00:00
Andrew Nacin
b86cd8511b Disable external entities in ID3.
Merges [29378] to the 3.9 branch.

Built from https://develop.svn.wordpress.org/branches/3.9@29390


git-svn-id: http://core.svn.wordpress.org/branches/3.9@29168 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-06 05:57:16 +00:00
Andrew Nacin
ad39a33a22 Verify the MAC earlier in WP_Customize_Widgets. props duck_.
Merges [29377] (and [29028]) to the 3.9 branch.

Built from https://develop.svn.wordpress.org/branches/3.9@29389


git-svn-id: http://core.svn.wordpress.org/branches/3.9@29167 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-06 05:51:15 +00:00
Andrew Nacin
c4b546f41f Constant time for wp_verify_nonce().
Merges [29382] to the 3.9 branch.

Adds a second copy of hash_equals() to pluggable.php in case compat.php is not copied over in an update. (The general goal is no cross-file dependencies for minor releases.)

Built from https://develop.svn.wordpress.org/branches/3.9@29384


git-svn-id: http://core.svn.wordpress.org/branches/3.9@29162 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-06 05:42:16 +00:00
Andrew Nacin
7d2bc0ab0d 3.9.2-alpha
Built from https://develop.svn.wordpress.org/branches/3.9@29383


git-svn-id: http://core.svn.wordpress.org/branches/3.9@29161 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-06 05:26:31 +00:00
Andrew Nacin
ef84a2bea6 Update the Akismet external to 3.0.1 for the 3.9 branch.
git-svn-id: http://core.svn.wordpress.org/branches/3.9@29143 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-03 17:14:50 +00:00
Andrew Nacin
c462d023dd Use the same string on the about, credits, and freedoms screens.
Built from https://develop.svn.wordpress.org/branches/3.9@28353


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28181 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-08 17:01:16 +00:00
Andrew Nacin
01793d489b About 3.9.1
Built from https://develop.svn.wordpress.org/branches/3.9@28346


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28174 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-07 20:43:15 +00:00
Andrew Nacin
38b8a2fbf9 3.9.1
Built from https://develop.svn.wordpress.org/branches/3.9@28345


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28173 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-07 20:13:14 +00:00
Andrew Nacin
f87cbbf9c9 Add missing Dashicons classes to User Admin menu.
Merges [28284] to the 3.9 branch.

props imath.
fixes #28144, #26630.

Built from https://develop.svn.wordpress.org/branches/3.9@28344


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28172 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-07 20:11:15 +00:00
Andrew Nacin
3c530e46cb 3.9.1-RC1
Built from https://develop.svn.wordpress.org/branches/3.9@28282


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28110 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-06 05:33:31 +00:00
Andrew Nacin
e1f345903f Multisite: Treat 'www' as a special subdomain, reversing 3.9 regression.
Merges [28280] to the 3.9 branch.

props jeremyfelt.
fixes #27927.

Built from https://develop.svn.wordpress.org/branches/3.9@28281


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28109 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-06 05:33:17 +00:00
Andrew Nacin
d6656c58e0 Multisite: Fix case sensitivity regressions in 3.9.
Merges [28276] to the 3.9 branch.

props jeremyfelt.
fixes #27866.

Built from https://develop.svn.wordpress.org/branches/3.9@28278


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28106 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-06 05:26:14 +00:00
Andrew Nacin
dfb0e1aaa8 Custom header: Avoid warnings in the process_default_headers() method.
Merges [28275] to the 3.9 branch.

props obenland.
fixes #27850.

Built from https://develop.svn.wordpress.org/branches/3.9@28277


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28105 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-06 05:25:16 +00:00
Andrew Nacin
c51b6347e4 Fix persistence of <track> elements in the body of a [video] shotcode in TinyMCE views.
Merges [28183] and [28169] to the 3.9 branch.

props azaozz, wonderboymusic.
fixes #27915.

Built from https://develop.svn.wordpress.org/branches/3.9@28273


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28101 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-06 04:51:14 +00:00
Andrew Nacin
8b65448e85 Refinements for asynchronous rendering in wp.mce.media.PlaylistView.
Merges [28182] to the 3.9 branch.

props gcorne, wonderboymusic.
fixes #27899.

Built from https://develop.svn.wordpress.org/branches/3.9@28272


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28100 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-06 04:49:15 +00:00
Andrew Nacin
900f223ed5 Customizer: Only tie header button action events to the header controls.
Merges [28269] to the 3.9 branch.

props danielbachhuber.
fixes #28046. see #27848.

Built from https://develop.svn.wordpress.org/branches/3.9@28270


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28098 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-06 04:30:37 +00:00
Andrew Nacin
73a09188b8 Customizer: Avoid hiding 'Remove' buttons unrelated to custom headers.
Merges [28266] to the 3.9 branch.

props rzen, ehg.
fixes #27848.

Built from https://develop.svn.wordpress.org/branches/3.9@28267


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28095 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-06 04:15:14 +00:00
Andrew Nacin
c85dc97274 Drag/drop on the editor to upload: don't trigger the uploader when selected text is being dragged from one window to another.
Merges [28189] to the 3.9 branch.

props azaozz.
fixes #27880.

Built from https://develop.svn.wordpress.org/branches/3.9@28262


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28090 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-06 03:28:15 +00:00
Andrew Nacin
f2512c50eb Avoid an expensive attachment counting query on the post editing screen.
Merges [28191], [28194] to the 3.9 branch.

props johnbillion.
fixes #27985.

Built from https://develop.svn.wordpress.org/branches/3.9@28261


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28089 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-06 03:22:17 +00:00
Andrew Nacin
524068c83b Add a compatibility layer in wp-playlist.js to avoid VM errors from MediaElement's plugin bridge in the TinyMCE views for playlists by suppressing playback for files whose mime-type is not supported in the user's browser natively.
Merges [28171] to the 3.9 branch.

props wonderboymusic.
fixes #27892.

Built from https://develop.svn.wordpress.org/branches/3.9@28247


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28075 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-02 17:02:16 +00:00
Andrew Nacin
daddadfb70 Don't set the poster image for videos in a playlist if the image is the video mime-type icon blown up.
Merges [28158] to the 3.9 branch.

props wonderboymusic.
see #27892.

Built from https://develop.svn.wordpress.org/branches/3.9@28246


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28074 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-02 17:00:14 +00:00
Andrew Nacin
9753a18ddf Add calc() rules for max-width of playlist caption.
Merges [28174] to the 3.9 branch.

props celloexpressions.
fixes #27923.

Built from https://develop.svn.wordpress.org/branches/3.9@28245


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28073 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-02 16:56:14 +00:00
Andrew Nacin
17457983b4 Properly account for text overflow in .wp-playlist-caption by adding display: block.
Merges [28172] to the 3.9 branch.

props celloexpressions.
see #27923.

Built from https://develop.svn.wordpress.org/branches/3.9@28244


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28072 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-02 16:54:15 +00:00
Andrew Nacin
b4245bb9f6 Properly translate 'Select Poster Image'.
Merges [28158] to the 3.9 branch.

props dimadin.
fixes #27845.

Built from https://develop.svn.wordpress.org/branches/3.9@28233


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28061 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-01 04:49:14 +00:00
Andrew Nacin
8649425906 TinyMCE: fix the "active" state of the Link button when an image wrapped in a link is selected.
Merges [28185] to the 3.9 branch.

props azaozz.
fixes #27847.

Built from https://develop.svn.wordpress.org/branches/3.9@28232


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28060 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-01 04:43:16 +00:00
Andrew Nacin
21796de8ba TinyMCE: When adding a caption to an image that is in a paragraph with other text, move the caption node above the paragraph instead of below.
Merges [28190] to the 3.9 branch.

props azaozz.
fixes #27922.

Built from https://develop.svn.wordpress.org/branches/3.9@28231


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28059 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-01 04:42:14 +00:00
Andrew Nacin
6e4bb1ab4a Support RTL properly when displaying playlists.
Merges [28173] to the 3.9 branch.

props SergeyBiryukov.
fixes #27924.

Built from https://develop.svn.wordpress.org/branches/3.9@28230


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28058 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-01 04:33:15 +00:00
Andrew Nacin
0579fdbc6a Media: Use the proper translated string for Video Playlist "drag info".
Merges [28178] to the 3.9 branch.

props wonderboymusic.
fixes #27937.

Built from https://develop.svn.wordpress.org/branches/3.9@28229


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28057 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-01 04:29:14 +00:00
Andrew Nacin
6b49e2278b Rmove version string from Thickbox so it assumes the WP core version. Bust some caches.
Merges [28176] to the 3.9 branch.

props celloexpressions.
fixes #27861.

Built from https://develop.svn.wordpress.org/branches/3.9@28228


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28056 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-01 04:27:15 +00:00
Andrew Nacin
f2f0f62a3e Alter the layout of the checkboxes in the modal view for Audio/Video Details to allow translations more room to breathe.
Merges [28184] to the 3.9 branch.

props wonderboymusic.
fixes #27893.

Built from https://develop.svn.wordpress.org/branches/3.9@28227


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28055 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-01 04:26:15 +00:00
Andrew Nacin
44c39135ab TinyMCE: Restore old wordpress_adv_hidden editor parameter to enable force-showing the kitchen sink.
Merges [28181] to the 3.9 branch.

props azaozz.
fixes #27963.

Built from https://develop.svn.wordpress.org/branches/3.9@28226


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28054 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-01 04:18:15 +00:00
Andrew Nacin
75c9032983 Customizer: Allow to skip cropping header images if image width is smaller than or equal to theme width.
Merges [28219] to the 3.9 branch.

fixes #27936.

Built from https://develop.svn.wordpress.org/branches/3.9@28225


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28053 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-01 04:16:14 +00:00
Andrew Nacin
b5e12ae249 Shortcode JS: Avoid errors when an escaped shortcode includes a newline between brackets.
Merges [28223] to the 3.9 branch.

props gcorne.
props Clorith, jorbin for tests.
fixes #27907.

Built from https://develop.svn.wordpress.org/branches/3.9@28224


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28052 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-01 03:58:15 +00:00
Mark Jaquith
f690e6fe0f Use '&mdash; Select &mdash;' instead of '-- Select --' for nav menus widget. Looks nicer.
Partially merges [28205] to the 3.9 branch.

see #27878
Built from https://develop.svn.wordpress.org/branches/3.9@28206


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28036 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-25 00:39:37 +00:00
Andrew Nacin
2766c5f44d Simplify the admin menu notification selector so color schemes don't get stomped.
Merges [28177] to the 3.9 branch.

props celloexpressions.
fixes #27920.

Built from https://develop.svn.wordpress.org/branches/3.9@28204


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28034 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-24 22:08:15 +00:00
Andrew Nacin
7aa8fbd1dd Run WP_Editors::enqueue_scripts() on admin_print_footer_scripts, instead of admin_footer.
Fixes incompatibility with the customizer.

Merges [28187] to the 3.9 branch.

props feedmeastraycat.
fixes #27853.

Built from https://develop.svn.wordpress.org/branches/3.9@28203


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28033 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-24 22:06:15 +00:00
Andrew Nacin
fba1c51e98 Don't allow disabled input styling to get lost in the cascade.
Merges [28179] to the 3.9 branch.

props ocean90.
fixes #27906.

Built from https://develop.svn.wordpress.org/branches/3.9@28202


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28032 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-24 22:05:16 +00:00
Andrew Nacin
fe6fdac4c1 Fix cursor style for the resize handle of the editor.
Merges [28186] for the 3.9 branch.

props avryl.
fixes #27595.

Built from https://develop.svn.wordpress.org/branches/3.9@28201


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28031 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-24 22:04:23 +00:00
Andrew Nacin
653bc12e2b Ensure the editor height is saved properly as an integer.
Merges [28193] to the 3.9 branch.

props jupiterwise.
fixes #28000.

Built from https://develop.svn.wordpress.org/branches/3.9@28200


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28030 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-24 21:42:26 +00:00
Andrew Nacin
df62215a18 Editor: Shrink the font size for the chosen format so it fits in more locales.
Merges [28180] to the 3.9 branch.

props SergeyBiryukov.
fixes #27903.

Built from https://develop.svn.wordpress.org/branches/3.9@28199


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28029 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-24 21:41:17 +00:00
Mark Jaquith
09e4a3ca6c Force users to choose a nav menu in the custom nav menu widget, for a better customizer UX
Before, they had to make a dummy change to get it to render. Now they
are made to choose a nav menu from the dropdown, which feels more
natural.

Merges [28197] to the 3.9 branch.

fixes #27878. props westonruter
Built from https://develop.svn.wordpress.org/branches/3.9@28198


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28028 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-24 21:10:15 +00:00
Andrew Nacin
3b0cc6d419 Recent Posts Widget: Use ob_end_flush() instead of ob_flush().
Merges [28195] to the 3.9 branch.

props m_i_n.
fixes #28009.

Built from https://develop.svn.wordpress.org/branches/3.9@28196


git-svn-id: http://core.svn.wordpress.org/branches/3.9@28026 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-24 19:55:17 +00:00
Andrew Nacin
07e6c72972 Version and POT file updates for bundled themes Twenty Eleven through Twenty Fourteen.
Merges [28165] and [28166] to the 3.9 branch.

props lancewillett.
fixes #27843.

Built from https://develop.svn.wordpress.org/branches/3.9@28167


git-svn-id: http://core.svn.wordpress.org/branches/3.9@27998 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-19 18:27:14 +00:00
Andrew Nacin
37d4b468ea Theme Installer: Proper redirection and action links post-install in multisite.
Merges [28163] to the 3.9 branch.

fixes #27869.

Built from https://develop.svn.wordpress.org/branches/3.9@28164


git-svn-id: http://core.svn.wordpress.org/branches/3.9@27995 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-19 18:19:14 +00:00
Andrew Nacin
3dd112ef79 Fix logic inversion in [28124] to ensure widgets stay with themes during a theme switch.
Merges [28161] to the 3.9 branch.

props gcorne.
fixes #27897.

Built from https://develop.svn.wordpress.org/branches/3.9@28162


git-svn-id: http://core.svn.wordpress.org/branches/3.9@27993 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-19 18:14:16 +00:00
Andrew Nacin
0cecdccf75 The 3.9 branch is now 3.9.1-alpha.
Built from https://develop.svn.wordpress.org/branches/3.9@28156


git-svn-id: http://core.svn.wordpress.org/branches/3.9@27987 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-16 19:37:46 +00:00
Andrew Nacin
57db9dcaa2 Branch 3.9
Built from https://develop.svn.wordpress.org/@28154


git-svn-id: http://core.svn.wordpress.org/branches/3.9@27985 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-16 18:53:21 +00:00
75 changed files with 615 additions and 367 deletions

View File

@@ -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 3.9
<br /> Version 3.9.2
</h1>
<p style="text-align: center">Semantic Personal Publishing Platform</p>

View File

@@ -38,10 +38,22 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
</a>
</h2>
<div class="changelog point-releases">
<h3><?php echo _n( 'Maintenance and Security Release', 'Maintenance and Security Releases', 2 ); ?></h3>
<p><?php printf( _n( '<strong>Version %1$s</strong> addressed a security issue.',
'<strong>Version %1$s</strong> addressed some security issues.', 6 ), '3.9.2', number_format_i18n( 6 ) ); ?>
<?php printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'http://codex.wordpress.org/Version_3.9.2' ); ?>
</p>
<p><?php printf( _n( '<strong>Version %1$s</strong> addressed %2$s bug.',
'<strong>Version %1$s</strong> addressed %2$s bugs.', 34 ), '3.9.1', number_format_i18n( 34 ) ); ?>
<?php printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'http://codex.wordpress.org/Version_3.9.1' ); ?>
</p>
</div>
<div class="changelog">
<div class="about-overview">
<?php
if ( ( $locale = get_locale() ) && 'en_' === substr( $locale, 0, 3 ) ) : ?>
if ( ! is_ssl() && ( $locale = get_locale() ) && 'en_' === substr( $locale, 0, 3 ) ) : ?>
<embed src="//v0.wordpress.com/player.swf?v=1.03" type="application/x-shockwave-flash" width="640" height="360" wmode="direct" seamlesstabbing="true" allowfullscreen="true" allowscriptaccess="always" overstretch="true" flashvars="guid=sAiXhCfV&amp;isDynamicSeeking=true" title=""></embed>
<?php else : ?>
<img class="about-overview-img" src="//s.w.org/images/core/3.9/overview.png?0" />

View File

@@ -82,7 +82,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
<h1><?php printf( __( 'Welcome to WordPress %s' ), $display_version ); ?></h1>
<div class="about-text"><?php printf( __( 'Thank you for updating to WordPress %s, the most beautiful WordPress&nbsp;yet.' ), $display_version ); ?></div>
<div class="about-text"><?php printf( __( 'Thank you for updating! WordPress %s has lots of refinements we think you&#8217;ll love.' ), $display_version ); ?></div>
<div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>

View File

@@ -500,7 +500,7 @@ ul#adminmenu > li.current > a.current:after {
}
#adminmenu .awaiting-mod,
#adminmenu span.update-plugins,
#adminmenu .update-plugins,
#sidemenu li a span.update-plugins {
display: inline-block;
background-color: #d54e21;

View File

@@ -500,7 +500,7 @@ ul#adminmenu > li.current > a.current:after {
}
#adminmenu .awaiting-mod,
#adminmenu span.update-plugins,
#adminmenu .update-plugins,
#sidemenu li a span.update-plugins {
display: inline-block;
background-color: #d54e21;

View File

@@ -355,7 +355,7 @@ td.plugin-title p {
#content-resize-handle {
background: transparent url(../images/resize.gif) no-repeat scroll left bottom;
width: 12px;
cursor: n-resize;
cursor: row-resize;
}
.rtl #content-resize-handle {

View File

@@ -355,7 +355,7 @@ td.plugin-title p {
#content-resize-handle {
background: transparent url(../images/resize.gif) no-repeat scroll right bottom;
width: 12px;
cursor: n-resize;
cursor: row-resize;
}
.rtl #content-resize-handle {

View File

@@ -75,24 +75,6 @@ input[type=radio] {
line-height: 10px;
}
input:disabled,
input.disabled,
textarea:disabled,
textarea.disabled {
-webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.04);
box-shadow: inset 0 1px 2px rgba(0,0,0,0.04);
border-color: rgba(222, 222, 222, .75);
background: rgba(255, 255, 255, .5);
color: rgba(51, 51, 51, .5);
}
input[type=checkbox]:disabled,
input[type=radio]:disabled,
input[type=checkbox]:disabled:checked:before,
input[type=radio]:disabled:checked:before {
opacity: 0.7;
}
input[type=checkbox]:checked:before,
input[type=radio]:checked:before {
float: right;
@@ -268,6 +250,24 @@ input[readonly] {
color: #666;
}
input:disabled,
input.disabled,
textarea:disabled,
textarea.disabled {
-webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.04);
box-shadow: inset 0 1px 2px rgba(0,0,0,0.04);
border-color: rgba(222, 222, 222, .75);
background: rgba(255, 255, 255, .5);
color: rgba(51, 51, 51, .5);
}
input[type=checkbox]:disabled,
input[type=radio]:disabled,
input[type=checkbox]:disabled:checked:before,
input[type=radio]:disabled:checked:before {
opacity: 0.7;
}
/*------------------------------------------------------------------------------
2.0 - Forms
------------------------------------------------------------------------------*/

View File

@@ -75,24 +75,6 @@ input[type=radio] {
line-height: 10px;
}
input:disabled,
input.disabled,
textarea:disabled,
textarea.disabled {
-webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.04);
box-shadow: inset 0 1px 2px rgba(0,0,0,0.04);
border-color: rgba(222, 222, 222, .75);
background: rgba(255, 255, 255, .5);
color: rgba(51, 51, 51, .5);
}
input[type=checkbox]:disabled,
input[type=radio]:disabled,
input[type=checkbox]:disabled:checked:before,
input[type=radio]:disabled:checked:before {
opacity: 0.7;
}
input[type=checkbox]:checked:before,
input[type=radio]:checked:before {
float: left;
@@ -268,6 +250,24 @@ input[readonly] {
color: #666;
}
input:disabled,
input.disabled,
textarea:disabled,
textarea.disabled {
-webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.04);
box-shadow: inset 0 1px 2px rgba(0,0,0,0.04);
border-color: rgba(222, 222, 222, .75);
background: rgba(255, 255, 255, .5);
color: rgba(51, 51, 51, .5);
}
input[type=checkbox]:disabled,
input[type=radio]:disabled,
input[type=checkbox]:disabled:checked:before,
input[type=radio]:disabled:checked:before {
opacity: 0.7;
}
/*------------------------------------------------------------------------------
2.0 - Forms
------------------------------------------------------------------------------*/

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -40,7 +40,7 @@ class Custom_Image_Header {
* @since 3.0.0
* @access private
*/
var $default_headers;
var $default_headers = array();
/**
* Holds custom headers uploaded by the user.
@@ -254,7 +254,7 @@ class Custom_Image_Header {
if ( !isset($_wp_default_headers) )
return;
if ( is_array( $this->default_headers ) ) {
if ( ! empty( $this->default_headers ) ) {
return;
}

View File

@@ -19,7 +19,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
<h1><?php printf( __( 'Welcome to WordPress %s' ), $display_version ); ?></h1>
<div class="about-text"><?php printf( __( 'Thank you for updating to WordPress %s, the most beautiful WordPress&nbsp;yet.' ), $display_version ); ?></div>
<div class="about-text"><?php printf( __( 'Thank you for updating! WordPress %s has lots of refinements we think you&#8217;ll love.' ), $display_version ); ?></div>
<div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>

View File

@@ -2233,7 +2233,7 @@ function wp_ajax_query_themes() {
wp_send_json_error();
}
$update_php = self_admin_url( 'update.php?action=install-theme' );
$update_php = network_admin_url( 'update.php?action=install-theme' );
foreach ( $api->themes as &$theme ) {
$theme->install_url = add_query_arg( array(
'theme' => $theme->slug,

View File

@@ -309,8 +309,8 @@
api.HeaderControl = api.Control.extend({
ready: function() {
this.btnRemove = $('.actions .remove');
this.btnNew = $('.actions .new');
this.btnRemove = $('#customize-control-header_image .actions .remove');
this.btnNew = $('#customize-control-header_image .actions .new');
_.bindAll(this, 'openMedia', 'removeImage');

File diff suppressed because one or more lines are too long

View File

@@ -1025,7 +1025,7 @@ jQuery(document).ready( function($) {
if ( mce ) {
editor.focus();
toolbarHeight = $( '#wp-content-editor-container .mce-toolbar-grp' ).height();
toolbarHeight = parseInt( $( '#wp-content-editor-container .mce-toolbar-grp' ).height(), 10 );
if ( toolbarHeight < 10 || toolbarHeight > 200 ) {
toolbarHeight = 30;

File diff suppressed because one or more lines are too long

View File

@@ -7,11 +7,11 @@
* @since 3.1.0
*/
$menu[2] = array(__('Dashboard'), 'exist', 'index.php', '', 'menu-top menu-top-first menu-icon-dashboard', 'menu-dashboard', 'div');
$menu[2] = array(__('Dashboard'), 'exist', 'index.php', '', 'menu-top menu-top-first menu-icon-dashboard', 'menu-dashboard', 'dashicons-dashboard');
$menu[4] = array( '', 'exist', 'separator1', '', 'wp-menu-separator' );
$menu[70] = array( __('Profile'), 'exist', 'profile.php', '', 'menu-top menu-icon-users', 'menu-users', 'div' );
$menu[70] = array( __('Profile'), 'exist', 'profile.php', '', 'menu-top menu-icon-users', 'menu-users', 'dashicons-admin-users' );
$menu[99] = array( '', 'exist', 'separator-last', '', 'wp-menu-separator' );

View File

@@ -2,9 +2,9 @@
# This file is distributed under the GNU General Public License v2 or later.
msgid ""
msgstr ""
"Project-Id-Version: Twenty Eleven 1.7\n"
"Project-Id-Version: Twenty Eleven 1.8\n"
"Report-Msgid-Bugs-To: http://wordpress.org/tags/twentyeleven\n"
"POT-Creation-Date: 2014-03-18 19:16:24+00:00\n"
"POT-Creation-Date: 2014-04-16 18:26:59+00:00\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -431,11 +431,11 @@ msgid ""
"in <a href=\"%6$s\" title=\"Return to %7$s\" rel=\"gallery\">%8$s</a>"
msgstr ""
#: inc/theme-options.php:56 inc/theme-options.php:530
#: inc/theme-options.php:56 inc/theme-options.php:528
msgid "Color Scheme"
msgstr ""
#: inc/theme-options.php:62 inc/theme-options.php:547
#: inc/theme-options.php:62 inc/theme-options.php:545
msgid "Link Color"
msgstr ""
@@ -534,40 +534,40 @@ msgstr ""
msgid "%s Theme Options"
msgstr ""
#: inc/theme-options.php:554
#: inc/theme-options.php:552
msgid "Layout"
msgstr ""
#: inc/widgets.php:23
#: inc/widgets.php:21
msgid ""
"Use this widget to list your recent Aside, Status, Quote, and Link posts"
msgstr ""
#: inc/widgets.php:24
#: inc/widgets.php:22
msgid "Twenty Eleven Ephemera"
msgstr ""
#: inc/widgets.php:59
#: inc/widgets.php:56
msgid "Ephemera"
msgstr ""
#: inc/widgets.php:98 inc/widgets.php:107
#: inc/widgets.php:95 inc/widgets.php:104
msgid "0 <span class=\"reply\">comments &rarr;</span>"
msgstr ""
#: inc/widgets.php:98 inc/widgets.php:107
#: inc/widgets.php:95 inc/widgets.php:104
msgid "1 <span class=\"reply\">comment &rarr;</span>"
msgstr ""
#: inc/widgets.php:98 inc/widgets.php:107
#: inc/widgets.php:95 inc/widgets.php:104
msgid "% <span class=\"reply\">comments &rarr;</span>"
msgstr ""
#: inc/widgets.php:170
#: inc/widgets.php:167
msgid "Title:"
msgstr ""
#: inc/widgets.php:173
#: inc/widgets.php:170
msgid "Number of posts to show:"
msgstr ""

View File

@@ -4,7 +4,7 @@ Theme URI: http://wordpress.org/themes/twentyeleven
Author: the WordPress team
Author URI: http://wordpress.org/
Description: The 2011 theme for WordPress is sophisticated, lightweight, and adaptable. Make it yours with a custom menu, header image, and background -- then go further with available theme options for light or dark color scheme, custom link colors, and three layout choices. Twenty Eleven comes equipped with a Showcase page template that transforms your front page into a showcase to show off your best content, widget support galore (sidebar, three footer areas, and a Showcase page widget area), and a custom "Ephemera" widget to display your Aside, Link, Quote, or Status posts. Included are styles for print and for the admin editor, support for featured images (as custom header images on posts and pages and as large images on featured "sticky" posts), and special styles for six different post formats.
Version: 1.7
Version: 1.8
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: dark, light, white, black, gray, one-column, two-columns, left-sidebar, right-sidebar, fixed-layout, responsive-layout, custom-background, custom-colors, custom-header, custom-menu, editor-style, featured-image-header, featured-images, flexible-header, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, translation-ready

View File

@@ -2,9 +2,9 @@
# This file is distributed under the GNU General Public License v2 or later.
msgid ""
msgstr ""
"Project-Id-Version: Twenty Fourteen 1.0\n"
"Project-Id-Version: Twenty Fourteen 1.1\n"
"Report-Msgid-Bugs-To: http://wordpress.org/tags/twentyfourteen\n"
"POT-Creation-Date: 2014-03-18 19:16:26+00:00\n"
"POT-Creation-Date: 2014-04-16 18:29:37+00:00\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -85,19 +85,19 @@ msgstr ""
#: content-aside.php:37 content-audio.php:37 content-gallery.php:37
#: content-image.php:37 content-link.php:37 content-quote.php:37
#: content-video.php:37 content.php:38 inc/widgets.php:185
#: content-video.php:37 content.php:38 inc/widgets.php:194
msgid "Leave a comment"
msgstr ""
#: content-aside.php:37 content-audio.php:37 content-gallery.php:37
#: content-image.php:37 content-link.php:37 content-quote.php:37
#: content-video.php:37 content.php:38 inc/widgets.php:185
#: content-video.php:37 content.php:38 inc/widgets.php:194
msgid "1 Comment"
msgstr ""
#: content-aside.php:37 content-audio.php:37 content-gallery.php:37
#: content-image.php:37 content-link.php:37 content-quote.php:37
#: content-video.php:37 content.php:38 inc/widgets.php:185
#: content-video.php:37 content.php:38 inc/widgets.php:194
msgid "% Comments"
msgstr ""
@@ -110,7 +110,7 @@ msgstr ""
#: content-aside.php:46 content-audio.php:46 content-gallery.php:46
#: content-image.php:46 content-link.php:46 content-quote.php:46
#: content-video.php:46 content.php:54 inc/widgets.php:118 inc/widgets.php:163
#: content-video.php:46 content.php:54 inc/widgets.php:127 inc/widgets.php:172
msgid "Continue reading <span class=\"meta-nav\">&rarr;</span>"
msgstr ""
@@ -159,50 +159,50 @@ msgstr ""
msgid "Secondary menu in left sidebar"
msgstr ""
#: functions.php:175
#: functions.php:171
msgid "Primary Sidebar"
msgstr ""
#: functions.php:177
#: functions.php:173
msgid "Main sidebar that appears on the left."
msgstr ""
#: functions.php:184
#: functions.php:180
msgid "Content Sidebar"
msgstr ""
#: functions.php:186
#: functions.php:182
msgid "Additional sidebar that appears on the right."
msgstr ""
#: functions.php:193
#: functions.php:189
msgid "Footer Widget Area"
msgstr ""
#: functions.php:195
#: functions.php:191
msgid "Appears in the footer section of the site."
msgstr ""
#: functions.php:217
#: functions.php:213
msgctxt "Lato font: on or off"
msgid "on"
msgstr ""
#: functions.php:260
#: functions.php:254
msgid "Previous"
msgstr ""
#: functions.php:261
#: functions.php:255
msgid "Next"
msgstr ""
#: functions.php:384
#: functions.php:372
msgid "%d Article"
msgid_plural "%d Articles"
msgstr[0] ""
msgstr[1] ""
#: functions.php:500
#: functions.php:488
msgid "Page %s"
msgstr ""
@@ -226,7 +226,7 @@ msgstr ""
msgid "Next Image"
msgstr ""
#: inc/back-compat.php:41 inc/back-compat.php:53 inc/back-compat.php:68
#: inc/back-compat.php:37 inc/back-compat.php:47 inc/back-compat.php:60
msgid ""
"Twenty Fourteen requires at least WordPress version 3.6. You are running "
"version %s. Please upgrade and try again."
@@ -244,18 +244,18 @@ msgstr ""
msgid "Display Site Title &amp; Tagline"
msgstr ""
#: inc/customizer.php:35 inc/featured-content.php:411
#: inc/customizer.php:35 inc/featured-content.php:408
msgid "Featured Content"
msgstr ""
#: inc/customizer.php:36 inc/featured-content.php:412
#: inc/customizer.php:36 inc/featured-content.php:409
msgid ""
"Use a <a href=\"%1$s\">tag</a> to feature your posts. If no posts match the "
"tag, <a href=\"%2$s\">sticky posts</a> will be displayed instead."
msgstr ""
#: inc/customizer.php:37 inc/customizer.php:104 inc/featured-content.php:413
#: inc/featured-content.php:422 inc/featured-content.php:482
#: inc/customizer.php:37 inc/customizer.php:102 inc/featured-content.php:410
#: inc/featured-content.php:419 inc/featured-content.php:479
msgctxt "featured content default tag slug"
msgid "featured"
msgstr ""
@@ -274,20 +274,20 @@ msgstr ""
#. #-#-#-#-# twentyfourteen.pot (Twenty Fourteen 1.0) #-#-#-#-#
#. Theme Name of the plugin/theme
#: inc/customizer.php:101
#: inc/customizer.php:99
msgid "Twenty Fourteen"
msgstr ""
#: inc/customizer.php:104
#: inc/customizer.php:102
msgid ""
"The home page features your choice of up to 6 posts prominently displayed in "
"a grid or slider, controlled a <a href=\"%1$s\">tag</a>; you can change the "
"tag and layout in <a href=\"%2$s\">Appearance &rarr; Customize</a>. If no "
"posts match the tag, <a href=\"%3$s\">sticky posts</a> will be displayed "
"a grid or slider, controlled by a <a href=\"%1$s\">tag</a>; you can change "
"the tag and layout in <a href=\"%2$s\">Appearance &rarr; Customize</a>. If "
"no posts match the tag, <a href=\"%3$s\">sticky posts</a> will be displayed "
"instead."
msgstr ""
#: inc/customizer.php:105
#: inc/customizer.php:103
msgid ""
"Enhance your site design by using <a href=\"%s\">Featured Images</a> for "
"posts you&rsquo;d like to stand out (also known as post thumbnails). This "
@@ -296,110 +296,139 @@ msgid ""
"title&mdash;and in the Featured Content area on the home page."
msgstr ""
#: inc/customizer.php:106
#: inc/customizer.php:104
msgid ""
"For an in-depth tutorial, and more tips and tricks, visit the <a href=\"%s"
"\">Twenty Fourteen documentation</a>."
msgstr ""
#: inc/featured-content.php:434
#: inc/featured-content.php:431
msgid "Tag Name"
msgstr ""
#: inc/featured-content.php:439
#: inc/featured-content.php:436
msgid "Don&rsquo;t display tag on front end."
msgstr ""
#: inc/template-tags.php:47
#: inc/template-tags.php:45
msgid "&larr; Previous"
msgstr ""
#: inc/template-tags.php:48
#: inc/template-tags.php:46
msgid "Next &rarr;"
msgstr ""
#: inc/template-tags.php:55
#: inc/template-tags.php:53
msgid "Posts navigation"
msgstr ""
#: inc/template-tags.php:84
#: inc/template-tags.php:80
msgid "Post navigation"
msgstr ""
#: inc/template-tags.php:88
#: inc/template-tags.php:84
msgid "<span class=\"meta-nav\">Published In</span>%title"
msgstr ""
#: inc/template-tags.php:90
#: inc/template-tags.php:86
msgid "<span class=\"meta-nav\">Previous Post</span>%title"
msgstr ""
#: inc/template-tags.php:91
#: inc/template-tags.php:87
msgid "<span class=\"meta-nav\">Next Post</span>%title"
msgstr ""
#: inc/template-tags.php:110
#: inc/template-tags.php:104
msgid "Sticky"
msgstr ""
#: inc/widgets.php:44
#: inc/widgets.php:34
msgid "Twenty Fourteen Ephemera"
msgstr ""
#: inc/widgets.php:46
#: inc/widgets.php:36
msgid ""
"Use this widget to list your recent Aside, Quote, Video, Audio, Image, "
"Gallery, and Link posts."
msgstr ""
#: inc/widgets.php:53 taxonomy-post_format.php:30
msgid "Asides"
msgstr ""
#: inc/widgets.php:54 taxonomy-post_format.php:33
msgid "Images"
msgstr ""
#: inc/widgets.php:55 taxonomy-post_format.php:36
#: inc/widgets.php:55
msgid "More images"
msgstr ""
#: inc/widgets.php:58 taxonomy-post_format.php:36
msgid "Videos"
msgstr ""
#: inc/widgets.php:56 taxonomy-post_format.php:39
#: inc/widgets.php:59
msgid "More videos"
msgstr ""
#: inc/widgets.php:62 taxonomy-post_format.php:39
msgid "Audio"
msgstr ""
#: inc/widgets.php:57 taxonomy-post_format.php:42
#: inc/widgets.php:63
msgid "More audio"
msgstr ""
#: inc/widgets.php:66 taxonomy-post_format.php:42
msgid "Quotes"
msgstr ""
#: inc/widgets.php:58 taxonomy-post_format.php:45
#: inc/widgets.php:67
msgid "More quotes"
msgstr ""
#: inc/widgets.php:70 taxonomy-post_format.php:45
msgid "Links"
msgstr ""
#: inc/widgets.php:59 taxonomy-post_format.php:48
#: inc/widgets.php:71
msgid "More links"
msgstr ""
#: inc/widgets.php:74 taxonomy-post_format.php:48
msgid "Galleries"
msgstr ""
#: inc/widgets.php:153
#: inc/widgets.php:75
msgid "More galleries"
msgstr ""
#: inc/widgets.php:79 taxonomy-post_format.php:30
msgid "Asides"
msgstr ""
#: inc/widgets.php:80
msgid "More asides"
msgstr ""
#: inc/widgets.php:162
msgid "This gallery contains <a href=\"%1$s\" rel=\"bookmark\">%2$s photo</a>."
msgid_plural ""
"This gallery contains <a href=\"%1$s\" rel=\"bookmark\">%2$s photos</a>."
msgstr[0] ""
msgstr[1] ""
#: inc/widgets.php:194
msgid "More %s <span class=\"meta-nav\">&rarr;</span>"
#. translators: used with More archives link
#: inc/widgets.php:206
msgid "%s <span class=\"meta-nav\">&rarr;</span>"
msgstr ""
#: inc/widgets.php:242
#: inc/widgets.php:255
msgid "Title:"
msgstr ""
#: inc/widgets.php:245
#: inc/widgets.php:258
msgid "Number of posts to show:"
msgstr ""
#: inc/widgets.php:248
#: inc/widgets.php:261
msgid "Post format to show:"
msgstr ""

View File

@@ -4,7 +4,7 @@ Theme URI: http://wordpress.org/themes/twentyfourteen
Author: the WordPress team
Author URI: http://wordpress.org/
Description: In 2014, our default theme lets you create a responsive magazine website with a sleek, modern design. Feature your favorite homepage content in either a grid or a slider. Use the three widget areas to customize your website, and change your content's layout with a full-width page template and a contributor page to show off your authors. Creating a magazine website with WordPress has never been easier.
Version: 1.0
Version: 1.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: black, green, white, light, dark, two-columns, three-columns, left-sidebar, right-sidebar, fixed-layout, responsive-layout, custom-background, custom-header, custom-menu, editor-style, featured-images, flexible-header, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, translation-ready, accessibility-ready

View File

@@ -2,9 +2,9 @@
# This file is distributed under the GNU General Public License v2 or later.
msgid ""
msgstr ""
"Project-Id-Version: Twenty Thirteen 1.1\n"
"Project-Id-Version: Twenty Thirteen 1.2\n"
"Report-Msgid-Bugs-To: http://wordpress.org/tags/twentythirteen\n"
"POT-Creation-Date: 2014-03-18 19:16:26+00:00\n"
"POT-Creation-Date: 2014-04-16 18:28:45+00:00\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -179,71 +179,71 @@ msgctxt "Bitter font: on or off"
msgid "on"
msgstr ""
#: functions.php:220
#: functions.php:218
msgid "Page %s"
msgstr ""
#: functions.php:235
#: functions.php:231
msgid "Main Widget Area"
msgstr ""
#: functions.php:237
#: functions.php:233
msgid "Appears in the footer section of the site."
msgstr ""
#: functions.php:245
#: functions.php:241
msgid "Secondary Widget Area"
msgstr ""
#: functions.php:247
#: functions.php:243
msgid "Appears on posts and pages in the sidebar."
msgstr ""
#: functions.php:272
#: functions.php:266
msgid "Posts navigation"
msgstr ""
#: functions.php:276
#: functions.php:270
msgid "<span class=\"meta-nav\">&larr;</span> Older posts"
msgstr ""
#: functions.php:280
#: functions.php:274
msgid "Newer posts <span class=\"meta-nav\">&rarr;</span>"
msgstr ""
#: functions.php:308
#: functions.php:300
msgid "Post navigation"
msgstr ""
#: functions.php:311
#: functions.php:303
msgctxt "Previous post link"
msgid "<span class=\"meta-nav\">&larr;</span> %title"
msgstr ""
#: functions.php:312
#: functions.php:304
msgctxt "Next post link"
msgid "%title <span class=\"meta-nav\">&rarr;</span>"
msgstr ""
#: functions.php:332
#: functions.php:322
msgid "Sticky"
msgstr ""
#. Translators: used between list items, there is a space after the comma.
#: functions.php:338 functions.php:344
#: functions.php:328 functions.php:334
msgid ", "
msgstr ""
#: functions.php:353
#: functions.php:343
msgid "View all posts by %s"
msgstr ""
#: functions.php:373
#: functions.php:363
msgctxt "1: post format name. 2: date"
msgid "%1$s on %2$s"
msgstr ""
#: functions.php:379
#: functions.php:369
msgid "Permalink to %s"
msgstr ""
@@ -278,23 +278,23 @@ msgstr ""
msgid "Next <span class=\"meta-nav\">&rarr;</span>"
msgstr ""
#: inc/back-compat.php:41 inc/back-compat.php:53 inc/back-compat.php:68
#: inc/back-compat.php:37 inc/back-compat.php:47 inc/back-compat.php:60
msgid ""
"Twenty Thirteen requires at least WordPress version 3.6. You are running "
"version %s. Please upgrade and try again."
msgstr ""
#: inc/custom-header.php:51
#: inc/custom-header.php:49
msgctxt "header image description"
msgid "Circle"
msgstr ""
#: inc/custom-header.php:56
#: inc/custom-header.php:54
msgctxt "header image description"
msgid "Diamond"
msgstr ""
#: inc/custom-header.php:61
#: inc/custom-header.php:59
msgctxt "header image description"
msgid "Star"
msgstr ""

View File

@@ -4,7 +4,7 @@ Theme URI: http://wordpress.org/themes/twentythirteen
Author: the WordPress team
Author URI: http://wordpress.org/
Description: The 2013 theme for WordPress takes us back to the blog, featuring a full range of post formats, each displayed beautifully in their own unique way. Design details abound, starting with a vibrant color scheme and matching header images, beautiful typography and icons, and a flexible layout that looks great on any device, big or small.
Version: 1.1
Version: 1.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: black, brown, orange, tan, white, yellow, light, one-column, two-columns, right-sidebar, fluid-layout, responsive-layout, custom-header, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, translation-ready

View File

@@ -2,9 +2,9 @@
# This file is distributed under the GNU General Public License v2 or later.
msgid ""
msgstr ""
"Project-Id-Version: Twenty Twelve 1.3\n"
"Project-Id-Version: Twenty Twelve 1.4\n"
"Report-Msgid-Bugs-To: http://wordpress.org/tags/twentytwelve\n"
"POT-Creation-Date: 2014-03-18 19:16:25+00:00\n"
"POT-Creation-Date: 2014-04-16 18:27:55+00:00\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -109,7 +109,7 @@ msgstr ""
#: content-aside.php:26 content-image.php:26 content-link.php:24
#: content-page.php:24 content-quote.php:23 content-status.php:40
#: content.php:51 functions.php:349 image.php:37
#: content.php:51 functions.php:345 image.php:37
msgid "Edit"
msgstr ""
@@ -174,95 +174,95 @@ msgctxt "Open Sans font: add new subset (greek, cyrillic, vietnamese)"
msgid "no-subset"
msgstr ""
#: functions.php:215
#: functions.php:213
msgid "Page %s"
msgstr ""
#: functions.php:244
#: functions.php:242
msgid "Main Sidebar"
msgstr ""
#: functions.php:246
#: functions.php:244
msgid ""
"Appears on posts and pages except the optional Front Page template, which "
"has its own widgets"
msgstr ""
#: functions.php:254
#: functions.php:252
msgid "First Front Page Widget Area"
msgstr ""
#: functions.php:256 functions.php:266
#: functions.php:254 functions.php:264
msgid ""
"Appears when using the optional Front Page template with a page set as "
"Static Front Page"
msgstr ""
#: functions.php:264
#: functions.php:262
msgid "Second Front Page Widget Area"
msgstr ""
#: functions.php:288 single.php:20
#: functions.php:286 single.php:20
msgid "Post navigation"
msgstr ""
#: functions.php:289
#: functions.php:287
msgid "<span class=\"meta-nav\">&larr;</span> Older posts"
msgstr ""
#: functions.php:290
#: functions.php:288
msgid "Newer posts <span class=\"meta-nav\">&rarr;</span>"
msgstr ""
#: functions.php:317
#: functions.php:313
msgid "Pingback:"
msgstr ""
#: functions.php:317
#: functions.php:313
msgid "(Edit)"
msgstr ""
#: functions.php:332
#: functions.php:328
msgid "Post author"
msgstr ""
#. translators: 1: date, 2: time
#: functions.php:338
#: functions.php:334
msgid "%1$s at %2$s"
msgstr ""
#: functions.php:344
#: functions.php:340
msgid "Your comment is awaiting moderation."
msgstr ""
#: functions.php:353
#: functions.php:349
msgid "Reply"
msgstr ""
#. Translators: used between list items, there is a space after the comma.
#: functions.php:376 functions.php:379
#: functions.php:370 functions.php:373
msgid ", "
msgstr ""
#: functions.php:390
#: functions.php:384
msgid "View all posts by %s"
msgstr ""
#. Translators: 1 is category, 2 is tag, 3 is the date and 4 is the author's
#. name.
#: functions.php:396
#: functions.php:390
msgid ""
"This entry was posted in %1$s and tagged %2$s on %3$s<span class=\"by-author"
"\"> by %4$s</span>."
msgstr ""
#: functions.php:398
#: functions.php:392
msgid ""
"This entry was posted in %1$s on %3$s<span class=\"by-author\"> by %4$s</"
"span>."
msgstr ""
#: functions.php:400
#: functions.php:394
msgid "This entry was posted on %3$s<span class=\"by-author\"> by %4$s</span>."
msgstr ""

View File

@@ -4,7 +4,7 @@ Theme URI: http://wordpress.org/themes/twentytwelve
Author: the WordPress team
Author URI: http://wordpress.org/
Description: The 2012 theme for WordPress is a fully responsive theme that looks great on any device. Features include a front page template with its own widgets, an optional display font, styling for post formats on both index and single views, and an optional no-sidebar page template. Make it yours with a custom menu, header image, and background.
Version: 1.3
Version: 1.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: light, gray, white, one-column, two-columns, right-sidebar, fluid-layout, responsive-layout, custom-background, custom-header, custom-menu, editor-style, featured-images, flexible-header, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, translation-ready

View File

@@ -519,11 +519,12 @@ class getid3_lib
}
public static function XML2array($XMLstring) {
if (function_exists('simplexml_load_string')) {
if (function_exists('get_object_vars')) {
$XMLobject = simplexml_load_string($XMLstring);
return self::SimpleXMLelement2array($XMLobject);
}
if ( function_exists( 'simplexml_load_string' ) && function_exists( 'libxml_disable_entity_loader' ) ) {
$loader = libxml_disable_entity_loader( true );
$XMLobject = simplexml_load_string( $XMLstring, 'SimpleXMLElement', LIBXML_NOENT );
$return = self::SimpleXMLelement2array( $XMLobject );
libxml_disable_entity_loader( $loader );
return $return;
}
return false;
}

View File

@@ -203,11 +203,37 @@ class IXR_Message
{
// first remove the XML declaration
// merged from WP #10698 - this method avoids the RAM usage of preg_replace on very large messages
$header = preg_replace( '/<\?xml.*?\?'.'>/', '', substr($this->message, 0, 100), 1);
$this->message = substr_replace($this->message, $header, 0, 100);
if (trim($this->message) == '') {
$header = preg_replace( '/<\?xml.*?\?'.'>/s', '', substr( $this->message, 0, 100 ), 1 );
$this->message = trim( substr_replace( $this->message, $header, 0, 100 ) );
if ( '' == $this->message ) {
return false;
}
// Then remove the DOCTYPE
$header = preg_replace( '/^<!DOCTYPE[^>]*+>/i', '', substr( $this->message, 0, 200 ), 1 );
$this->message = trim( substr_replace( $this->message, $header, 0, 200 ) );
if ( '' == $this->message ) {
return false;
}
// Check that the root tag is valid
$root_tag = substr( $this->message, 0, strcspn( substr( $this->message, 0, 20 ), "> \t\r\n" ) );
if ( '<!DOCTYPE' === strtoupper( $root_tag ) ) {
return false;
}
if ( ! in_array( $root_tag, array( '<methodCall', '<methodResponse', '<fault' ) ) ) {
return false;
}
// Bail if there are too many elements to parse
$element_limit = 30000;
if ( function_exists( 'apply_filters' ) ) {
$element_limit = apply_filters( 'xmlrpc_element_limit', $element_limit );
}
if ( $element_limit && 2 * $element_limit < substr_count( $this->message, '<' ) ) {
return false;
}
$this->_parser = xml_parser_create();
// Set XML parser to take the case of tags in to account
xml_parser_set_option($this->_parser, XML_OPTION_CASE_FOLDING, false);

View File

@@ -1119,22 +1119,19 @@ final class WP_Customize_Widgets {
}
/**
* Get a widget instance's hash key.
* Get MAC for a serialized widget instance string.
*
* Serialize an instance and hash it with the AUTH_KEY; when a JS value is
* posted back to save, this instance hash key is used to ensure that the
* serialized_instance was not tampered with, but that it had originated
* from WordPress and so is sanitized.
* Allows values posted back from JS to be rejected if any tampering of the
* data has occurred.
*
* @since 3.9.0
* @access protected
*
* @param array $instance Widget instance.
* @return string Widget instance's hash key.
* @param string $serialized_instance Widget instance.
* @return string MAC for serialized widget instance.
*/
protected function get_instance_hash_key( $instance ) {
$hash = md5( AUTH_KEY . serialize( $instance ) );
return $hash;
protected function get_instance_hash_key( $serialized_instance ) {
return wp_hash( $serialized_instance );
}
/**
@@ -1162,18 +1159,19 @@ final class WP_Customize_Widgets {
}
$decoded = base64_decode( $value['encoded_serialized_instance'], true );
if ( false === $decoded ) {
return null;
}
$instance = unserialize( $decoded );
if ( $this->get_instance_hash_key( $decoded ) !== $value['instance_hash_key'] ) {
return null;
}
$instance = unserialize( $decoded );
if ( false === $instance ) {
return null;
}
if ( $this->get_instance_hash_key( $instance ) !== $value['instance_hash_key'] ) {
return null;
}
return $instance;
}
@@ -1194,7 +1192,7 @@ final class WP_Customize_Widgets {
'encoded_serialized_instance' => base64_encode( $serialized ),
'title' => empty( $value['title'] ) ? '' : $value['title'],
'is_widget_customizer_js_value' => true,
'instance_hash_key' => $this->get_instance_hash_key( $value ),
'instance_hash_key' => $this->get_instance_hash_key( $serialized ),
);
}
return $value;

View File

@@ -241,11 +241,11 @@ final class _WP_Editors {
if ( empty(self::$first_init) ) {
if ( is_admin() ) {
add_action( 'admin_print_footer_scripts', array( __CLASS__, 'editor_js'), 50 );
add_action( 'admin_footer', array( __CLASS__, 'enqueue_scripts'), 1 );
add_action( 'admin_print_footer_scripts', array( __CLASS__, 'editor_js' ), 50 );
add_action( 'admin_print_footer_scripts', array( __CLASS__, 'enqueue_scripts' ), 1 );
} else {
add_action( 'wp_print_footer_scripts', array( __CLASS__, 'editor_js'), 50 );
add_action( 'wp_footer', array( __CLASS__, 'enqueue_scripts'), 1 );
add_action( 'wp_print_footer_scripts', array( __CLASS__, 'editor_js' ), 50 );
add_action( 'wp_print_footer_scripts', array( __CLASS__, 'enqueue_scripts' ), 1 );
}
}

View File

@@ -94,3 +94,32 @@ if ( !function_exists('json_decode') ) {
return is_array($data) ? array_map(__FUNCTION__, $data) : $data;
}
}
if ( ! function_exists( 'hash_equals' ) ) :
/**
* Compare two strings in constant time.
*
* This function was added in PHP 5.6.
* It can leak the length of a string.
*
* @since 3.9.2
*
* @param string $a Expected string.
* @param string $b Actual string.
* @return bool Whether strings are equal.
*/
function hash_equals( $a, $b ) {
$a_length = strlen( $a );
if ( $a_length !== strlen( $b ) ) {
return false;
}
$result = 0;
// Do not attempt to "optimize" this.
for ( $i = 0; $i < $a_length; $i++ ) {
$result |= ord( $a[ $i ] ) ^ ord( $b[ $i ] );
}
return $result === 0;
}
endif;

View File

@@ -279,6 +279,10 @@ div.mce-path {
border-color: #bbb;
}
.mce-toolbar .mce-btn-group .mce-btn.mce-listbox span {
font-size: 13px;
}
.mce-panel .mce-btn i.mce-caret {
border-top: 6px solid #777;
margin-right: 2px;

File diff suppressed because one or more lines are too long

View File

@@ -279,6 +279,10 @@ div.mce-path {
border-color: #bbb;
}
.mce-toolbar .mce-btn-group .mce-btn.mce-listbox span {
font-size: 13px;
}
.mce-panel .mce-btn i.mce-caret {
border-top: 6px solid #777;
margin-left: 2px;

File diff suppressed because one or more lines are too long

View File

@@ -1781,7 +1781,8 @@
margin-top: 24px;
}
.media-embed .setting input.hidden {
.media-embed .setting input.hidden,
.media-embed .setting textarea.hidden {
display: none;
}

File diff suppressed because one or more lines are too long

View File

@@ -1781,7 +1781,8 @@
margin-top: 24px;
}
.media-embed .setting input.hidden {
.media-embed .setting input.hidden,
.media-embed .setting textarea.hidden {
display: none;
}

File diff suppressed because one or more lines are too long

View File

@@ -732,7 +732,7 @@ class WP_Widget_Recent_Posts extends WP_Widget {
$cache[ $args['widget_id'] ] = ob_get_flush();
wp_cache_set( 'widget_recent_posts', $cache, 'widget' );
} else {
ob_flush();
ob_end_flush();
}
}
@@ -1348,11 +1348,12 @@ class WP_Widget_Tag_Cloud extends WP_Widget {
<p>
<label for="<?php echo $this->get_field_id('nav_menu'); ?>"><?php _e('Select Menu:'); ?></label>
<select id="<?php echo $this->get_field_id('nav_menu'); ?>" name="<?php echo $this->get_field_name('nav_menu'); ?>">
<option value="0"><?php _e( '&mdash; Select &mdash;' ) ?></option>
<?php
foreach ( $menus as $menu ) {
echo '<option value="' . $menu->term_id . '"'
. selected( $nav_menu, $menu->term_id, false )
. '>'. $menu->name . '</option>';
. '>'. esc_html( $menu->name ) . '</option>';
}
?>
</select>

View File

@@ -113,6 +113,10 @@
return false;
}
if (this.get('imageWidth') <= this.get('themeWidth')) {
return false;
}
return true;
}
});

View File

@@ -1 +1 @@
!function(a,b){var c=b.customize;c.HeaderTool={},c.HeaderTool.ImageModel=Backbone.Model.extend({defaults:function(){return{header:{attachment_id:0,url:"",timestamp:_.now(),thumbnail_url:""},choice:"",selected:!1,random:!1}},initialize:function(){this.on("hide",this.hide,this)},hide:function(){this.set("choice",""),c("header_image").set("remove-header"),c("header_image_data").set("remove-header")},destroy:function(){var a=this.get("header"),d=c.HeaderTool.currentHeader.get("header").attachment_id;d&&a.attachment_id===d&&c.HeaderTool.currentHeader.trigger("hide"),b.ajax.post("custom-header-remove",{nonce:_wpCustomizeHeader.nonces.remove,wp_customize:"on",theme:c.settings.theme.stylesheet,attachment_id:a.attachment_id}),this.trigger("destroy",this,this.collection)},save:function(){this.get("random")?(c("header_image").set(this.get("header").random),c("header_image_data").set(this.get("header").random)):this.get("header").defaultName?(c("header_image").set(this.get("header").url),c("header_image_data").set(this.get("header").defaultName)):(c("header_image").set(this.get("header").url),c("header_image_data").set(this.get("header"))),c.HeaderTool.combinedList.trigger("control:setImage",this)},importImage:function(){var a=this.get("header");void 0!==a.attachment_id&&b.ajax.post("custom-header-add",{nonce:_wpCustomizeHeader.nonces.add,wp_customize:"on",theme:c.settings.theme.stylesheet,attachment_id:a.attachment_id})},shouldBeCropped:function(){return this.get("themeFlexWidth")===!0&&this.get("themeFlexHeight")===!0?!1:this.get("themeFlexWidth")===!0&&this.get("themeHeight")===this.get("imageHeight")?!1:this.get("themeFlexHeight")===!0&&this.get("themeWidth")===this.get("imageWidth")?!1:this.get("themeWidth")===this.get("imageWidth")&&this.get("themeHeight")===this.get("imageHeight")?!1:!0}}),c.HeaderTool.ChoiceList=Backbone.Collection.extend({model:c.HeaderTool.ImageModel,comparator:function(a){return-a.get("header").timestamp},initialize:function(){var a=c.HeaderTool.currentHeader.get("choice").replace(/^https?:\/\//,""),b=this.isRandomChoice(c.get().header_image);this.type||(this.type="uploaded"),"undefined"==typeof this.data&&(this.data=_wpCustomizeHeader.uploads),b&&(a=c.get().header_image),this.on("control:setImage",this.setImage,this),this.on("control:removeImage",this.removeImage,this),this.on("add",this.maybeAddRandomChoice,this),_.each(this.data,function(b,c){b.attachment_id||(b.defaultName=c),"undefined"==typeof b.timestamp&&(b.timestamp=0),this.add({header:b,choice:b.url.split("/").pop(),selected:a===b.url.replace(/^https?:\/\//,"")},{silent:!0})},this),this.size()>0&&this.addRandomChoice(a)},maybeAddRandomChoice:function(){1===this.size()&&this.addRandomChoice()},addRandomChoice:function(a){var b=RegExp(this.type).test(a),c="random-"+this.type+"-image";this.add({header:{timestamp:0,random:c,width:245,height:41},choice:c,random:!0,selected:b})},isRandomChoice:function(a){return/^random-(uploaded|default)-image$/.test(a)},shouldHideTitle:function(){return this.size()<2},setImage:function(a){this.each(function(a){a.set("selected",!1)}),a&&a.set("selected",!0)},removeImage:function(){this.each(function(a){a.set("selected",!1)})}}),c.HeaderTool.DefaultsList=c.HeaderTool.ChoiceList.extend({initialize:function(){this.type="default",this.data=_wpCustomizeHeader.defaults,c.HeaderTool.ChoiceList.prototype.initialize.apply(this)}})}(jQuery,window.wp);
!function(a,b){var c=b.customize;c.HeaderTool={},c.HeaderTool.ImageModel=Backbone.Model.extend({defaults:function(){return{header:{attachment_id:0,url:"",timestamp:_.now(),thumbnail_url:""},choice:"",selected:!1,random:!1}},initialize:function(){this.on("hide",this.hide,this)},hide:function(){this.set("choice",""),c("header_image").set("remove-header"),c("header_image_data").set("remove-header")},destroy:function(){var a=this.get("header"),d=c.HeaderTool.currentHeader.get("header").attachment_id;d&&a.attachment_id===d&&c.HeaderTool.currentHeader.trigger("hide"),b.ajax.post("custom-header-remove",{nonce:_wpCustomizeHeader.nonces.remove,wp_customize:"on",theme:c.settings.theme.stylesheet,attachment_id:a.attachment_id}),this.trigger("destroy",this,this.collection)},save:function(){this.get("random")?(c("header_image").set(this.get("header").random),c("header_image_data").set(this.get("header").random)):this.get("header").defaultName?(c("header_image").set(this.get("header").url),c("header_image_data").set(this.get("header").defaultName)):(c("header_image").set(this.get("header").url),c("header_image_data").set(this.get("header"))),c.HeaderTool.combinedList.trigger("control:setImage",this)},importImage:function(){var a=this.get("header");void 0!==a.attachment_id&&b.ajax.post("custom-header-add",{nonce:_wpCustomizeHeader.nonces.add,wp_customize:"on",theme:c.settings.theme.stylesheet,attachment_id:a.attachment_id})},shouldBeCropped:function(){return this.get("themeFlexWidth")===!0&&this.get("themeFlexHeight")===!0?!1:this.get("themeFlexWidth")===!0&&this.get("themeHeight")===this.get("imageHeight")?!1:this.get("themeFlexHeight")===!0&&this.get("themeWidth")===this.get("imageWidth")?!1:this.get("themeWidth")===this.get("imageWidth")&&this.get("themeHeight")===this.get("imageHeight")?!1:this.get("imageWidth")<=this.get("themeWidth")?!1:!0}}),c.HeaderTool.ChoiceList=Backbone.Collection.extend({model:c.HeaderTool.ImageModel,comparator:function(a){return-a.get("header").timestamp},initialize:function(){var a=c.HeaderTool.currentHeader.get("choice").replace(/^https?:\/\//,""),b=this.isRandomChoice(c.get().header_image);this.type||(this.type="uploaded"),"undefined"==typeof this.data&&(this.data=_wpCustomizeHeader.uploads),b&&(a=c.get().header_image),this.on("control:setImage",this.setImage,this),this.on("control:removeImage",this.removeImage,this),this.on("add",this.maybeAddRandomChoice,this),_.each(this.data,function(b,c){b.attachment_id||(b.defaultName=c),"undefined"==typeof b.timestamp&&(b.timestamp=0),this.add({header:b,choice:b.url.split("/").pop(),selected:a===b.url.replace(/^https?:\/\//,"")},{silent:!0})},this),this.size()>0&&this.addRandomChoice(a)},maybeAddRandomChoice:function(){1===this.size()&&this.addRandomChoice()},addRandomChoice:function(a){var b=RegExp(this.type).test(a),c="random-"+this.type+"-image";this.add({header:{timestamp:0,random:c,width:245,height:41},choice:c,random:!0,selected:b})},isRandomChoice:function(a){return/^random-(uploaded|default)-image$/.test(a)},shouldHideTitle:function(){return this.size()<2},setImage:function(a){this.each(function(a){a.set("selected",!1)}),a&&a.set("selected",!0)},removeImage:function(){this.each(function(a){a.set("selected",!1)})}}),c.HeaderTool.DefaultsList=c.HeaderTool.ChoiceList.extend({initialize:function(){this.type="default",this.data=_wpCustomizeHeader.defaults,c.HeaderTool.ChoiceList.prototype.initialize.apply(this)}})}(jQuery,window.wp);

View File

@@ -70,7 +70,7 @@
},
setButtons: function() {
var elements = $('.actions .remove');
var elements = $('#customize-control-header_image .actions .remove');
if (this.model.get('choice')) {
elements.show();
} else {

View File

@@ -1 +1 @@
!function(a,b,c){if(b&&b.customize){var d=b.customize;d.HeaderTool.CurrentView=b.Backbone.View.extend({template:b.template("header-current"),initialize:function(){this.listenTo(this.model,"change",this.render),this.render()},render:function(){return this.$el.html(this.template(this.model.toJSON())),this.setPlaceholder(),this.setButtons(),this},getHeight:function(){var a,b,c,e=this.$el.find("img");return e.length?(this.$el.find(".inner").hide(),a=this.model.get("savedHeight"),b=e.height()||a,b||(c=d.get().header_image_data,b=c&&c.width&&c.height?260/c.width*c.height:40),b):(this.$el.find(".inner").show(),40)},setPlaceholder:function(a){var b=a||this.getHeight();this.model.set("savedHeight",b),this.$el.add(this.$el.find(".placeholder")).height(b)},setButtons:function(){var b=a(".actions .remove");this.model.get("choice")?b.show():b.hide()}}),d.HeaderTool.ChoiceView=b.Backbone.View.extend({template:b.template("header-choice"),className:"header-view",events:{"click .choice,.random":"select","click .close":"removeImage"},initialize:function(){var a=[this.model.get("header").url,this.model.get("choice")];this.listenTo(this.model,"change:selected",this.toggleSelected),c.contains(a,d.get().header_image)&&d.HeaderTool.currentHeader.set(this.extendedModel())},render:function(){return this.$el.html(this.template(this.extendedModel())),this.toggleSelected(),this},toggleSelected:function(){this.$el.toggleClass("selected",this.model.get("selected"))},extendedModel:function(){var a=this.model.get("collection");return c.extend(this.model.toJSON(),{type:a.type})},getHeight:d.HeaderTool.CurrentView.prototype.getHeight,setPlaceholder:d.HeaderTool.CurrentView.prototype.setPlaceholder,select:function(){this.preventJump(),this.model.save(),d.HeaderTool.currentHeader.set(this.extendedModel())},preventJump:function(){var b=a(".wp-full-overlay-sidebar-content"),d=b.scrollTop();c.defer(function(){b.scrollTop(d)})},removeImage:function(a){a.stopPropagation(),this.model.destroy(),this.remove()}}),d.HeaderTool.ChoiceListView=b.Backbone.View.extend({initialize:function(){this.listenTo(this.collection,"add",this.addOne),this.listenTo(this.collection,"remove",this.render),this.listenTo(this.collection,"sort",this.render),this.listenTo(this.collection,"change",this.toggleList),this.render()},render:function(){this.$el.empty(),this.collection.each(this.addOne,this),this.toggleList()},addOne:function(a){var b;a.set({collection:this.collection}),b=new d.HeaderTool.ChoiceView({model:a}),this.$el.append(b.render().el)},toggleList:function(){var a=this.$el.parents().prev(".customize-control-title"),b=this.$el.find(".random").parent();this.collection.shouldHideTitle()?a.add(b).hide():a.add(b).show()}}),d.HeaderTool.CombinedList=b.Backbone.View.extend({initialize:function(a){this.collections=a,this.on("all",this.propagate,this)},propagate:function(a,b){c.each(this.collections,function(c){c.trigger(a,b)})}})}}(jQuery,window.wp,_);
!function(a,b,c){if(b&&b.customize){var d=b.customize;d.HeaderTool.CurrentView=b.Backbone.View.extend({template:b.template("header-current"),initialize:function(){this.listenTo(this.model,"change",this.render),this.render()},render:function(){return this.$el.html(this.template(this.model.toJSON())),this.setPlaceholder(),this.setButtons(),this},getHeight:function(){var a,b,c,e=this.$el.find("img");return e.length?(this.$el.find(".inner").hide(),a=this.model.get("savedHeight"),b=e.height()||a,b||(c=d.get().header_image_data,b=c&&c.width&&c.height?260/c.width*c.height:40),b):(this.$el.find(".inner").show(),40)},setPlaceholder:function(a){var b=a||this.getHeight();this.model.set("savedHeight",b),this.$el.add(this.$el.find(".placeholder")).height(b)},setButtons:function(){var b=a("#customize-control-header_image .actions .remove");this.model.get("choice")?b.show():b.hide()}}),d.HeaderTool.ChoiceView=b.Backbone.View.extend({template:b.template("header-choice"),className:"header-view",events:{"click .choice,.random":"select","click .close":"removeImage"},initialize:function(){var a=[this.model.get("header").url,this.model.get("choice")];this.listenTo(this.model,"change:selected",this.toggleSelected),c.contains(a,d.get().header_image)&&d.HeaderTool.currentHeader.set(this.extendedModel())},render:function(){return this.$el.html(this.template(this.extendedModel())),this.toggleSelected(),this},toggleSelected:function(){this.$el.toggleClass("selected",this.model.get("selected"))},extendedModel:function(){var a=this.model.get("collection");return c.extend(this.model.toJSON(),{type:a.type})},getHeight:d.HeaderTool.CurrentView.prototype.getHeight,setPlaceholder:d.HeaderTool.CurrentView.prototype.setPlaceholder,select:function(){this.preventJump(),this.model.save(),d.HeaderTool.currentHeader.set(this.extendedModel())},preventJump:function(){var b=a(".wp-full-overlay-sidebar-content"),d=b.scrollTop();c.defer(function(){b.scrollTop(d)})},removeImage:function(a){a.stopPropagation(),this.model.destroy(),this.remove()}}),d.HeaderTool.ChoiceListView=b.Backbone.View.extend({initialize:function(){this.listenTo(this.collection,"add",this.addOne),this.listenTo(this.collection,"remove",this.render),this.listenTo(this.collection,"sort",this.render),this.listenTo(this.collection,"change",this.toggleList),this.render()},render:function(){this.$el.empty(),this.collection.each(this.addOne,this),this.toggleList()},addOne:function(a){var b;a.set({collection:this.collection}),b=new d.HeaderTool.ChoiceView({model:a}),this.$el.append(b.render().el)},toggleList:function(){var a=this.$el.parents().prev(".customize-control-title"),b=this.$el.find(".random").parent();this.collection.shouldHideTitle()?a.add(b).hide():a.add(b).show()}}),d.HeaderTool.CombinedList=b.Backbone.View.extend({initialize:function(a){this.collections=a,this.on("all",this.propagate,this)},propagate:function(a,b){c.each(this.collections,function(c){c.trigger(a,b)})}})}}(jQuery,window.wp,_);

View File

@@ -451,10 +451,6 @@ window.wp = window.wp || {};
firefox = this.ua.is( 'ff' ),
className = '.wp-' + this.shortcode.tag + '-shortcode';
if ( this.player ) {
this.unsetPlayer();
}
media = $( node ).find( className );
if ( ! this.isCompatible( media ) ) {
@@ -487,20 +483,17 @@ window.wp = window.wp || {};
* @returns {string}
*/
getHtml: function() {
var attrs = _.defaults(
this.shortcode.attrs.named,
wp.media[ this.shortcode.tag ].defaults
);
return this.template({ model: attrs });
var attrs = this.shortcode.attrs.named;
attrs.content = this.shortcode.content;
return this.template({ model: _.defaults(
attrs,
wp.media[ this.shortcode.tag ].defaults )
});
},
unbind: function() {
var self = this;
this.pauseAllPlayers();
_.each( this.players, function (player) {
self.removePlayer( player );
} );
this.players = [];
this.unsetPlayers();
}
});
_.extend( wp.mce.media.View.prototype, wp.media.mixin );
@@ -547,22 +540,10 @@ window.wp = window.wp || {};
template: media.template('editor-playlist'),
initialize: function( options ) {
this.players = [];
this.data = {};
this.attachments = [];
this.shortcode = options.shortcode;
_.bindAll( this, 'setPlayer' );
$(this).on('ready', this.setNode);
},
/**
* Set the element context for the view, and then fetch the playlist's
* associated attachments.
*
* @param {Event} e
* @param {HTMLElement} node
*/
setNode: function(e, node) {
this.node = node;
this.fetch();
},
@@ -571,7 +552,7 @@ window.wp = window.wp || {};
*/
fetch: function() {
this.attachments = wp.media.playlist.attachments( this.shortcode );
this.attachments.more().done( this.setPlayer );
this.dfd = this.attachments.more().done( _.bind( this.render, this ) );
},
/**
@@ -582,36 +563,31 @@ window.wp = window.wp || {};
* @global WPPlaylistView
* @global tinymce.editors
*/
setPlayer: function() {
var p,
html = this.getHtml(),
t = this.encodedText,
self = this;
this.unsetPlayer();
render: function() {
var html = this.getHtml(), self = this;
_.each( tinymce.editors, function( editor ) {
var doc;
if ( editor.plugins.wpview ) {
doc = editor.getDoc();
$( doc ).find( '[data-wpview-text="' + t + '"]' ).each(function(i, elem) {
$( doc ).find( '[data-wpview-text="' + this.encodedText + '"]' ).each(function (i, elem) {
var node = $( elem );
node.html( html );
self.node = elem;
// The <ins> is used to mark the end of the wrapper div. Needed when comparing
// the content as string for preventing extra undo levels.
node.html( html ).append( '<ins data-wpview-end="1"></ins>' );
if ( ! self.data.tracks ) {
return;
}
self.players.push( new WPPlaylistView({
el: $( elem ).find( '.wp-playlist' ).get(0),
metadata: self.data
}).player );
});
}
}, this );
if ( ! this.data.tracks ) {
return;
}
p = new WPPlaylistView({
el: $( self.node ).find( '.wp-playlist' ).get(0),
metadata: this.data
});
this.player = p._player;
},
/**
@@ -695,6 +671,10 @@ window.wp = window.wp || {};
this.data = options;
return this.template( options );
},
unbind: function() {
this.unsetPlayers();
}
});
_.extend( wp.mce.media.PlaylistView.prototype, wp.media.mixin );

File diff suppressed because one or more lines are too long

View File

@@ -162,11 +162,13 @@
*
* Examples: modal closes, shortcode properties are removed, etc.
*/
unsetPlayer : function() {
if ( this.player ) {
unsetPlayers : function() {
if ( this.players && this.players.length ) {
wp.media.mixin.pauseAllPlayers();
wp.media.mixin.removePlayer( this.player );
this.player = false;
_.each( this.players, function (player) {
wp.media.mixin.removePlayer( player );
} );
this.players = [];
}
}
};
@@ -705,10 +707,10 @@
media.view.MediaDetails = media.view.Settings.AttachmentDisplay.extend({
initialize: function() {
_.bindAll(this, 'success');
this.listenTo( this.controller, 'close', media.mixin.unsetPlayer );
this.players = [];
this.listenTo( this.controller, 'close', media.mixin.unsetPlayers );
this.on( 'ready', this.setPlayer );
this.on( 'media:setting:remove', media.mixin.unsetPlayer, this );
this.on( 'media:setting:remove', media.mixin.unsetPlayers, this );
this.on( 'media:setting:remove', this.render );
this.on( 'media:setting:remove', this.setPlayer );
this.events = _.extend( this.events, {
@@ -764,8 +766,8 @@
* @global MediaElementPlayer
*/
setPlayer : function() {
if ( ! this.player && this.media ) {
this.player = new MediaElementPlayer( this.media, this.settings );
if ( ! this.players.length && this.media ) {
this.players.push( new MediaElementPlayer( this.media, this.settings ) );
}
},

File diff suppressed because one or more lines are too long

View File

@@ -2175,7 +2175,7 @@
library: options.selection,
editing: options.editing,
menu: 'video-playlist',
dragInfoText: l10n.playlistDragInfo,
dragInfoText: l10n.videoPlaylistDragInfo,
dragInfo: false
}),
@@ -3270,6 +3270,7 @@
localDrag: false,
overContainer: false,
overDropzone: false,
draggingFile: null,
initialize: function() {
var self = this;
@@ -3309,6 +3310,21 @@
return supports;
},
isDraggingFile: function( event ) {
if ( this.draggingFile !== null ) {
return this.draggingFile;
}
if ( _.isUndefined( event.originalEvent ) || _.isUndefined( event.originalEvent.dataTransfer ) ) {
return false;
}
this.draggingFile = _.indexOf( event.originalEvent.dataTransfer.types, 'Files' ) > -1 &&
_.indexOf( event.originalEvent.dataTransfer.types, 'text/plain' ) === -1;
return this.draggingFile;
},
refresh: function( e ) {
var dropzone_id;
for ( dropzone_id in this.dropzones ) {
@@ -3320,6 +3336,10 @@
$( e.target ).closest( '.uploader-editor' ).toggleClass( 'droppable', this.overDropzone );
}
if ( ! this.overContainer && ! this.overDropzone ) {
this.draggingFile = null;
}
return this;
},
@@ -3383,8 +3403,8 @@
return this;
},
containerDragover: function() {
if ( this.localDrag ) {
containerDragover: function( event ) {
if ( this.localDrag || ! this.isDraggingFile( event ) ) {
return;
}
@@ -3399,13 +3419,13 @@
_.delay( _.bind( this.refresh, this ), 50 );
},
dropzoneDragover: function( e ) {
if ( this.localDrag ) {
dropzoneDragover: function( event ) {
if ( this.localDrag || ! this.isDraggingFile( event ) ) {
return;
}
this.overDropzone = true;
this.refresh( e );
this.refresh( event );
return false;
},

File diff suppressed because one or more lines are too long

View File

@@ -28,6 +28,10 @@
width: auto;
}
.media-embed-details .embed-media-settings .checkbox-setting span {
display: inline-block;
}
.media-embed-details .embed-media-settings {
padding-top: 0;
top: 28px;
@@ -50,8 +54,8 @@
}
.media-embed-details .embed-media-settings .checkbox-setting {
width: 100px;
clear: none;
float: none;
margin: 0 0 10px;
}
.video-details .wp-video-holder {
@@ -98,6 +102,7 @@
}
.wp-playlist-caption {
display: block;
max-width: 88%;
overflow: hidden;
text-overflow: ellipsis;
@@ -109,6 +114,8 @@
.wp-playlist-item .wp-playlist-caption {
text-decoration: none;
color: #000;
max-width: -webkit-calc(100% - 40px);
max-width: calc(100% - 40px);
}
.wp-playlist-item-meta {
@@ -142,6 +149,11 @@
line-height: 1.5;
}
.rtl .wp-playlist-item-length {
left: 3px;
right: auto;
}
.wp-playlist-tracks {
margin-top: 10px;
}
@@ -195,9 +207,19 @@
border: 0;
}
.rtl .wp-playlist .wp-playlist-current-item img {
float: right;
margin-left: 10px;
margin-right: 0;
}
.wp-playlist-current-item .wp-playlist-item-title,
.wp-playlist-current-item .wp-playlist-item-artist {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.wp-audio-playlist .me-cannotplay span {
padding: 5px 15px;
}

View File

@@ -7,6 +7,7 @@
initialize : function (options) {
this.index = 0;
this.settings = {};
this.compatMode = $( 'body' ).hasClass( 'wp-admin' ) && $( '#content_ifr' ).length;
this.data = options.metadata || $.parseJSON( this.$('script').html() );
this.playerNode = this.$( this.data.type );
@@ -26,7 +27,9 @@
this.renderTracks();
}
this.playerNode.attr( 'src', this.current.get( 'src' ) );
if ( this.isCompatibleSrc() ) {
this.playerNode.attr( 'src', this.current.get( 'src' ) );
}
_.bindAll( this, 'bindPlayer', 'bindResetPlayer', 'setPlayer', 'ended', 'clickTrack' );
@@ -38,40 +41,64 @@
},
bindPlayer : function (mejs) {
this.player = mejs;
this.player.addEventListener( 'ended', this.ended );
this.mejs = mejs;
this.mejs.addEventListener( 'ended', this.ended );
},
bindResetPlayer : function (mejs) {
this.bindPlayer( mejs );
this.playCurrentSrc();
if ( this.isCompatibleSrc() ) {
this.playCurrentSrc();
}
},
setPlayer: function () {
if ( this._player ) {
this._player.pause();
this._player.remove();
isCompatibleSrc: function () {
var testNode;
if ( this.compatMode ) {
testNode = $( '<span><source type="' + this.current.get( 'type' ) + '" /></span>' );
if ( ! wp.media.mixin.isCompatible( testNode ) ) {
this.playerNode.removeAttr( 'src' );
this.playerNode.removeAttr( 'poster' );
return;
}
}
return true;
},
setPlayer: function (force) {
if ( this.player ) {
this.player.pause();
this.player.remove();
this.playerNode = this.$( this.data.type );
this.playerNode.attr( 'src', this.current.get( 'src' ) );
}
if (force) {
if ( this.isCompatibleSrc() ) {
this.playerNode.attr( 'src', this.current.get( 'src' ) );
}
this.settings.success = this.bindResetPlayer;
}
/**
* This is also our bridge to the outside world
*/
this._player = new MediaElementPlayer( this.playerNode.get(0), this.settings );
this.player = new MediaElementPlayer( this.playerNode.get(0), this.settings );
},
playCurrentSrc : function () {
this.renderCurrent();
this.player.setSrc( this.playerNode.attr( 'src' ) );
this.player.load();
this.player.play();
this.mejs.setSrc( this.playerNode.attr( 'src' ) );
this.mejs.load();
this.mejs.play();
},
renderCurrent : function () {
var dimensions;
var dimensions, defaultImage = 'wp-includes/images/media/video.png';
if ( 'video' === this.data.type ) {
if ( this.data.images && this.current.get( 'image' ) ) {
if ( this.data.images && this.current.get( 'image' ) && -1 === this.current.get( 'image' ).src.indexOf( defaultImage ) ) {
this.playerNode.attr( 'poster', this.current.get( 'image' ).src );
}
dimensions = this.current.get( 'dimensions' ).resized;
@@ -134,14 +161,14 @@
},
loadCurrent : function () {
var last = this.playerNode.attr( 'src' ).split('.').pop(),
var last = this.playerNode.attr( 'src' ) && this.playerNode.attr( 'src' ).split('.').pop(),
current = this.current.get( 'src' ).split('.').pop();
this.player.pause();
this.mejs && this.mejs.pause();
if ( last !== current ) {
this.setPlayer();
} else {
this.setPlayer( true );
} else if ( this.isCompatibleSrc() ) {
this.playerNode.attr( 'src', this.current.get( 'src' ) );
this.playCurrentSrc();
}

View File

@@ -37,13 +37,13 @@ window.wp = window.wp || {};
// If we matched a leading `[`, strip it from the match
// and increment the index accordingly.
if ( match[1] ) {
result.match = result.match.slice( 1 );
result.content = result.content.slice( 1 );
result.index++;
}
// If we matched a trailing `]`, strip it from the match.
if ( match[7] ) {
result.match = result.match.slice( 0, -1 );
result.content = result.content.slice( 0, -1 );
}
return result;

View File

@@ -1 +1 @@
window.wp=window.wp||{},function(){wp.shortcode={next:function(a,b,c){var d,e,f=wp.shortcode.regexp(a);return f.lastIndex=c||0,(d=f.exec(b))?"["===d[1]&&"]"===d[7]?wp.shortcode.next(a,b,f.lastIndex):(e={index:d.index,content:d[0],shortcode:wp.shortcode.fromMatch(d)},d[1]&&(e.match=e.match.slice(1),e.index++),d[7]&&(e.match=e.match.slice(0,-1)),e):void 0},replace:function(a,b,c){return b.replace(wp.shortcode.regexp(a),function(a,b,d,e,f,g,h,i){if("["===b&&"]"===i)return a;var j=c(wp.shortcode.fromMatch(arguments));return j?b+j+i:a})},string:function(a){return new wp.shortcode(a).string()},regexp:_.memoize(function(a){return new RegExp("\\[(\\[?)("+a+")(?![\\w-])([^\\]\\/]*(?:\\/(?!\\])[^\\]\\/]*)*?)(?:(\\/)\\]|\\](?:([^\\[]*(?:\\[(?!\\/\\2\\])[^\\[]*)*)(\\[\\/\\2\\]))?)(\\]?)","g")}),attrs:_.memoize(function(a){var b,c,d={},e=[];for(b=/(\w+)\s*=\s*"([^"]*)"(?:\s|$)|(\w+)\s*=\s*\'([^\']*)\'(?:\s|$)|(\w+)\s*=\s*([^\s\'"]+)(?:\s|$)|"([^"]*)"(?:\s|$)|(\S+)(?:\s|$)/g,a=a.replace(/[\u00a0\u200b]/g," ");c=b.exec(a);)c[1]?d[c[1].toLowerCase()]=c[2]:c[3]?d[c[3].toLowerCase()]=c[4]:c[5]?d[c[5].toLowerCase()]=c[6]:c[7]?e.push(c[7]):c[8]&&e.push(c[8]);return{named:d,numeric:e}}),fromMatch:function(a){var b;return b=a[4]?"self-closing":a[6]?"closed":"single",new wp.shortcode({tag:a[2],attrs:a[3],type:b,content:a[5]})}},wp.shortcode=_.extend(function(a){_.extend(this,_.pick(a||{},"tag","attrs","type","content"));var b=this.attrs;this.attrs={named:{},numeric:[]},b&&(_.isString(b)?this.attrs=wp.shortcode.attrs(b):_.isEqual(_.keys(b),["named","numeric"])?this.attrs=b:_.each(a.attrs,function(a,b){this.set(b,a)},this))},wp.shortcode),_.extend(wp.shortcode.prototype,{get:function(a){return this.attrs[_.isNumber(a)?"numeric":"named"][a]},set:function(a,b){return this.attrs[_.isNumber(a)?"numeric":"named"][a]=b,this},string:function(){var a="["+this.tag;return _.each(this.attrs.numeric,function(b){a+=/\s/.test(b)?' "'+b+'"':" "+b}),_.each(this.attrs.named,function(b,c){a+=" "+c+'="'+b+'"'}),"single"===this.type?a+"]":"self-closing"===this.type?a+" /]":(a+="]",this.content&&(a+=this.content),a+"[/"+this.tag+"]")}})}(),function(){wp.html=_.extend(wp.html||{},{attrs:function(a){var b,c;return"/"===a[a.length-1]&&(a=a.slice(0,-1)),b=wp.shortcode.attrs(a),c=b.named,_.each(b.numeric,function(a){/\s/.test(a)||(c[a]="")}),c},string:function(a){var b="<"+a.tag,c=a.content||"";return _.each(a.attrs,function(a,c){b+=" "+c,""!==a&&(_.isBoolean(a)&&(a=a?"true":"false"),b+='="'+a+'"')}),a.single?b+" />":(b+=">",b+=_.isObject(c)?wp.html.string(c):c,b+"</"+a.tag+">")}})}();
window.wp=window.wp||{},function(){wp.shortcode={next:function(a,b,c){var d,e,f=wp.shortcode.regexp(a);return f.lastIndex=c||0,(d=f.exec(b))?"["===d[1]&&"]"===d[7]?wp.shortcode.next(a,b,f.lastIndex):(e={index:d.index,content:d[0],shortcode:wp.shortcode.fromMatch(d)},d[1]&&(e.content=e.content.slice(1),e.index++),d[7]&&(e.content=e.content.slice(0,-1)),e):void 0},replace:function(a,b,c){return b.replace(wp.shortcode.regexp(a),function(a,b,d,e,f,g,h,i){if("["===b&&"]"===i)return a;var j=c(wp.shortcode.fromMatch(arguments));return j?b+j+i:a})},string:function(a){return new wp.shortcode(a).string()},regexp:_.memoize(function(a){return new RegExp("\\[(\\[?)("+a+")(?![\\w-])([^\\]\\/]*(?:\\/(?!\\])[^\\]\\/]*)*?)(?:(\\/)\\]|\\](?:([^\\[]*(?:\\[(?!\\/\\2\\])[^\\[]*)*)(\\[\\/\\2\\]))?)(\\]?)","g")}),attrs:_.memoize(function(a){var b,c,d={},e=[];for(b=/(\w+)\s*=\s*"([^"]*)"(?:\s|$)|(\w+)\s*=\s*\'([^\']*)\'(?:\s|$)|(\w+)\s*=\s*([^\s\'"]+)(?:\s|$)|"([^"]*)"(?:\s|$)|(\S+)(?:\s|$)/g,a=a.replace(/[\u00a0\u200b]/g," ");c=b.exec(a);)c[1]?d[c[1].toLowerCase()]=c[2]:c[3]?d[c[3].toLowerCase()]=c[4]:c[5]?d[c[5].toLowerCase()]=c[6]:c[7]?e.push(c[7]):c[8]&&e.push(c[8]);return{named:d,numeric:e}}),fromMatch:function(a){var b;return b=a[4]?"self-closing":a[6]?"closed":"single",new wp.shortcode({tag:a[2],attrs:a[3],type:b,content:a[5]})}},wp.shortcode=_.extend(function(a){_.extend(this,_.pick(a||{},"tag","attrs","type","content"));var b=this.attrs;this.attrs={named:{},numeric:[]},b&&(_.isString(b)?this.attrs=wp.shortcode.attrs(b):_.isEqual(_.keys(b),["named","numeric"])?this.attrs=b:_.each(a.attrs,function(a,b){this.set(b,a)},this))},wp.shortcode),_.extend(wp.shortcode.prototype,{get:function(a){return this.attrs[_.isNumber(a)?"numeric":"named"][a]},set:function(a,b){return this.attrs[_.isNumber(a)?"numeric":"named"][a]=b,this},string:function(){var a="["+this.tag;return _.each(this.attrs.numeric,function(b){a+=/\s/.test(b)?' "'+b+'"':" "+b}),_.each(this.attrs.named,function(b,c){a+=" "+c+'="'+b+'"'}),"single"===this.type?a+"]":"self-closing"===this.type?a+" /]":(a+="]",this.content&&(a+=this.content),a+"[/"+this.tag+"]")}})}(),function(){wp.html=_.extend(wp.html||{},{attrs:function(a){var b,c;return"/"===a[a.length-1]&&(a=a.slice(0,-1)),b=wp.shortcode.attrs(a),c=b.named,_.each(b.numeric,function(a){/\s/.test(a)||(c[a]="")}),c},string:function(a){var b="<"+a.tag,c=a.content||"";return _.each(a.attrs,function(a,c){b+=" "+c,""!==a&&(_.isBoolean(a)&&(a=a?"true":"false"),b+='="'+a+'"')}),a.single?b+" />":(b+=">",b+=_.isObject(c)?wp.html.string(c):c,b+"</"+a.tag+">")}})}();

View File

@@ -63,7 +63,7 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
// Hide the toolbars after loading
editor.on( 'PostRender', function() {
if ( getUserSetting('hidetb', '0') === '0' ) {
if ( editor.getParam( 'wordpress_adv_hidden', true ) && getUserSetting( 'hidetb', '0' ) === '0' ) {
toggleToolbars( 'hide' );
}
});
@@ -317,7 +317,7 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
dom.bind( doc, 'dragstart dragend dragover drop', function( event ) {
if ( typeof window.jQuery !== 'undefined' ) {
// Trigger the jQuery handlers.
window.jQuery( document ).triggerHandler( event.type );
window.jQuery( document ).trigger( new window.jQuery.Event( event ) );
}
});
}

File diff suppressed because one or more lines are too long

View File

@@ -320,7 +320,7 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
if ( parent = dom.getParent( node, 'p' ) ) {
wrap = dom.create( 'div', { 'class': 'mceTemp' }, html );
dom.insertAfter( wrap, parent );
parent.parentNode.insertBefore( wrap, parent );
dom.remove( node );
if ( dom.isEmpty( parent ) ) {
@@ -593,7 +593,7 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
if ( parent && parent.nodeName === 'P' ) {
wrap = dom.create( 'div', { 'class': 'mceTemp' }, html );
dom.insertAfter( wrap, parent );
parent.parentNode.insertBefore( wrap, parent );
editor.selection.select( wrap );
editor.nodeChanged();

File diff suppressed because one or more lines are too long

View File

@@ -15,8 +15,10 @@ tinymce.PluginManager.add( 'wplink', function( editor ) {
editor.addShortcut( 'ctrl+k', '', 'WP_Link' );
function setState( button, node ) {
button.disabled( editor.selection.isCollapsed() && node.nodeName !== 'A' );
button.active( node.nodeName === 'A' && ! node.name );
var parent = editor.dom.getParent( node, 'a' );
button.disabled( ( editor.selection.isCollapsed() && ! parent ) || ( parent && ! parent.href ) );
button.active( parent && parent.href );
}
editor.addButton( 'link', {

View File

@@ -1 +1 @@
tinymce.PluginManager.add("wplink",function(a){function b(b,c){b.disabled(a.selection.isCollapsed()&&"A"!==c.nodeName),b.active("A"===c.nodeName&&!c.name)}var c;a.addCommand("WP_Link",function(){c&&c.disabled()||"undefined"==typeof window.wpLink||window.wpLink.open(a.id)}),a.addShortcut("alt+shift+a","","WP_Link"),a.addShortcut("ctrl+k","","WP_Link"),a.addButton("link",{icon:"link",tooltip:"Insert/edit link",shortcut:"Alt+Shift+A",cmd:"WP_Link",onPostRender:function(){c=this,a.on("nodechange",function(a){b(c,a.element)})}}),a.addButton("unlink",{icon:"unlink",tooltip:"Remove link",cmd:"unlink",onPostRender:function(){var c=this;a.on("nodechange",function(a){b(c,a.element)})}}),a.addMenuItem("link",{icon:"link",text:"Insert link",shortcut:"Alt+Shift+A",cmd:"WP_Link",stateSelector:"a[href]",context:"insert",prependToContext:!0})});
tinymce.PluginManager.add("wplink",function(a){function b(b,c){var d=a.dom.getParent(c,"a");b.disabled(a.selection.isCollapsed()&&!d||d&&!d.href),b.active(d&&d.href)}var c;a.addCommand("WP_Link",function(){c&&c.disabled()||"undefined"==typeof window.wpLink||window.wpLink.open(a.id)}),a.addShortcut("alt+shift+a","","WP_Link"),a.addShortcut("ctrl+k","","WP_Link"),a.addButton("link",{icon:"link",tooltip:"Insert/edit link",shortcut:"Alt+Shift+A",cmd:"WP_Link",onPostRender:function(){c=this,a.on("nodechange",function(a){b(c,a.element)})}}),a.addButton("unlink",{icon:"unlink",tooltip:"Remove link",cmd:"unlink",onPostRender:function(){var c=this;a.on("nodechange",function(a){b(c,a.element)})}}),a.addMenuItem("link",{icon:"link",text:"Insert link",shortcut:"Alt+Shift+A",cmd:"WP_Link",stateSelector:"a[href]",context:"insert",prependToContext:!0})});

View File

@@ -332,17 +332,24 @@ tinymce.PluginManager.add( 'wpview', function( editor ) {
tinymce.each( dom.select( 'div[data-wpview-text]', event.node ), function( node ) {
// Empty the wrap node
if ( 'textContent' in node ) {
node.textContent = '';
node.textContent = '\u00a0';
} else {
node.innerText = '';
node.innerText = '\u00a0';
}
// This makes all views into block tags (as we use <div>).
// Can use 'PostProcess' and a regex instead.
dom.replace( dom.create( 'p', null, window.decodeURIComponent( dom.getAttrib( node, 'data-wpview-text' ) ) ), node );
});
});
editor.on( 'PostProcess', function( event ) {
if ( event.content ) {
event.content = event.content.replace( /<div [^>]*?data-wpview-text="([^"]*)"[^>]*>[\s\S]*?<\/div>/g, function( match, shortcode ) {
if ( shortcode ) {
return '<p>' + window.decodeURIComponent( shortcode ) + '</p>';
}
return ''; // If error, remove the view wrapper
});
}
});
editor.on( 'keydown', function( event ) {
var keyCode = event.keyCode,
body = editor.getBody(),

File diff suppressed because one or more lines are too long

View File

@@ -16,7 +16,8 @@
function wp_underscore_audio_template() {
$audio_types = wp_get_audio_extensions();
?>
<audio controls
<audio style="visibility: hidden"
controls
class="wp-audio-shortcode"
width="{{ _.isUndefined( data.model.width ) ? 400 : data.model.width }}"
preload="{{ _.isUndefined( data.model.preload ) ? 'none' : data.model.preload }}"
@@ -853,15 +854,14 @@ function wp_print_media_templates() {
</div>
<label class="setting checkbox-setting">
<span><?php _e( 'Autoplay' ); ?></span>
<input type="checkbox" data-setting="autoplay" />
<span><?php _e( 'Autoplay' ); ?></span>
</label>
<label class="setting checkbox-setting">
<span><?php _e( 'Loop' ); ?></span>
<input type="checkbox" data-setting="loop" />
<span><?php _e( 'Loop' ); ?></span>
</label>
<div class="clear"></div>
</div>
</div>
</script>
@@ -944,15 +944,14 @@ function wp_print_media_templates() {
</div>
<label class="setting checkbox-setting">
<span><?php _e( 'Autoplay' ); ?></span>
<input type="checkbox" data-setting="autoplay" />
<span><?php _e( 'Autoplay' ); ?></span>
</label>
<label class="setting checkbox-setting">
<span><?php _e( 'Loop' ); ?></span>
<input type="checkbox" data-setting="loop" />
<span><?php _e( 'Loop' ); ?></span>
</label>
<div class="clear"></div>
<label class="setting" data-setting="content">
<span><?php _e( 'Tracks (subtitles, captions, descriptions, chapters, or metadata)' ); ?></span>

View File

@@ -1353,6 +1353,8 @@ function wp_playlist_shortcode( $attr ) {
echo (int) $theme_width;
?>"<?php if ( 'video' === $safe_type ):
echo ' height="', (int) $theme_height, '"';
else:
echo ' style="visibility: hidden"';
endif; ?>></<?php echo $safe_type ?>>
<div class="wp-playlist-next"></div>
<div class="wp-playlist-prev"></div>
@@ -1555,7 +1557,7 @@ function wp_audio_shortcode( $attr, $content = '' ) {
'loop' => $loop,
'autoplay' => $autoplay,
'preload' => $preload,
'style' => 'width: 100%',
'style' => 'width: 100%; visibility: hidden;',
);
// These ones should just be omitted altogether if they are blank
@@ -2654,7 +2656,7 @@ function wp_enqueue_media( $args = array() ) {
if ( did_action( 'wp_enqueue_media' ) )
return;
global $content_width;
global $content_width, $wpdb;
$defaults = array(
'post' => null,
@@ -2693,15 +2695,20 @@ function wp_enqueue_media( $args = array() ) {
}
}
$audio = $video = 0;
$counts = (array) wp_count_attachments();
foreach ( $counts as $mime => $total ) {
if ( 0 === strpos( $mime, 'audio/' ) ) {
$audio += (int) $total;
} elseif ( 0 === strpos( $mime, 'video/' ) ) {
$video += (int) $total;
}
}
$has_audio = $wpdb->get_var( "
SELECT ID
FROM $wpdb->posts
WHERE post_type = 'attachment'
AND post_mime_type LIKE 'audio%'
LIMIT 1
" );
$has_video = $wpdb->get_var( "
SELECT ID
FROM $wpdb->posts
WHERE post_type = 'attachment'
AND post_mime_type LIKE 'video%'
LIMIT 1
" );
$settings = array(
'tabs' => $tabs,
@@ -2717,8 +2724,8 @@ function wp_enqueue_media( $args = array() ) {
),
'defaultProps' => $props,
'attachmentCounts' => array(
'audio' => $audio,
'video' => $video
'audio' => (int) $has_audio,
'video' => (int) $has_video,
),
'embedExts' => $exts,
'embedMimes' => $ext_mimes,
@@ -2829,7 +2836,7 @@ function wp_enqueue_media( $args = array() ) {
'videoReplaceTitle' => __( 'Replace Video' ),
'videoAddSourceTitle' => __( 'Add Video Source' ),
'videoDetailsCancel' => __( 'Cancel Edit' ),
'videoSelectPosterImageTitle' => _( 'Select Poster Image' ),
'videoSelectPosterImageTitle' => __( 'Select Poster Image' ),
'videoAddTrackTitle' => __( 'Add Subtitles' ),
// Playlist

View File

@@ -348,13 +348,30 @@ function get_site_by_path( $domain, $path, $segments = null ) {
* then cache whether we can just always ignore paths.
*/
// Either www or non-www is supported, not both. If a www domain is requested,
// query for both to provide the proper redirect.
$domains = array( $domain );
if ( 'www.' === substr( $domain, 0, 4 ) ) {
$domains[] = substr( $domain, 4 );
$search_domains = "'" . implode( "', '", $wpdb->_escape( $domains ) ) . "'";
}
if ( count( $paths ) > 1 ) {
$paths = "'" . implode( "', '", $wpdb->_escape( $paths ) ) . "'";
$sql = $wpdb->prepare( "SELECT * FROM $wpdb->blogs WHERE domain = %s", $domain );
$sql .= " AND path IN ($paths) ORDER BY CHAR_LENGTH(path) DESC LIMIT 1";
$search_paths = "'" . implode( "', '", $wpdb->_escape( $paths ) ) . "'";
}
if ( count( $domains ) > 1 && count( $paths ) > 1 ) {
$site = $wpdb->get_row( "SELECT * FROM $wpdb->blogs WHERE domain IN ($search_domains) AND path IN ($search_paths) ORDER BY CHAR_LENGTH(domain) DESC, CHAR_LENGTH(path) DESC LIMIT 1" );
} elseif ( count( $domains ) > 1 ) {
$sql = $wpdb->prepare( "SELECT * FROM $wpdb->blogs WHERE path = %s", $paths[0] );
$sql .= " AND domain IN ($search_domains) ORDER BY CHAR_LENGTH(domain) DESC LIMIT 1";
$site = $wpdb->get_row( $sql );
} elseif ( count( $paths ) > 1 ) {
$sql = $wpdb->prepare( "SELECT * FROM $wpdb->blogs WHERE domain = %s", $domains[0] );
$sql .= " AND path IN ($search_paths) ORDER BY CHAR_LENGTH(path) DESC LIMIT 1";
$site = $wpdb->get_row( $sql );
} else {
$site = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->blogs WHERE domain = %s and path = %s", $domain, $paths[0] ) );
$site = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->blogs WHERE domain = %s AND path = %s", $domains[0], $paths[0] ) );
}
if ( $site ) {

View File

@@ -35,7 +35,7 @@ if ( !isset( $current_site ) || !isset( $current_blog ) ) {
$_SERVER['HTTP_HOST'] = substr( $_SERVER['HTTP_HOST'], 0, -4 );
}
$path = strtolower( stripslashes( $_SERVER['REQUEST_URI'] ) );
$path = stripslashes( $_SERVER['REQUEST_URI'] );
if ( is_admin() ) {
$path = preg_replace( '#(.*)/wp-admin/.*#', '$1/', $path );
}
@@ -53,9 +53,9 @@ if ( !isset( $current_site ) || !isset( $current_blog ) ) {
$current_site->blog_id = BLOGID_CURRENT_SITE;
}
if ( $current_site->domain === $domain && $current_site->path === $path ) {
if ( 0 === strcasecmp( $current_site->domain, $domain ) && 0 === strcasecmp( $current_site->path, $path ) ) {
$current_blog = get_site_by_path( $domain, $path );
} elseif ( '/' !== $current_site->path && $current_site->domain === $domain && 0 === strpos( $path, $current_site->path ) ) {
} elseif ( '/' !== $current_site->path && 0 === strcasecmp( $current_site->domain, $domain ) && 0 === stripos( $path, $current_site->path ) ) {
// If the current network has a path and also matches the domain and path of the request,
// we need to look for a site using the first path segment following the network's path.
$current_blog = get_site_by_path( $domain, $path, 1 + count( explode( '/', trim( $current_site->path, '/' ) ) ) );

View File

@@ -647,7 +647,7 @@ function wp_validate_auth_cookie($cookie = '', $scheme = '') {
$key = wp_hash($username . $pass_frag . '|' . $expiration, $scheme);
$hash = hash_hmac('md5', $username . '|' . $expiration, $key);
if ( hash_hmac( 'md5', $hmac, $key ) !== hash_hmac( 'md5', $hash, $key ) ) {
if ( ! hash_equals( $hash, $hmac ) ) {
/**
* Fires if a bad authentication cookie hash is encountered.
*
@@ -1658,11 +1658,17 @@ function wp_verify_nonce($nonce, $action = -1) {
$i = wp_nonce_tick();
// Nonce generated 0-12 hours ago
if ( substr(wp_hash($i . $action . $uid, 'nonce'), -12, 10) === $nonce )
$expected = substr( wp_hash( $i . '|' . $action . '|' . $uid, 'nonce'), -12, 10 );
if ( hash_equals( $expected, $nonce ) ) {
return 1;
}
// Nonce generated 12-24 hours ago
if ( substr(wp_hash(($i - 1) . $action . $uid, 'nonce'), -12, 10) === $nonce )
$expected = substr( wp_hash( ( $i - 1 ) . '|' . $action . '|' . $uid, 'nonce' ), -12, 10 );
if ( hash_equals( $expected, $nonce ) ) {
return 2;
}
// Invalid nonce
return false;
}
@@ -1687,7 +1693,7 @@ function wp_create_nonce($action = -1) {
$i = wp_nonce_tick();
return substr(wp_hash($i . $action . $uid, 'nonce'), -12, 10);
return substr(wp_hash($i . '|' . $action . '|' . $uid, 'nonce'), -12, 10);
}
endif;
@@ -2107,7 +2113,8 @@ function get_avatar( $id_or_email, $size = '96', $default = '', $alt = false ) {
$out = str_replace( '&#038;', '&amp;', esc_url( $out ) );
$avatar = "<img alt='{$safe_alt}' src='{$out}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />";
} else {
$avatar = "<img alt='{$safe_alt}' src='{$default}' class='avatar avatar-{$size} photo avatar-default' height='{$size}' width='{$size}' />";
$out = esc_url( $default );
$avatar = "<img alt='{$safe_alt}' src='{$out}' class='avatar avatar-{$size} photo avatar-default' height='{$size}' width='{$size}' />";
}
/**
@@ -2200,3 +2207,35 @@ function wp_text_diff( $left_string, $right_string, $args = null ) {
}
endif;
if ( ! function_exists( 'hash_equals' ) ) :
/**
* Compare two strings in constant time.
*
* This function is NOT pluggable. It is in this file (in addition to
* compat.php) to prevent errors if, during an update, pluggable.php
* copies over but compat.php does not.
*
* This function was added in PHP 5.6.
* It can leak the length of a string.
*
* @since 3.9.2
*
* @param string $a Expected string.
* @param string $b Actual string.
* @return bool Whether strings are equal.
*/
function hash_equals( $a, $b ) {
$a_length = strlen( $a );
if ( $a_length !== strlen( $b ) ) {
return false;
}
$result = 0;
// Do not attempt to "optimize" this.
for ( $i = 0; $i < $a_length; $i++ ) {
$result |= ord( $a[ $i ] ) ^ ord( $b[ $i ] );
}
return $result === 0;
}
endif;

View File

@@ -635,7 +635,7 @@ function wp_default_styles( &$styles ) {
$styles->add( 'wp-jquery-ui-dialog', "/wp-includes/css/jquery-ui-dialog$suffix.css", array( 'dashicons' ) );
$styles->add( 'mediaelement', "/wp-includes/js/mediaelement/mediaelementplayer.min.css", array(), '2.13.0' );
$styles->add( 'wp-mediaelement', "/wp-includes/js/mediaelement/wp-mediaelement.css", array( 'mediaelement' ) );
$styles->add( 'thickbox', '/wp-includes/js/thickbox/thickbox.css', array( 'dashicons' ), '20131201' );
$styles->add( 'thickbox', '/wp-includes/js/thickbox/thickbox.css', array( 'dashicons' ) );
// Deprecated CSS
$styles->add( 'media', "/wp-admin/css/deprecated-media$suffix.css" );

View File

@@ -4,7 +4,7 @@
*
* @global string $wp_version
*/
$wp_version = '3.9';
$wp_version = '3.9.2';
/**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
@@ -18,7 +18,7 @@ $wp_db_version = 27916;
*
* @global string $tinymce_version
*/
$tinymce_version = '4021-20140412';
$tinymce_version = '4021-20140423';
/**
* Holds the required PHP version

View File

@@ -1421,7 +1421,7 @@ function retrieve_widgets( $theme_changed = false ) {
// time() that sidebars were stored is in $old_sidebars_widgets['time']
$_sidebars_widgets = $old_sidebars_widgets['data'];
if ( 'customize' === $theme_changed ) {
if ( 'customize' !== $theme_changed ) {
remove_theme_mod( 'sidebars_widgets' );
}
@@ -1506,7 +1506,7 @@ function retrieve_widgets( $theme_changed = false ) {
}
$sidebars_widgets['wp_inactive_widgets'] = array_merge($lost_widgets, (array) $sidebars_widgets['wp_inactive_widgets']);
if ( 'customize' === $theme_changed ) {
if ( 'customize' !== $theme_changed ) {
wp_set_sidebars_widgets( $sidebars_widgets );
}

View File

@@ -562,10 +562,25 @@ break;
case 'resetpass' :
case 'rp' :
$user = check_password_reset_key($_GET['key'], $_GET['login']);
list( $rp_path ) = explode( '?', wp_unslash( $_SERVER['REQUEST_URI'] ) );
$rp_cookie = 'wp-resetpass-' . COOKIEHASH;
if ( isset( $_GET['key'] ) ) {
$value = sprintf( '%s:%s', wp_unslash( $_GET['login'] ), wp_unslash( $_GET['key'] ) );
setcookie( $rp_cookie, $value, 0, $rp_path, COOKIE_DOMAIN, is_ssl(), true );
wp_safe_redirect( remove_query_arg( array( 'key', 'login' ) ) );
exit;
}
if ( is_wp_error($user) ) {
if ( $user->get_error_code() === 'expired_key' )
if ( isset( $_COOKIE[ $rp_cookie ] ) && 0 < strpos( $_COOKIE[ $rp_cookie ], ':' ) ) {
list( $rp_login, $rp_key ) = explode( ':', wp_unslash( $_COOKIE[ $rp_cookie ] ), 2 );
$user = check_password_reset_key( $rp_key, $rp_login );
} else {
$user = false;
}
if ( ! $user || is_wp_error( $user ) ) {
setcookie( $rp_cookie, ' ', time() - YEAR_IN_SECONDS, $rp_path, COOKIE_DOMAIN, is_ssl(), true );
if ( $user && $user->get_error_code() === 'expired_key' )
wp_redirect( site_url( 'wp-login.php?action=lostpassword&error=expiredkey' ) );
else
wp_redirect( site_url( 'wp-login.php?action=lostpassword&error=invalidkey' ) );
@@ -589,6 +604,7 @@ case 'rp' :
if ( ( ! $errors->get_error_code() ) && isset( $_POST['pass1'] ) && !empty( $_POST['pass1'] ) ) {
reset_password($user, $_POST['pass1']);
setcookie( $rp_cookie, ' ', time() - YEAR_IN_SECONDS, $rp_path, COOKIE_DOMAIN, is_ssl(), true );
login_header( __( 'Password Reset' ), '<p class="message reset-pass">' . __( 'Your password has been reset.' ) . ' <a href="' . esc_url( wp_login_url() ) . '">' . __( 'Log in' ) . '</a></p>' );
login_footer();
exit;
@@ -600,8 +616,8 @@ case 'rp' :
login_header(__('Reset Password'), '<p class="message reset-pass">' . __('Enter your new password below.') . '</p>', $errors );
?>
<form name="resetpassform" id="resetpassform" action="<?php echo esc_url( site_url( 'wp-login.php?action=resetpass&key=' . urlencode( $_GET['key'] ) . '&login=' . urlencode( $_GET['login'] ), 'login_post' ) ); ?>" method="post" autocomplete="off">
<input type="hidden" id="user_login" value="<?php echo esc_attr( $_GET['login'] ); ?>" autocomplete="off" />
<form name="resetpassform" id="resetpassform" action="<?php echo esc_url( site_url( 'wp-login.php?action=resetpass', 'login_post' ) ); ?>" method="post" autocomplete="off">
<input type="hidden" id="user_login" value="<?php echo esc_attr( $rp_login ); ?>" autocomplete="off" />
<p>
<label for="pass1"><?php _e('New password') ?><br />