Compare commits

...

126 Commits
6.1 ... 4.9.3

Author SHA1 Message Date
Sergey Biryukov
bba3c55fe3 Tag 4.9.3
Built from https://develop.svn.wordpress.org/tags/4.9.3@42651


git-svn-id: http://core.svn.wordpress.org/tags/4.9.3@42480 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-02-05 21:51:13 +00:00
Sergey Biryukov
2643287b2c Bump the 4.9 branch to version 4.9.3.
Built from https://develop.svn.wordpress.org/branches/4.9@42650


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42479 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-02-05 20:05:41 +00:00
Sergey Biryukov
8edf395b50 Post WordPress 4.9.3 RC 1 version bump.
Built from https://develop.svn.wordpress.org/branches/4.9@42629


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42458 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-02-01 00:56:41 +00:00
Sergey Biryukov
f709f56129 WordPress 4.9.3 RC 1.
Built from https://develop.svn.wordpress.org/branches/4.9@42628


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42457 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-02-01 00:43:41 +00:00
Sergey Biryukov
b7df04afe4 Media: avoid page scrolling when opening the media modal.
Moves focus to a proper element within the media modal to avoid the underlying
page to scroll to the bottom. Removes the media modal `freeze` option.

Props andreiglingeanu, adamsilverstein.
Merges [42624] to the 4.9 branch.
Fixes #39859.
Built from https://develop.svn.wordpress.org/branches/4.9@42627


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42456 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-31 23:55:41 +00:00
Sergey Biryukov
9201cc33cc Code Editor: Add Ctrl/Cmd+F as aliases for persistent search for more intuitive behaviour.
Keep Alt+F as well for users who already expect that.

Props Desertsnowman.
Merges [42625] to the 4.9 branch.
See #42586.
Built from https://develop.svn.wordpress.org/branches/4.9@42626


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42455 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-31 22:28:43 +00:00
Sergey Biryukov
dc9c4c4738 Customize: Ensure heartbeat keeps changeset locked when in branching mode.
Props dlh.
See #42024.
Merges [42612] to the 4.9 branch.
Fixes #42658.
Built from https://develop.svn.wordpress.org/branches/4.9@42623


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42452 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-30 15:24:41 +00:00
Sergey Biryukov
8d9813f6f6 Customize: Ensure media playlists get initialized after selective refresh; expose new wp.playlist.initialize() API.
In particular allows audio and video playlists to be added to the Text widget and previewed.

Props bpayton, westonruter.
See #40854.
Merges [42613], [42617] to the 4.9 branch.
Fixes #42495.
Built from https://develop.svn.wordpress.org/branches/4.9@42622


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42451 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-30 14:56:41 +00:00
Sergey Biryukov
a07ed5c926 Customize: Include nav menu item for Home custom link in search results for "Home".
Props audrasjb, westonruter.
Merges [42611] to the 4.9 branch.
Fixes #42991.
Built from https://develop.svn.wordpress.org/branches/4.9@42621


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42450 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-30 14:46:40 +00:00
Sergey Biryukov
a271c43cdb Customize: Ensure customize_autosaved requests only use revision of logged-in user.
Props dlh, westonruter.
See #42433, #39896.
Merges [42615] to the 4.9 branch.
Fixes #42450.
Built from https://develop.svn.wordpress.org/branches/4.9@42620


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42449 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-30 14:44:42 +00:00
Sergey Biryukov
d7291a5435 Post WordPress 4.9.3 Beta 1 version bump.
Built from https://develop.svn.wordpress.org/branches/4.9@42609


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42438 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-24 23:47:40 +00:00
Sergey Biryukov
ab139de982 WordPress 4.9.3 Beta 1.
Built from https://develop.svn.wordpress.org/branches/4.9@42608


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42437 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-24 23:38:41 +00:00
Sergey Biryukov
3798ce6757 Role/Capability: Make install_languages capability check less restrictive.
A user should still be able to have the capability, even when language packs cannot be automatically installed. The automatic installation part is separate from that now.

Props flixos90.
Merges [42606] to the 4.9 branch.
Fixes #42697.
Built from https://develop.svn.wordpress.org/branches/4.9@42607


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42436 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-24 22:59:38 +00:00
Sergey Biryukov
2c492ab774 Upgrade/Install: In postMessage events handler, check for message object existence before checking its action property.
Props manikmist09.
Merges [42604] to the 4.9 branch.
Fixes #43005.
Built from https://develop.svn.wordpress.org/branches/4.9@42605


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42434 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-24 22:32:38 +00:00
Sergey Biryukov
ff4c656579 Emoji: Update Emoji browser support tests for Twemoji v2.4.0
Really, following [42598].

Props peterwilsoncc.
Merges [42602] to the 4.9 branch.
Fixes #42862.
Built from https://develop.svn.wordpress.org/branches/4.9@42603


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42432 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-24 22:05:39 +00:00
Sergey Biryukov
09a5894a92 Emoji: Update Emoji browser support tests for Twemoji v2.4.0
Replaces the fairy (male) browser support test with a woman in business suit levitating. While the things that make people different sometimes become less obvious this isn't always a problem, because the things that make you strange are the things that make you powerful.

Props peterwilsoncc.
Merges [42598] to the 4.9 branch.
Fixes #42862.
Built from https://develop.svn.wordpress.org/branches/4.9@42601


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42430 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-24 21:55:40 +00:00
Sergey Biryukov
519f479887 Media: Fix JSHint error after [42595].
Merges [42599] to the 4.9 branch.
See #42646.
Built from https://develop.svn.wordpress.org/branches/4.9@42600


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42429 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-24 21:53:38 +00:00
Aaron Jorbin
f0fd88a7f5 Query: Fix warning on counting non countable
Merges [42581], [42585], and [42594] to the 4.9 branch.

Adds tests to continue the behavior for both null and strings. Skip the tests on PHP 5.2 as they require ReflectionMethod.

See https://wiki.php.net/rfc/counting_non_countables for information on the PHP change.

Fixes #42860.
Props dd32 for test skipping and janak007 and ayeshrajans for initial patches.

Built from https://develop.svn.wordpress.org/branches/4.9@42597


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42426 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-24 21:44:42 +00:00
Sergey Biryukov
4224f6e214 Media: Store and reuse image cropper ratio settings if available, instead of overwriting.
Props adamsilverstein.
Merges [42595] to the 4.9 branch.
Fixes #42646.
Built from https://develop.svn.wordpress.org/branches/4.9@42596


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42425 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-24 21:41:41 +00:00
Sergey Biryukov
f29bf78748 Tests: Update emoji base URL in Tests_Formatting_Emoji after [42590].
Merges [42592] to the 4.9 branch.
See #42862.
Built from https://develop.svn.wordpress.org/branches/4.9@42593


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42422 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-24 17:31:38 +00:00
Sergey Biryukov
4d2fabc973 Emoji: Update emoji base URL in _print_emoji_detection_script() and wp_staticize_emoji().
Merges [42590] to the 4.9 branch.
Props pento.
Fixes #42862.
Built from https://develop.svn.wordpress.org/branches/4.9@42591


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42420 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-24 16:54:38 +00:00
Gary Pendergast
3cc1a69391 Canonical URLs: Redirect to the correct URL when the post date changes.
When a post slug is changed, we store a copy of the old slug, so that we can redirect visitors visiting the old URL to the new URL.

In the same way, this stores a copy of the old date, when the post date changes, so we can redirect visitors to the new URL.

Merge of [42401,42587,42588] to the 4.9 branch.

Props nickmomrik, frank-klein.
Fixes #15397.


Built from https://develop.svn.wordpress.org/branches/4.9@42589


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42418 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-24 07:12:39 +00:00
Dion Hulse
366e0ada72 Updates: Only trigger Background Update processes from within the core update check when a core autoupdate is on offer.
This change reduces the number of API calls which WordPress makes to api.wordpress.org during release windows.

Previously the background updates would run upon every core update transient refresh, however now they'll only run if there's an update available.
The change also increases the cache period for plugin & theme checks when running via the cron, from never-cache to 2 hours, which should hopefully reduce the number of needless API calls.

Merges [42584] to the 4.9 branch.
Fixes #43103 for 4.9.

Built from https://develop.svn.wordpress.org/branches/4.9@42586


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42415 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-24 04:32:41 +00:00
Sergey Biryukov
723d0f2669 Media: Introduce a custom error handler for MediaElement.js to display a download link if a FLV file cannot be rendered for any reason.
Props Clorith.
Merges [42582] to the 4.9 branch.
Fixes #42643.
Built from https://develop.svn.wordpress.org/branches/4.9@42583


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42412 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-24 01:53:38 +00:00
Sergey Biryukov
5220bad266 Emoji: Update emoji regex for Twemoji to 2.4.0.
Build `src/wp-includes/formatting.php` following [42566].

Props peterwilsoncc.
Merges [42579] to the 4.9 branch.
Fixes #42862.
Built from https://develop.svn.wordpress.org/branches/4.9@42580


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42409 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-24 01:15:41 +00:00
Aaron Jorbin
4aee92bb1c REST API: Add existing term_id to the error data object when attempting to create a duplicate term.
Merges [42350] into 4.9

Props shooper, coleh, rachelbaker.
Fixes #42597. See #41370.

Built from https://develop.svn.wordpress.org/branches/4.9@42578


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42407 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-23 20:22:39 +00:00
Andrew Ozz
bbb8a324c7 Merged revision(s) 42576 from trunk:
TinyMCE: backport bug fixes to `NotificationManager` and `WindowManager` from d1877933fa (diff-2e5c98d81ce2481aa1042b2320728b65) and to `MultiRange` from 250675bb7b.

Props peterwilsoncc, azaozz.
Fixes #42722 for 4.9.3, see #43012.

Built from https://develop.svn.wordpress.org/branches/4.9@42577


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42406 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-23 19:41:42 +00:00
Andrew Ozz
bd00d61353 Merged revision 42574 from trunk:
Editor: when keeping the scroll position treat all shortcodes as preview-able. Otherwise in some cases the marker span can get stuck inside the shortcode and break the markup.

Props azaozz, lizkarkoski and othellobloke for testing.
Fixes #42908 for 4.9.3.

Built from https://develop.svn.wordpress.org/branches/4.9@42575


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42404 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-23 17:48:41 +00:00
Sergey Biryukov
124bdbb0cd Media: Restore white background of the content area in media modal.
Props afercia, chetan200891.
Merges [42572] to the 4.9 branch.
Fixes #43088.
Built from https://develop.svn.wordpress.org/branches/4.9@42573


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42402 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-23 14:03:42 +00:00
Sergey Biryukov
8662725a4b Email: Don't send notifications for site or network admin email address change to the default 'admin_email' value.
Props tigertech, MattyRob, seanchayes.
Merges [42570] to the 4.9 branch.
Fixes #42693.
Built from https://develop.svn.wordpress.org/branches/4.9@42571


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42400 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-23 13:47:40 +00:00
Sergey Biryukov
54194f2ec6 Customize: Correct "Add Items" button reference in help text shown after creating a new menu.
Props dlh, munyagu, rishishah.
Merges [42568] to the 4.9 branch.
Fixes #42565.
Built from https://develop.svn.wordpress.org/branches/4.9@42569


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42398 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-23 12:05:40 +00:00
Sergey Biryukov
83dc4c9339 Emoji: Update Twemoji to 2.4.0.
WordPress was already on 2.5.0, but Twemoji decided to break their versioning, so 2.4.0 is actually the latest release.

Merges [42566] to the 4.9 branch.
Fixes #42862.
Built from https://develop.svn.wordpress.org/branches/4.9@42567


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42396 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-23 11:51:41 +00:00
Sergey Biryukov
dd777e0e14 TinyMCE: on the toolbar drop-downs apply overflow style on the actual element with text.
Props abdullahramzan, azaozz.
Merges [42446] to the 4.9 branch.
Fixes #43090.
Built from https://develop.svn.wordpress.org/branches/4.9@42552


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42381 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-23 08:31:40 +00:00
Sergey Biryukov
98764508db Editor: change the test in user_can_richedit() to also detect when IE11 is in compatibility mode.
Props ndavison, azaozz.
Merges [42529] to the 4.9 branch.
Fixes #42503.
Built from https://develop.svn.wordpress.org/branches/4.9@42551


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42380 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-23 08:18:41 +00:00
Dion Hulse
906bc34226 WPDB: Use a PCRE syntax which supports PCRE compiled between 2003 and 2006.
This fixes a PHP Warning in `wpdb::parse_db_host()` when WordPress is used with (sometimes a modern) PHP that's compiled against an ancient PCRE version.

Merges [42549] to the 4.9 branch.
Fixes #43109 for 4.9.

Built from https://develop.svn.wordpress.org/branches/4.9@42550


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42379 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-23 03:40:42 +00:00
Aaron Jorbin
c4277abb33 Remove JSHint due to license compatibility
Backports [42547] without adding new files due to how minor updates work.

JSHint inherits a license from JSLint that includes the clause "The Software shall be used for Good, not Evil." WordPress's license specifically allows grants the freedom to run the program, for any purpose. Please note, this is not an encouragement of evil. Rather than doing something evil, how about learning to love those around you. Instead of tweeting lies and saying people are "Not Good!", help your neighbor. In the words of Lin Manual Miranda, "Love is love is love is love is love is love is love is love, cannot be killed or swept aside."

This replaces JSHint with esprima, a part of the larger jQuery project, and a custom wrapper for some basic error checking within codemirror.

The existing JSHint configuration is kept in place in case someone wants to use that, but they can only do so for Good.

Fixes #42850
Props netweb for a spelling fix on a comment.

Built from https://develop.svn.wordpress.org/branches/4.9@42548


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42377 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-23 03:38:41 +00:00
Weston Ruter
6ba9d07723 Widgets: Ensure media is explicitly enqueued from Text widget in case Media widgets are unregistered.
Amends [41344].
See #40854.
Fixes #43125 for 4.9 branch.

Built from https://develop.svn.wordpress.org/branches/4.9@42546


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42375 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-22 19:28:42 +00:00
Weston Ruter
db02fcb8f8 Customize: Let default status for Customizer be draft if user does not have capability to publish.
Amends [41626].
Props sayedwp, westonruter.
See #30937.
Fixes #42686 for 4.9 branch.

Built from https://develop.svn.wordpress.org/branches/4.9@42544


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42373 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-22 19:12:43 +00:00
Weston Ruter
385f70dc96 Customize: Prevent frontend previewing from causing a customization lock on the changeset.
Props dlh.
Amends [41839].
See #42024.
Fixes #42975 for 4.9 branch.

Built from https://develop.svn.wordpress.org/branches/4.9@42542


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42371 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-22 06:51:40 +00:00
Weston Ruter
54d1631126 Customize: Use changeset-specific "locked" messages when branching is enabled.
Props dlh.
See #39896.
Fixes #42655 for 4.9 branch.

Built from https://develop.svn.wordpress.org/branches/4.9@42539


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42368 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-22 06:32:41 +00:00
Weston Ruter
3ed6b9efd4 Customize: Prevent showing SFTP theme installation notification in multisite when user cannot install themes.
Props flixos90.
See #37661, #42184.
Fixes #42674 for 4.9 branch.

Built from https://develop.svn.wordpress.org/branches/4.9@42537


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42366 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-22 06:16:41 +00:00
Weston Ruter
2441c3c3f1 Customize: Improve accuracy of message displayed when accessing Customizer with a changeset that is already published or trashed.
Amends [38810].
Props dlh.
Fixes #42497 for 4.9 branch.

Built from https://develop.svn.wordpress.org/branches/4.9@42535


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42364 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-22 05:23:40 +00:00
Weston Ruter
2e8c881ff4 Widgets: Allow relative/partial URLs in Image Widget's link field.
Props audrasjb.
Amends [41252].
See #41274.
Fixes #42740 for 4.9 branch.

Built from https://develop.svn.wordpress.org/branches/4.9@42534


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42363 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-22 04:53:43 +00:00
Weston Ruter
0685e3e2f3 Code Editor: Disable attr-value-double-quotes HTMLHint rule since too strict for user input.
Using single-quoted attribute values is not in any way invalid HTML.

Amends [41376].
Props sasiddiqui.
See #12423.
Fixes #42802 for 4.9 branch.

Built from https://develop.svn.wordpress.org/branches/4.9@42532


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42361 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-21 08:04:43 +00:00
Sergey Biryukov
d9bf3e5e60 Plugins: Update review filter links in Details modal.
Props darko-a7, afercia.
Merges [42459] to the 4.9 branch.
Fixes #43016. See #meta3379.
Built from https://develop.svn.wordpress.org/branches/4.9@42524


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42353 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-17 07:02:41 +00:00
Weston Ruter
4c4d1ecbe5 Widgets: Prevent checkValidity from running on a form when widget is first adding to sidebar.
Amends [41352].
See #23120.
Fixes #43003 for 4.9 branch.

Built from https://develop.svn.wordpress.org/branches/4.9@42522


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42351 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-17 01:31:41 +00:00
Aaron Campbell
be9734cbee Post 4.9.2 version bump for 4.9 branch
Built from https://develop.svn.wordpress.org/branches/4.9@42520


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42349 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-16 23:59:40 +00:00
Dion Hulse
4abf1b12c9 Bump the 4.9 branch to version 4.9.2.
Built from https://develop.svn.wordpress.org/branches/4.9@42494


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42323 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-16 21:37:40 +00:00
Sergey Biryukov
5e9186aaa5 Plugins: Fix the plugin details modal "Close" button after [42443].
Props rinkuyadav999.
Merges [42491] to the 4.9 branch.
Fixes #43082.
Built from https://develop.svn.wordpress.org/branches/4.9@42493


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42322 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-16 20:58:43 +00:00
Dion Hulse
e77f8257ea External Libraries: Remove unnecessary / obsoleted MediaElement.js files.
Props joemcgill.
Merges [42462] to the 4.9 branch.
Fixes #42720 for 4.9.

Built from https://develop.svn.wordpress.org/branches/4.9@42465


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42294 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-16 06:41:51 +00:00
Sergey Biryukov
3bc41df4e4 Widgets: When checking for errors in Custom HTML widget, pass correct value to toggleClass() for Save button.
`toggleClass()` expects a boolean as a second argument, not an integer.

Props iCaleb.
Merges 42457 to the 4.9 branch.
Fixes #42867.
Built from https://develop.svn.wordpress.org/branches/4.9@42458


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42287 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-15 23:51:38 +00:00
Sergey Biryukov
d72fbf753f Plugins: Fix the plugin details modal in the install plugin search tab after [41356].
Props afercia.
Merges [42443] to the 4.9 branch.
Fixes #43082.
Built from https://develop.svn.wordpress.org/branches/4.9@42456


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42285 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-15 23:07:41 +00:00
Sergey Biryukov
b6d9609fa9 WPDB: Always use mysqli when available.
This change makes WordPress use `mysqli` on PHP <5.5 when available, instead of only in PHP 5.5+ and development installs.

WPDB includes a fallback to `mysql` in the event that the database connection fails with `mysqli` so incompatibilities should be few and far between.

Props dd32.
Merges [42388] to the 4.9 branch.
Fixes #42812.
Built from https://develop.svn.wordpress.org/branches/4.9@42455


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42284 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-15 22:50:39 +00:00
Sergey Biryukov
84bd75ea88 Media: Add flac to the list of allowed file types.
Props blobfolio.
Merges [42451] to the 4.9 branch.
Fixes #42225.
Built from https://develop.svn.wordpress.org/branches/4.9@42452


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42282 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-15 22:24:41 +00:00
Sergey Biryukov
9026b41b3b Media: Bring consistency to getimagesize() error suppression.
Props chasewg, joemcgill, jeremyfelt.
Merges [42449] to the 4.9 branch.
Fixes #42480.
Built from https://develop.svn.wordpress.org/branches/4.9@42450


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42280 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-15 20:02:39 +00:00
Sergey Biryukov
77ce550e5c Themes: Improve line wrapping in feature filter on Theme Install screen and in the Customizer.
Props chetan200891 for initial patch.
Merges [42447] to the 4.9 branch.
Fixes #42871.
Built from https://develop.svn.wordpress.org/branches/4.9@42448


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42278 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-15 19:30:40 +00:00
Dion Hulse
3c9f3effb0 Formatting: Do not run formatting and texturization on author bios.
Removes the formatting and texturization added to author bios in #40040 due to back-compatibility concerns.

Reverts [41172], [41173].

Props 0x6f0, rabmalin for review, peterwilsoncc.
Merges [42441] to the 4.9 branch.
Fixes #42578.

Built from https://develop.svn.wordpress.org/branches/4.9@42445


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42275 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-15 00:10:42 +00:00
Andrew Ozz
397b2de6e5 Merged revision 42430 from trunk:
Editor: ensure there is a selection before getting the caret position. Fixes a bug in Firefox when there is no selection for a hidden element.

Props johnschulz, azaozz.

Fixes #43012 for 4.9.2.

Built from https://develop.svn.wordpress.org/branches/4.9@42442


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42272 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-13 11:28:43 +00:00
Sergey Biryukov
b8ebacbf82 Editor: Link suggestions: add fallback title for posts with no title.
Props afercia.
Merges [42425] to the 4.9 branch.
Fixes #42664.
Built from https://develop.svn.wordpress.org/branches/4.9@42439


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42269 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-12 20:13:38 +00:00
Sergey Biryukov
089aa052fb Twenty Seventeen: Remove unnecessary comment in front-page.php.
Props hardik-amipara, poena.
Merges [42437] to the 4.9 branch.
Fixes #42820.
Built from https://develop.svn.wordpress.org/branches/4.9@42438


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42268 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-12 20:09:41 +00:00
Sergey Biryukov
25dea6d03a Customize: Prevent nav menu location assignment checkbox change from increasing height by 1px.
Props obenland.
Amends [41817].
Merges [42152] to the 4.9 branch.
See #42157.
Fixes #42492.
Built from https://develop.svn.wordpress.org/branches/4.9@42436


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42266 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-12 19:26:41 +00:00
Dion Hulse
5973b3a5e1 Upgrade: When deleting old files, if deletion fails attempt to empty the file instead.
Props joemcgill, dd32.
Merges [42433] to the 4.9 branch.
Fixes #42963 for 4.9.

Built from https://develop.svn.wordpress.org/branches/4.9@42434


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42264 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-10 06:11:39 +00:00
Rachel Baker
a6e75ee0b7 General: Update copyright year to 2018 in license.txt.
Merges [42424] to the 4.9 branch.
Fixes #43007.

Built from https://develop.svn.wordpress.org/branches/4.9@42428


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42258 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-06 19:32:42 +00:00
Rachel Baker
25bfff959f REST API: Return the proper status code for failed permission callbacks in WP_REST_Server->dispatch().
Use the rest_authorization_required_code() function to return a 401 status code when a permission callback fails due to a user not being logged in.

Merges [42421] to the 4.9 branch.

Props jaswrks.
Fixes #42828.

Built from https://develop.svn.wordpress.org/branches/4.9@42422


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42253 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-12-30 20:49:40 +00:00
Boone Gorges
af4f4f860e Taxonomy: Restore deprecated argument to term_description() signature.
This ensures that the parameter can't be reused for something else
in the future.

Merges [42417] to the 4.9 branch.

Props jorbin.
Fixes #42605.

Built from https://develop.svn.wordpress.org/branches/4.9@42418


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42249 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-12-22 02:50:39 +00:00
Dion Hulse
fadd733746 Bump akismet external to 4.0.2
git-svn-id: http://core.svn.wordpress.org/branches/4.9@42242 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-12-18 23:58:23 +00:00
Weston Ruter
160e61fddf Editor: Fix determining TinyMCE editor width when in inline mode instead of iframe mode.
See #40854.
Amends [41985].
Props aduth.
Fixes #42416 for 4.9.

Built from https://develop.svn.wordpress.org/branches/4.9@42391


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42220 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-12-13 05:19:40 +00:00
Konstantin Obenland
0a429ab309 Widgets: Always try restoring widget assignments
For code-historic reasons, restoring widget assignments would not be attempted if there were no sidebars to map.
Restoring previous assignments is something unrelated to sidebar mappings however, so now it will be attempted on every theme switch.

Fixes #42719.

Merges [42374] to the 4.9 branch.

Built from https://develop.svn.wordpress.org/branches/4.9@42375


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42204 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-12-07 02:23:45 +00:00
Boone Gorges
030f429e78 category_description() should be taxonomy-agnostic.
This change reinstates the previous de facto behavior of `category_description()`.
See [40979], [42364]. Because `term_description()` no longer passes `$taxonomy` to
`get_term_field()`, the parameter is no longer needed and has been deprecated.

Merges [42368] to the 4.9 branch.

Fixes #42605. See #42771.

Built from https://develop.svn.wordpress.org/branches/4.9@42372


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42201 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-12-04 22:04:42 +00:00
Boone Gorges
c637f0c94f get_the_category_by_ID() should be taxonomy-agnostic.
Prior to 4.9, this function was accidentally taxonomy-agnostic in most cases.
The fix in [40979] caused a regression in this function. For backward
compatibility, we make it explicit that the query is by ID only.

Merges [42367] to the 4.9 branch.

See #42771.

Built from https://develop.svn.wordpress.org/branches/4.9@42371


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42200 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-12-04 22:00:41 +00:00
Boone Gorges
aedaea9209 Fix regression in get_tag_link() since 4.9.
See [42364] for description of the problem.

Because `get_category_link()` is now totally taxonomy-agnostic, `get_tag_link()`
can become a simple wrapper.
 
Merges [42366] to the 4.9 branch.

Props juiiee8487, markjaquith.
See #42771.

Built from https://develop.svn.wordpress.org/branches/4.9@42370


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42199 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-12-04 21:58:42 +00:00
Boone Gorges
edb61cba2e Don't do a strict taxonomy check in get_category_link().
Prior to version 4.9, a quirk in the implementation of `get_term()` caused
`get_category_link( 123 )` to fetch the taxonomy archive link for term 123
even if 123 is not in the 'category' taxonomy. The quirk was fixed in [40979];
see #40671. This bugfix introduced a regression for theme authors who were
expecting the old behavior.

By lifting the 'category' restriction, we allow the template function to work
in the old way.

Merges [42364], [42365] to the 4.9 branch.

Fixes #42717. See #42771.

Built from https://develop.svn.wordpress.org/branches/4.9@42369


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42198 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-12-04 21:55:40 +00:00
Konstantin Obenland
2afecbb253 Widgets: Don't try mapping empty sidebars.
Fixes a bug where the mapping logic would try mapping empty sidebars, resulting in PHP warnings.

Props ionvv, chetan200891 for initial patch.
See #42603.

Merges [42362] to the 4.9 branch.


Built from https://develop.svn.wordpress.org/branches/4.9@42363


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42192 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-12-04 20:17:42 +00:00
Dion Hulse
1fdfabf74c Avoid PHP Linting errors in the Random_Compat library under PHP7.
The latest updates to the library are larger than preferred, so instead this modifies the library to lint properly.

Fixes #42439 for 4.9

Built from https://develop.svn.wordpress.org/branches/4.9@42344


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42173 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-12-01 03:07:42 +00:00
John Blackbourn
c4a15959f5 Bump 4.9 branch to version 4.9.1.
Built from https://develop.svn.wordpress.org/branches/4.9@42316


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42145 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-29 18:55:42 +00:00
John Blackbourn
b4a3edc859 Hardening: Remove the ability to upload JavaScript files for users who do not have the unfiltered_html capability.
Merges [42261] to the 4.9 branch.

Built from https://develop.svn.wordpress.org/branches/4.9@42267


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42096 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-29 16:12:18 +00:00
John Blackbourn
e75247a179 Hardening: Ensure the attributes of enclosures are correctly escaped in RSS and Atom feeds.
Merges [42260] to the 4.9 branch.

Built from https://develop.svn.wordpress.org/branches/4.9@42266


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42095 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-29 16:11:38 +00:00
John Blackbourn
45874b5050 Hardening: Add escaping to the language attributes used on html elements.
Merges [42259] to the 4.9 branch.

Built from https://develop.svn.wordpress.org/branches/4.9@42265


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42094 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-29 16:10:41 +00:00
John Blackbourn
ecd15e008a Hardening: Use a properly generated hash for the newbloguser key instead of a determinate substring.
Merges [42258] to the 4.9 branch.

Built from https://develop.svn.wordpress.org/branches/4.9@42264


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42093 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-29 16:08:41 +00:00
John Blackbourn
594456341d Post WordPress 4.9.1 Beta 1 version bump.
Built from https://develop.svn.wordpress.org/branches/4.9@42254


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42083 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-28 18:12:38 +00:00
John Blackbourn
ec63674dfc WordPress 4.9.1 Beta 1.
Built from https://develop.svn.wordpress.org/branches/4.9@42253


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42082 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-28 18:01:39 +00:00
John Blackbourn
4ae2ee9869 Media: Further improvements to the handling of language codes that get passed to MediaElement.
This change means that only the leading portion of a locale code gets passed to MediaElement, removing problems that arise from locales such as `de_DE_formal` and `pt_PT_ao90`.

Props erich_k4wp, blobfolio, flixos90, ocean90, joemcgill, SergeyBiryukov.

Fixes #42574

Merges [42251] to the 4.9 branch.

Built from https://develop.svn.wordpress.org/branches/4.9@42252


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42081 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-28 14:54:42 +00:00
Dion Hulse
0236fd226e Theme Editor: Translate the URL to the Child Themes Codex page.
Props odysseygate, johnpgreen.
Merges [42247] to the 4.9 branch.
Fixes #42454.

Built from https://develop.svn.wordpress.org/branches/4.9@42248


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42077 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-27 03:53:40 +00:00
Dion Hulse
9fe3e9edf0 Theme Editor: Validate files are editable based on their relative filenames, rather than full file path.
This fixes theme editing on Windows platforms where `validate_file()` will return `2` on a full file path.

Merges [42244] to the 4.9 branch.
Fixes #42609.

Built from https://develop.svn.wordpress.org/branches/4.9@42245


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42074 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-27 03:29:25 +00:00
Dion Hulse
e1095eeb9f Theme/Plugin Editor: Remove the caching added in [41806] as it causes more problems than it fixes.
While caching here seemed like a good idea in theory, in practice the cache would be often stale causing development issues.
We exclude common folders (such as `node_modules`) from the scanning to avoid directories which are not useful to the end-user, so as long as those exclusion lists are held up this shouldn't cause too much of a degredation in the future.
We may consider adding caching here again in the future if it's determined that it is really needed.

Props precies, ibenic, mariovalney, schlessera, and all the others who commented on the ticket(s).
This partually reverts [41806].
Merges [42242] to the 4.9 branch.
See #6531.
Fixes #42573 for 4.9.

Built from https://develop.svn.wordpress.org/branches/4.9@42243


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42072 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-27 03:00:38 +00:00
Dion Hulse
68cb5b6f05 WPDB: Fix the parsing of sockets which contain colons within the socket name (used on some cloud providers).
Props natacado.
Merges [42226] to the 4.9 branch.
Fixes #42634 for 4.9.

Built from https://develop.svn.wordpress.org/branches/4.9@42229


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42058 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-27 00:56:41 +00:00
Dion Hulse
6dc1dd28f5 Themes: Prevent JS error on Themes admin screen when only one theme is installed.
Amends [42029].
Props chetan200891, afercia.
See #42348, westonruter.
Merges [42222] to the 4.9 branch.
Fixes #42673.

Built from https://develop.svn.wordpress.org/branches/4.9@42223


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42052 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-24 02:56:42 +00:00
John Blackbourn
4cb8d10856 Users: Correct the value of the lang attribute in the admin area.
This corrects the value when the user's language is set to `English (United States)` but the site language is not.

Props ocean90, afercia

Fixes #42242

Merges [42220] to the 4.9 branch.

Built from https://develop.svn.wordpress.org/branches/4.9@42221


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42050 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-23 19:06:42 +00:00
John Blackbourn
97ba6be232 Docs: Correct the @since property for the page_attributes_misc_attributes action.
Props jeremyescott, jfarthing84

Fixes #42607

Merges [42203] to the 4.9 branch.

Built from https://develop.svn.wordpress.org/branches/4.9@42219


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42048 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-23 18:03:43 +00:00
Dion Hulse
cee7720939 Upgrade: Fix updating plugins which include a numeric file/folder names.
The fix in [41821] caused numeric folder names to be reindexed to 0..n when in the root directory (for example, `my-plugin/24/`).

Props edo888.
See #41524.
Merges [42214] to the 4.9 branch.
Fixes #42628 for 4.9.

Built from https://develop.svn.wordpress.org/branches/4.9@42215


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42044 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-21 04:16:41 +00:00
Dion Hulse
b09cebf575 Rewrite Rules: Correct the logic in extract_from_markers() after [41928].
Props stodorovic, SergeyBiryukov.
Merges [42199] to the 4.9 branch.
Fixes #42579. See #39920.

Built from https://develop.svn.wordpress.org/branches/4.9@42213


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42042 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-21 03:47:38 +00:00
Dion Hulse
66a3d52431 Multisite: Fix broken update blog_versions query after [41661].
Props Mista-Flo, lenasterg, flixos90.
Merges [42210] to the 4.9 branch.
Fixes #42641.

Built from https://develop.svn.wordpress.org/branches/4.9@42212


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42041 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-21 03:43:40 +00:00
Weston Ruter
85d9b63062 Bump package.json version to 4.9.1
Built from https://develop.svn.wordpress.org/branches/4.9@42197


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42027 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-16 01:16:37 +00:00
Weston Ruter
75ab7d2124 Bump version WordPress 4.9.1 alpha
Built from https://develop.svn.wordpress.org/branches/4.9@42196


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42026 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-16 01:02:39 +00:00
Weston Ruter
553d6fdbe0 Bump version for WordPress 4.9
Built from https://develop.svn.wordpress.org/branches/4.9@42195


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42025 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-16 00:12:39 +00:00
Weston Ruter
35b40d1001 Editor: Re-build tinymce.min.js after [42191].
See #42553.

Built from https://develop.svn.wordpress.org/branches/4.9@42194


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42024 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-15 23:36:39 +00:00
Weston Ruter
a5f8e0917f Editor: Disable wp_keep_scroll_position in IE11 since buggy; fix matches polyfill conflict with ME.js by doing runtime feature detection in context window.
Props westonruter, SergeyBiryukov, Clorith for testing.
See #41962, #42029.
Fixes #42553 for 4.9.

Built from https://develop.svn.wordpress.org/branches/4.9@42192


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42022 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-15 19:00:38 +00:00
Weston Ruter
73615e0bc4 File Editor: Eliminate gap inserted between code editor and heading in IE11 when CodeMirror initializes.
Props afercia, melchoyce, Clorith for testing, SergeyBiryukov for testing.
See #12423.
Fixes #42554 for 4.9.

Built from https://develop.svn.wordpress.org/branches/4.9@42190


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42020 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-15 18:31:37 +00:00
Weston Ruter
567de560e9 Customize: Prevent themes panel from auto-expanding in IE11.
In IE11 the `input` event erroneously gets triggered initially without any user input.

Amends [41648].
See #37661.
Fixes #42556 for 4.9.

Built from https://develop.svn.wordpress.org/branches/4.9@42188


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42018 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-15 18:13:40 +00:00
Weston Ruter
ff85340727 Widgets: Set global $post to current queried object instead of nullifying when is_singular() while applying filters (and shortcodes) in Text widget and (via plugin) Custom HTML widget.
Also prevent `[gallery]` shortcode from dumping out every attachment on the site when a containing Text widget is shown on an archive template.

Props westonruter, bobbingwide, joemcgill for testing.
See #10457.
Fixes #42548, #42547 for 4.9.

Built from https://develop.svn.wordpress.org/branches/4.9@42186


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42016 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-15 02:33:44 +00:00
Weston Ruter
ecf8680978 Editor: Improve scrolling behavior and prevent autosave logic from causing dirty state when just switching between Visual and Text tabs.
Props pento.
See #41962, #42029.
Fixes #42530 for 4.9.

Built from https://develop.svn.wordpress.org/branches/4.9@42184


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42014 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-15 00:22:42 +00:00
Weston Ruter
36282a2a9c About Page: Fix issue with overlapping images and text on IE11 and Edge 15.
Props Clorith, ryelle, afercia, la-geek, SergeyBiryukov.
See #42087.
Fixes #42545 for 4.9

Built from https://develop.svn.wordpress.org/branches/4.9@42182


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42012 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-14 23:04:40 +00:00
Weston Ruter
44eb69904d Post WordPress 4.9 RC3 bump.
Built from https://develop.svn.wordpress.org/branches/4.9@42180


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42010 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-14 06:51:41 +00:00
Weston Ruter
ce6b628972 WordPress 4.9 RC3.
Built from https://develop.svn.wordpress.org/branches/4.9@42179


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42009 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-14 06:08:40 +00:00
Weston Ruter
0110751ddc Editor: Cease adding paragraphs when switching editor tabs.
Fixes an error since [41783] in which extra paragraphs could be added to content when switching editor tabs.

Props pento, adamsilverstein, aduth.
Fixes #42531 for 4.9.

Built from https://develop.svn.wordpress.org/branches/4.9@42178


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42008 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-14 05:28:41 +00:00
Gary Pendergast
5e736b62e0 Editor: When switching Editor tabs, don't scroll unnecessarily.
- When switching to the Text view, wait until after the Visual editor element has been hidden, before focussing the `<textarea>`.
- When switching to the Visual view, only scroll if the cursor is not visible on the current screen.

Merge of 52175 to the 4.9 branch.

Fixes #42530.


Built from https://develop.svn.wordpress.org/branches/4.9@42176


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42006 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-14 05:21:39 +00:00
Weston Ruter
eb18399c10 About: Fix jumping behavior for titles and columns when scrolling.
Props ryelle.
See #42087.
Fixes #42514, #42526 for 4.9.

Built from https://develop.svn.wordpress.org/branches/4.9@42174


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42004 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-13 22:48:36 +00:00
Weston Ruter
c268b2f28c Customize: Allow notifications for linting errors in code editor control (for Additional CSS) to be overridden to allow saving.
Implements the same override that was implemented in [41721] for the theme/plugin editors.

See #41897, #41887.
Fixes #42528 for 4.9.

Built from https://develop.svn.wordpress.org/branches/4.9@42172


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42002 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-13 22:47:12 +00:00
Weston Ruter
15b14c30c1 Customize: Prevent PHP notice on theme-switch dashboard welcome link (and link to themes admin screen) when user cannot customize.
Props skostadinov, ocean90.
Amends [41699].
See #42050.
Fixes #42525 for 4.9.

Built from https://develop.svn.wordpress.org/branches/4.9@42170


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42000 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-13 22:45:47 +00:00
Dominik Schilling
0d7f326477 Build: Add npm-shrinkwrap.json.
For compatibility with the build server `fsevent` has been manually removed.

Props netweb.
See #42483.
Built from https://develop.svn.wordpress.org/branches/4.9@42168


git-svn-id: http://core.svn.wordpress.org/branches/4.9@41998 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-13 22:44:24 +00:00
Dominik Schilling
062ab0b0c8 Revert [42166].
Due to running `npm install` an updated `npm-shrinkwrap.json` file was committed.

See #42483.
Built from https://develop.svn.wordpress.org/branches/4.9@42167


git-svn-id: http://core.svn.wordpress.org/branches/4.9@41997 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-13 22:43:42 +00:00
Weston Ruter
46c75fbaf7 I18N: Fix passing singular/plural strings to JS.
This is a temporary solution while waiting for full I18N support in JS.

Props ocean90, dd32, westonruter, Mirucon for testing.
Amends [41376], [41721], [41389].
See #20491.
Fixes #42510 for 4.9.

Built from https://develop.svn.wordpress.org/branches/4.9@42164


git-svn-id: http://core.svn.wordpress.org/branches/4.9@41995 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-13 07:09:35 +00:00
Weston Ruter
11e007c502 About: Add vertical alignment for developer happiness sections.
Also run CSS autoprefixer to add `-ms-` prefixes for CSS grid identifiers for IE11.

Props Presskopp.
Amends [42121].
See #42087.
Fixes #42524 for 4.9.

Built from https://develop.svn.wordpress.org/branches/4.9@42162


git-svn-id: http://core.svn.wordpress.org/branches/4.9@41993 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-13 05:49:36 +00:00
Weston Ruter
b0c557fbb2 About: Fix grammar typo with pluralization.
Props metodiew, westonruter.
Amends [42121].
See #42087.
Fixes #42476 for 4.9.

Built from https://develop.svn.wordpress.org/branches/4.9@42160


git-svn-id: http://core.svn.wordpress.org/branches/4.9@41991 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-13 05:20:36 +00:00
Weston Ruter
277261edeb About: Synchronize 4.9 tagline across about pages for credits, freedoms, and privacy.
Props dave.pullig.
Amends [41943].
See #42087.
Fixes #42518 for 4.9.

Built from https://develop.svn.wordpress.org/branches/4.9@42158


git-svn-id: http://core.svn.wordpress.org/branches/4.9@41989 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-12 20:00:37 +00:00
Weston Ruter
1b39843b11 Theme Editor: Fix styling of child theme notice.
Props westonruter, melchoyce, ndiego.
See #24048.
Fixes #42491 for 4.9.

Built from https://develop.svn.wordpress.org/branches/4.9@42156


git-svn-id: http://core.svn.wordpress.org/branches/4.9@41987 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-11 20:44:38 +00:00
Weston Ruter
6cc5d01d17 Customize: Restore ability to add Custom Link nav menu items for jump links and other URLs that were previously allowed.
Simplify regular expression for checking URL validity to just do basic checks to confirm the value looks like a URL. Leave the complete validation to the server-side logic in `WP_Customize_Nav_Menu_Item_Setting::sanitize()` to avoid having to maintain two separate codebases for validating URLs.

Props westonruter, SergeyBiryukov for testing.
Amends [41697].
See #32816.
Fixes #42506 for 4.9.

Built from https://develop.svn.wordpress.org/branches/4.9@42154


git-svn-id: http://core.svn.wordpress.org/branches/4.9@41985 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-10 23:43:39 +00:00
Weston Ruter
523fcaca2e Customize: Ensure customization drafts are published instead of trashed when scheduled changeset goes live while non-admin user is authenticated (such as during WP Cron).
Props designsimply for testing, dlh for testing, melchoyce for testing.
See #28721, #34923, #42220.
Fixes #42489 for 4.9.

Built from https://develop.svn.wordpress.org/branches/4.9@42149


git-svn-id: http://core.svn.wordpress.org/branches/4.9@41980 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-10 22:45:38 +00:00
Weston Ruter
a647fbead2 Settings: Replace count() call with empty() in get_settings_errors() to prevent PHP 7.2 warnings when $wp_settings_errors is null.
Props pross, dd32, westonruter.
See #40109.
Fixes #42498 for 4.9.

Built from https://develop.svn.wordpress.org/branches/4.9@42147


git-svn-id: http://core.svn.wordpress.org/branches/4.9@41978 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-10 22:32:47 +00:00
Weston Ruter
389166f9aa Customize: Ensure autosave revision is dismissed immediately after implicit restoration notice dismissal as done with explicit notice dismissal.
Fixes issue where a drafted/scheduled changeset could inadvertently re-use the previous autosave revision in the preview while a user expects it to have been dismissed.

See #39896, [41597].
Fixes #42502 for 4.9.

Built from https://develop.svn.wordpress.org/branches/4.9@42145


git-svn-id: http://core.svn.wordpress.org/branches/4.9@41976 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-10 21:45:38 +00:00
Weston Ruter
af74789be0 Widgets: Style the Image Widget's link field as invalid when a bad URL is supplied.
Fixes issue where user may supply an invalid URL and be unable to save the widget on the Widgets admin screen without being told why.

Amends [41252].
See #41274.
Fixes #42488 for 4.9.

Built from https://develop.svn.wordpress.org/branches/4.9@42141


git-svn-id: http://core.svn.wordpress.org/branches/4.9@41972 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-10 01:29:40 +00:00
Weston Ruter
ca12fb6710 Customize: Fix reliability of just-in-time publishing for changesets that miss their schedule when visiting customize.php.
When just doing `wp_publish_post()` for the changeset from `customize.php`, any option-based settings will fail to get saved because `WP_Customize_Manager` would have already been loaded with `settings_previewed`, resulting in `update_option()` calls being short-circuited. So an admin-ajax request to `customize_save` is used to work around this.

Props westonruter, jeremyfelt, dlh for testing, LittleBigThing for testing.
Amends [41626].
See #28721, #39221.
Fixes #42457 for 4.9.

Built from https://develop.svn.wordpress.org/branches/4.9@42139


git-svn-id: http://core.svn.wordpress.org/branches/4.9@41970 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-09 04:45:38 +00:00
Weston Ruter
707a3196f7 Customize: Ensure autosaving message gets sent to preview after initial change when saved state is first dirty.
Amends [41667].
Fixes #42475 for 4.9.

Built from https://develop.svn.wordpress.org/branches/4.9@42137


git-svn-id: http://core.svn.wordpress.org/branches/4.9@41968 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-09 04:21:40 +00:00
Weston Ruter
e6a91f7ccf Settings: Fix date/time format previewing.
Props afercia.
Amends [41857].
Fixes #41603 for 4.9.

Built from https://develop.svn.wordpress.org/branches/4.9@42135


git-svn-id: http://core.svn.wordpress.org/branches/4.9@41966 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-09 03:57:36 +00:00
Weston Ruter
bbef4fd178 Customize: Restore search icon to available widgets pane incorrectly removed in [41893].
See #42215.
Fixes #42472 for 4.9.

Built from https://develop.svn.wordpress.org/branches/4.9@42133


git-svn-id: http://core.svn.wordpress.org/branches/4.9@41964 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-09 01:06:34 +00:00
Weston Ruter
fcb3e4d712 Branch 4.9
Built from https://develop.svn.wordpress.org/branches/4.9@42126


git-svn-id: http://core.svn.wordpress.org/branches/4.9@41957 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-07 05:41:11 +00:00
168 changed files with 8103 additions and 28565 deletions

View File

@@ -1,6 +1,6 @@
WordPress - Web publishing software
Copyright 2011-2017 by the contributors
Copyright 2011-2018 by the contributors
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by

View File

@@ -30,6 +30,64 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
<a href="privacy.php" class="nav-tab"><?php _e( 'Privacy' ); ?></a>
</h2>
<div class="changelog point-releases">
<h3><?php _e( 'Maintenance and Security Releases' ); ?></h3>
<p>
<?php
printf(
/* translators: 1: WordPress version number, 2: plural number of bugs. */
_n(
'<strong>Version %1$s</strong> addressed %2$s bug.',
'<strong>Version %1$s</strong> addressed %2$s bugs.',
34
),
'4.9.3',
number_format_i18n( 34 )
);
?>
<?php
/* translators: %s: Codex URL */
printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'https://codex.wordpress.org/Version_4.9.3' );
?>
</p>
<p>
<?php
printf(
/* translators: 1: WordPress version number, 2: plural number of bugs. */
_n(
'<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bug.',
'<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bugs.',
22
),
'4.9.2',
number_format_i18n( 22 )
);
?>
<?php
/* translators: %s: Codex URL */
printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'https://codex.wordpress.org/Version_4.9.2' );
?>
</p>
<p>
<?php
printf(
/* translators: 1: WordPress version number, 2: plural number of bugs. */
_n(
'<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bug.',
'<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bugs.',
11
),
'4.9.1',
number_format_i18n( 11 )
);
?>
<?php
/* translators: %s: Codex URL */
printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'https://codex.wordpress.org/Version_4.9.1' );
?>
</p>
</div>
<div class="feature-section one-col">
<div class="col">
<h2>
@@ -53,7 +111,9 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
</div>
<div class="floating-header-section">
<h2><?php _e( 'Customizer Workflow Improved' ); ?></h2>
<div class="section-header">
<h2><?php _e( 'Customizer Workflow Improved' ); ?></h2>
</div>
<div class="section-content">
<div class="section-item">
@@ -88,7 +148,9 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
</div>
<div class="floating-header-section">
<h2><?php _e( 'Coding Enhancements' ); ?></h2>
<div class="section-header">
<h2><?php _e( 'Coding Enhancements' ); ?></h2>
</div>
<div class="section-content">
<div class="section-item">
@@ -116,7 +178,9 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
</div>
<div class="floating-header-section">
<h2><?php _e( 'Even More Widget Updates' ); ?></h2>
<div class="section-header">
<h2><?php _e( 'Even More Widget Updates' ); ?></h2>
</div>
<div class="section-content">
<div class="section-item">
@@ -137,7 +201,9 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
</div>
<div class="floating-header-section">
<h2><?php _e( 'Site Building Improvements' ); ?></h2>
<div class="section-header">
<h2><?php _e( 'Site Building Improvements' ); ?></h2>
</div>
<div class="section-content">
<div class="section-item">
@@ -211,7 +277,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
<p><?php _e( 'WordPress 4.9 includes an upgraded version of MediaElement.js, which removes dependencies on jQuery, improves accessibility, modernizes the UI, and fixes many bugs.' ); ?></p>
</div>
<div class="col">
<h3><a href="https://make.wordpress.org/core/2017/10/15/improvements-for-roles-and-capabilities-in-4-9/"><?php _e( 'Roles and Capability Improvements' ); ?></a></h3>
<h3><a href="https://make.wordpress.org/core/2017/10/15/improvements-for-roles-and-capabilities-in-4-9/"><?php _e( 'Improvements to Roles and Capabilities' ); ?></a></h3>
<p><?php _e( 'New capabilities have been introduced that allow granular management of plugins and translation files. In addition, the site switching process in multisite has been fine-tuned to update the available roles and capabilities in a more reliable and coherent way.' ); ?></p>
</div>
</div>
@@ -242,34 +308,78 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
offset += $adminbar.height();
}
var adjustScrollClass = _.throttle( function adjustScrollClass() {
function setup() {
$sections.each( function( i, section ) {
var $section = $( section );
// If the title is long, switch the layout
var $title = $section.find( 'h2' );
if ( $title.innerWidth() > 300 ) {
$section.addClass( 'has-long-title' );
}
} );
}
var adjustScrollPosition = _.throttle( function adjustScrollPosition() {
$sections.each( function( i, section ) {
var $section = $( section );
var $header = $section.find( 'h2' );
var width = $header.innerWidth();
var height = $header.innerHeight();
if ( $section.hasClass( 'has-long-title' ) ) {
return;
}
var sectionStart = $section.offset().top - offset;
var sectionEnd = sectionStart + $section.innerHeight() - 60;
var sectionEnd = sectionStart + $section.innerHeight();
var scrollPos = $window.scrollTop();
// If we're scrolled into a section, stick the header
if ( $window.scrollTop() >= sectionStart && $window.scrollTop() < sectionEnd ) {
$header.addClass( 'header-fixed' );
$header.css( { top: offset + 'px', width: width + 'px' } );
if ( scrollPos >= sectionStart && scrollPos < sectionEnd - height ) {
$header.css( {
position: 'fixed',
top: offset + 'px',
bottom: 'auto',
width: width + 'px'
} );
// If we're at the end of the section, stick the header to the bottom
} else if ( scrollPos >= sectionEnd - height && scrollPos < sectionEnd ) {
$header.css( {
position: 'absolute',
top: 'auto',
bottom: 0,
width: width + 'px'
} );
// Unstick the header
} else {
$header.removeClass( 'header-fixed' );
$header.css( { top: 0, width: 'auto' } );
$header.css( {
position: 'static',
top: 'auto',
bottom: 'auto',
width: 'auto'
} );
}
} );
}, 100 );
function enableFixedHeaders() {
if ( $window.width() > 782 ) {
adjustScrollClass();
$window.on( 'scroll', adjustScrollClass );
setup();
adjustScrollPosition();
$window.on( 'scroll', adjustScrollPosition );
} else {
$window.off( 'scroll', adjustScrollClass );
$window.off( 'scroll', adjustScrollPosition );
$sections.find( '.section-header' )
.css( {
width: 'auto'
} );
$sections.find( 'h2' )
.removeClass( 'header-fixed' )
.css( { top: 0, width: 'auto' } );
.css( {
position: 'static',
top: 'auto',
bottom: 'auto',
width: 'auto'
} );
}
}
$( window ).resize( enableFixedHeaders );

View File

@@ -20,7 +20,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
<h1><?php printf( __( 'Welcome to WordPress %s' ), $display_version ); ?></h1>
<p class="about-text"><?php printf( __( 'Thank you for updating to the latest version! WordPress %s adds more ways for you to express yourself and represent your brand.' ), $display_version ); ?></p>
<p class="about-text"><?php printf( __( 'Thank you for updating to the latest version! WordPress %s will smooth your design workflow and keep you safe from coding errors.' ), $display_version ); ?></p>
<div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>

View File

@@ -172,8 +172,6 @@
display: flex;
-webkit-box-pack: justify;
justify-content: space-between;
-webkit-box-align: center;
align-items: center;
flex-wrap: wrap;
}
@@ -262,8 +260,10 @@
.about-wrap .two-col-text {
-webkit-column-count: 2;
-moz-column-count: 2;
column-count: 2;
-webkit-column-gap: 40px;
-moz-column-gap: 40px;
column-gap: 40px;
}
@@ -357,37 +357,87 @@
/* 2.3 Floating Header Layout */
.about-wrap .floating-header-section {
display: -ms-grid;
display: grid;
grid-gap: 0 60px;
-ms-grid-columns: 5fr 11fr;
grid-template-columns: 5fr 11fr;
max-width: 1020px;
margin: 0 auto 120px;
}
.about-wrap .floating-header-section h2 {
.about-wrap .floating-header-section .section-header {
-ms-grid-column: 1;
grid-column: 1;
text-align: right;
margin: 0;
position: relative;
min-width: 230px;
max-width: 300px;
}
.about-wrap .floating-header-section .header-fixed {
position: fixed;
width: 300px;
.about-wrap .floating-header-section h2 {
margin: 0;
text-align: right;
position: absolute;
}
.about-wrap .floating-header-section .section-content {
display: grid;
grid-gap: 60px;
grid-template-columns: 5fr 5fr;
-ms-grid-column: 2;
grid-column: 2;
display: -webkit-box;
display: flex;
-webkit-box-pack: justify;
justify-content: space-between;
-webkit-box-align: start;
align-items: flex-start;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-flow: row wrap;
-webkit-box-flex: 2;
flex-grow: 2;
flex-shrink: 0;
}
.about-wrap .floating-header-section .section-item:nth-of-type(odd) {
grid-column: 1;
.about-wrap .floating-header-section .section-item {
-webkit-box-flex: 1;
flex-grow: 1;
max-width: calc(50% - 30px);
}
.about-wrap .floating-header-section .section-item:nth-of-type(even) {
grid-column: 2;
.about-wrap .floating-header-section .section-item:nth-child(1),
.about-wrap .floating-header-section .section-item:nth-child(2) {
margin-bottom: 60px;
}
.about-wrap .floating-header-section .section-item:nth-child(1):nth-last-child(2),
.about-wrap .floating-header-section .section-item:nth-child(2):nth-last-child(1) {
margin-bottom: 0;
}
.about-wrap .floating-header-section.has-long-title {
display: block;
}
.about-wrap .floating-header-section.has-long-title .section-header {
max-width: 100%;
}
.about-wrap .floating-header-section.has-long-title h2 {
position: static;
margin-bottom: 60px;
}
.about-wrap .floating-header-section.has-long-title .section-content {
-webkit-box-pack: start;
justify-content: flex-start;
}
.about-wrap .floating-header-section.has-long-title .section-item {
max-width: 300px;
margin-bottom: 0;
}
.about-wrap .floating-header-section.has-long-title .section-item + .section-item {
margin-right: 60px;
}
/*------------------------------------------------------------------------------
@@ -409,7 +459,7 @@
}
.about-wrap .compact {
margin-bottom: 0
margin-bottom: 0;
}
.about-wrap .wp-person {
@@ -481,9 +531,27 @@
4.0 - Media Queries
------------------------------------------------------------------------------*/
@media screen and ( max-width: 782px ) {
@media screen and (max-width: 1250px) {
.about-wrap .floating-header-section.has-long-title .section-item:nth-child(1),
.about-wrap .floating-header-section.has-long-title .section-item:nth-child(2) {
margin: 0 0 60px;
}
.about-wrap .floating-header-section.has-long-title .section-item:nth-child(3),
.about-wrap .floating-header-section.has-long-title .section-item:nth-child(4) {
margin: 0;
}
.about-wrap .floating-header-section.has-long-title .section-item:nth-child(2),
.about-wrap .floating-header-section.has-long-title .section-item:nth-child(4) {
margin-right: 60px;
}
}
@media screen and (max-width: 782px) {
.about-wrap .two-col-text {
-webkit-column-count: 1;
-moz-column-count: 1;
column-count: 1;
}
@@ -498,13 +566,17 @@
}
.about-wrap .floating-header-section {
grid-template-columns: 1fr;
grid-gap: 60px 0;
display: block;
}
.about-wrap .floating-header-section h2,
.about-wrap .floating-header-section .section-header,
.about-wrap .floating-header-section .section-content {
grid-column: 1;
max-width: 100%;
}
.about-wrap .floating-header-section h2 {
position: static;
margin-bottom: 60px;
}
}
@@ -560,12 +632,15 @@
margin-bottom: 60px;
}
.about-wrap .floating-header-section .section-content {
grid-template-columns: 1fr;
grid-gap: 60px 0;
.about-wrap .floating-header-section h2 {
word-break: break-all;
-webkit-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
}
.about-wrap .floating-header-section .section-content .section-item {
grid-column: 1;
max-width: 100%;
margin: 0 0 60px;
}
}

File diff suppressed because one or more lines are too long

View File

@@ -172,8 +172,6 @@
display: flex;
-webkit-box-pack: justify;
justify-content: space-between;
-webkit-box-align: center;
align-items: center;
flex-wrap: wrap;
}
@@ -262,8 +260,10 @@
.about-wrap .two-col-text {
-webkit-column-count: 2;
-moz-column-count: 2;
column-count: 2;
-webkit-column-gap: 40px;
-moz-column-gap: 40px;
column-gap: 40px;
}
@@ -357,37 +357,87 @@
/* 2.3 Floating Header Layout */
.about-wrap .floating-header-section {
display: -ms-grid;
display: grid;
grid-gap: 0 60px;
-ms-grid-columns: 5fr 11fr;
grid-template-columns: 5fr 11fr;
max-width: 1020px;
margin: 0 auto 120px;
}
.about-wrap .floating-header-section h2 {
.about-wrap .floating-header-section .section-header {
-ms-grid-column: 1;
grid-column: 1;
text-align: left;
margin: 0;
position: relative;
min-width: 230px;
max-width: 300px;
}
.about-wrap .floating-header-section .header-fixed {
position: fixed;
width: 300px;
.about-wrap .floating-header-section h2 {
margin: 0;
text-align: left;
position: absolute;
}
.about-wrap .floating-header-section .section-content {
display: grid;
grid-gap: 60px;
grid-template-columns: 5fr 5fr;
-ms-grid-column: 2;
grid-column: 2;
display: -webkit-box;
display: flex;
-webkit-box-pack: justify;
justify-content: space-between;
-webkit-box-align: start;
align-items: flex-start;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-flow: row wrap;
-webkit-box-flex: 2;
flex-grow: 2;
flex-shrink: 0;
}
.about-wrap .floating-header-section .section-item:nth-of-type(odd) {
grid-column: 1;
.about-wrap .floating-header-section .section-item {
-webkit-box-flex: 1;
flex-grow: 1;
max-width: calc(50% - 30px);
}
.about-wrap .floating-header-section .section-item:nth-of-type(even) {
grid-column: 2;
.about-wrap .floating-header-section .section-item:nth-child(1),
.about-wrap .floating-header-section .section-item:nth-child(2) {
margin-bottom: 60px;
}
.about-wrap .floating-header-section .section-item:nth-child(1):nth-last-child(2),
.about-wrap .floating-header-section .section-item:nth-child(2):nth-last-child(1) {
margin-bottom: 0;
}
.about-wrap .floating-header-section.has-long-title {
display: block;
}
.about-wrap .floating-header-section.has-long-title .section-header {
max-width: 100%;
}
.about-wrap .floating-header-section.has-long-title h2 {
position: static;
margin-bottom: 60px;
}
.about-wrap .floating-header-section.has-long-title .section-content {
-webkit-box-pack: start;
justify-content: flex-start;
}
.about-wrap .floating-header-section.has-long-title .section-item {
max-width: 300px;
margin-bottom: 0;
}
.about-wrap .floating-header-section.has-long-title .section-item + .section-item {
margin-left: 60px;
}
/*------------------------------------------------------------------------------
@@ -409,7 +459,7 @@
}
.about-wrap .compact {
margin-bottom: 0
margin-bottom: 0;
}
.about-wrap .wp-person {
@@ -481,9 +531,27 @@
4.0 - Media Queries
------------------------------------------------------------------------------*/
@media screen and ( max-width: 782px ) {
@media screen and (max-width: 1250px) {
.about-wrap .floating-header-section.has-long-title .section-item:nth-child(1),
.about-wrap .floating-header-section.has-long-title .section-item:nth-child(2) {
margin: 0 0 60px;
}
.about-wrap .floating-header-section.has-long-title .section-item:nth-child(3),
.about-wrap .floating-header-section.has-long-title .section-item:nth-child(4) {
margin: 0;
}
.about-wrap .floating-header-section.has-long-title .section-item:nth-child(2),
.about-wrap .floating-header-section.has-long-title .section-item:nth-child(4) {
margin-left: 60px;
}
}
@media screen and (max-width: 782px) {
.about-wrap .two-col-text {
-webkit-column-count: 1;
-moz-column-count: 1;
column-count: 1;
}
@@ -498,13 +566,17 @@
}
.about-wrap .floating-header-section {
grid-template-columns: 1fr;
grid-gap: 60px 0;
display: block;
}
.about-wrap .floating-header-section h2,
.about-wrap .floating-header-section .section-header,
.about-wrap .floating-header-section .section-content {
grid-column: 1;
max-width: 100%;
}
.about-wrap .floating-header-section h2 {
position: static;
margin-bottom: 60px;
}
}
@@ -560,12 +632,15 @@
margin-bottom: 60px;
}
.about-wrap .floating-header-section .section-content {
grid-template-columns: 1fr;
grid-gap: 60px 0;
.about-wrap .floating-header-section h2 {
word-break: break-all;
-webkit-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
}
.about-wrap .floating-header-section .section-content .section-item {
grid-column: 1;
max-width: 100%;
margin: 0 0 60px;
}
}

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

@@ -860,7 +860,7 @@ hr {
#media-items a.delete,
#media-items a.delete-permanently,
#nav-menu-footer .menu-delete,
#delete-link a.delete {
#delete-link a.delete {
color: #a00;
}
@@ -1188,11 +1188,19 @@ th.action-links {
.filter-drawer .filter-group-feature input,
.filter-drawer .filter-group-feature label {
display: inline-block;
margin: 7px 0 7px 4px;
line-height: 16px;
}
.filter-drawer .filter-group-feature input {
position: absolute;
margin: 0;
}
.filter-group .filter-group-feature label {
display: block;
margin: 14px 23px 14px 0px;
}
.filter-drawer .buttons {
clear: both;
margin-bottom: 20px;
@@ -1700,7 +1708,7 @@ form.upgrade .hint {
.toggle-arrow {
background-repeat: no-repeat;
background-position: top left;
background-position: top right;
background-color: transparent;
height: 22px;
line-height: 22px;
@@ -1708,7 +1716,7 @@ form.upgrade .hint {
}
.toggle-arrow-active {
background-position: bottom left;
background-position: bottom right;
}
#screen-options-wrap h5, /* Back-compat for old plugins */
@@ -3042,6 +3050,7 @@ img {
min-height: 60vh;
height: calc( 100vh - 295px );
border: 1px solid #ddd;
box-sizing: border-box;
}
#templateside > h2 {
@@ -3060,8 +3069,8 @@ img {
margin-top: 0;
overflow: auto;
padding: 0;
min-height: calc(60vh + 2px);
height: calc(100vh - 293px);
min-height: 60vh;
height: calc(100vh - 295px);
background-color: #f7f7f7;
border: 1px solid #ddd;
border-right: none;
@@ -3240,17 +3249,21 @@ img {
margin: 4px 0;
}
#templateside li a,
#templateside li:not(.howto) a,
.theme-editor-php .highlight {
display: block;
padding: 3px 12px 3px 0;
text-decoration: none;
}
#templateside li > a:first-of-type {
#templateside li:not(.howto) > a:first-of-type {
padding-top: 0;
}
#templateside li.howto {
padding: 6px 12px 12px 12px;
}
.theme-editor-php .highlight {
margin: -3px -12px -3px 3px;
}
@@ -3756,17 +3769,17 @@ img {
}
/* Theme/Plugin File Editor */
#template textarea,
#template textarea,
#template .CodeMirror {
box-sizing: border-box;
}
#templateside {
float: none;
width: auto;
}
#templateside > ul {
border-right: 1px solid #ddd;
}
@@ -3775,10 +3788,13 @@ img {
margin: 0;
}
#templateside li a {
#templateside li:not(.howto) a {
display: block;
padding: 5px;
}
#templateside li.howto {
padding: 12px;
}
#templateside .highlight {
padding: 5px;
@@ -3834,31 +3850,31 @@ img {
width: 100%;
text-align: right;
}
.fileedit-sub .alignright label {
display: block;
}
.fileedit-sub #theme,
.fileedit-sub #theme,
.fileedit-sub #plugin {
margin-right: 0;
max-width: 70%;
max-width: 70%;
}
.fileedit-sub input[type="submit"] {
margin-bottom: 0px;
padding: 8px 18px;
}
#documentation label[for="docs-list"] {
display: block;
}
#documentation select[name="docs-list"] {
margin-right: 0;
max-width: 60%;
}
#documentation input[type="button"] {
margin-bottom: 0;
padding: 8px 18px;
@@ -3881,6 +3897,10 @@ img {
line-height: 25px;
}
.filter-drawer .filter-group-feature label {
margin-right: 32px;
}
.wp-filter .button.drawer-toggle {
font-size: 13px;
line-height: 26px;

File diff suppressed because one or more lines are too long

View File

@@ -860,7 +860,7 @@ hr {
#media-items a.delete,
#media-items a.delete-permanently,
#nav-menu-footer .menu-delete,
#delete-link a.delete {
#delete-link a.delete {
color: #a00;
}
@@ -1188,11 +1188,19 @@ th.action-links {
.filter-drawer .filter-group-feature input,
.filter-drawer .filter-group-feature label {
display: inline-block;
margin: 7px 4px 7px 0;
line-height: 16px;
}
.filter-drawer .filter-group-feature input {
position: absolute;
margin: 0;
}
.filter-group .filter-group-feature label {
display: block;
margin: 14px 0px 14px 23px;
}
.filter-drawer .buttons {
clear: both;
margin-bottom: 20px;
@@ -3042,6 +3050,7 @@ img {
min-height: 60vh;
height: calc( 100vh - 295px );
border: 1px solid #ddd;
box-sizing: border-box;
}
#templateside > h2 {
@@ -3060,8 +3069,8 @@ img {
margin-top: 0;
overflow: auto;
padding: 0;
min-height: calc(60vh + 2px);
height: calc(100vh - 293px);
min-height: 60vh;
height: calc(100vh - 295px);
background-color: #f7f7f7;
border: 1px solid #ddd;
border-left: none;
@@ -3240,17 +3249,21 @@ img {
margin: 4px 0;
}
#templateside li a,
#templateside li:not(.howto) a,
.theme-editor-php .highlight {
display: block;
padding: 3px 0 3px 12px;
text-decoration: none;
}
#templateside li > a:first-of-type {
#templateside li:not(.howto) > a:first-of-type {
padding-top: 0;
}
#templateside li.howto {
padding: 6px 12px 12px 12px;
}
.theme-editor-php .highlight {
margin: -3px 3px -3px -12px;
}
@@ -3756,17 +3769,17 @@ img {
}
/* Theme/Plugin File Editor */
#template textarea,
#template textarea,
#template .CodeMirror {
box-sizing: border-box;
}
#templateside {
float: none;
width: auto;
}
#templateside > ul {
border-left: 1px solid #ddd;
}
@@ -3775,10 +3788,13 @@ img {
margin: 0;
}
#templateside li a {
#templateside li:not(.howto) a {
display: block;
padding: 5px;
}
#templateside li.howto {
padding: 12px;
}
#templateside .highlight {
padding: 5px;
@@ -3834,31 +3850,31 @@ img {
width: 100%;
text-align: left;
}
.fileedit-sub .alignright label {
display: block;
}
.fileedit-sub #theme,
.fileedit-sub #theme,
.fileedit-sub #plugin {
margin-left: 0;
max-width: 70%;
max-width: 70%;
}
.fileedit-sub input[type="submit"] {
margin-bottom: 0px;
padding: 8px 18px;
}
#documentation label[for="docs-list"] {
display: block;
}
#documentation select[name="docs-list"] {
margin-left: 0;
max-width: 60%;
}
#documentation input[type="button"] {
margin-bottom: 0;
padding: 8px 18px;
@@ -3881,6 +3897,10 @@ img {
line-height: 25px;
}
.filter-drawer .filter-group-feature label {
margin-left: 32px;
}
.wp-filter .button.drawer-toggle {
font-size: 13px;
line-height: 26px;

File diff suppressed because one or more lines are too long

View File

@@ -2706,6 +2706,7 @@ body.adding-widget .add-new-widget:before,
}
#available-menu-items-search .search-icon:after,
#available-widgets-filter .search-icon:after,
.themes-filter-bar .search-icon:after {
content: "\f179";
font: normal 20px/1 dashicons;

File diff suppressed because one or more lines are too long

View File

@@ -2706,6 +2706,7 @@ body.adding-widget .add-new-widget:before,
}
#available-menu-items-search .search-icon:after,
#available-widgets-filter .search-icon:after,
.themes-filter-bar .search-icon:after {
content: "\f179";
font: normal 20px/1 dashicons;

File diff suppressed because one or more lines are too long

View File

@@ -216,6 +216,10 @@
padding-top: 12px;
}
.menu-location-settings .customize-control-checkbox .theme-location-set {
line-height: 1;
}
.customize-control-nav_menu_auto_add label {
vertical-align: top;
}

File diff suppressed because one or more lines are too long

View File

@@ -216,6 +216,10 @@
padding-top: 12px;
}
.menu-location-settings .customize-control-checkbox .theme-location-set {
line-height: 1;
}
.customize-control-nav_menu_auto_add label {
vertical-align: top;
}

File diff suppressed because one or more lines are too long

View File

@@ -330,7 +330,7 @@ form#tags-filter {
}
#content-resize-handle {
background: transparent url(../images/resize.gif) no-repeat scroll right bottom;
background: transparent url(../images/resize.gif) no-repeat scroll left bottom;
width: 12px;
cursor: row-resize;
}
@@ -1299,7 +1299,7 @@ table.links-table {
(min-resolution: 120dpi) {
#content-resize-handle,
#post-body .wp_themeSkin .mceStatusbar a.mceResize {
background: transparent url(../images/resize-2x.gif) no-repeat scroll right bottom;
background: transparent url(../images/resize-2x.gif) no-repeat scroll left bottom;
background-size: 11px 11px;
}

File diff suppressed because one or more lines are too long

View File

@@ -897,7 +897,7 @@ table.form-table td .updated p {
.options-general-php .spinner {
float: none;
margin: 0 3px;
margin: -3px 3px 0;
}
.settings-php .language-install-spinner,

File diff suppressed because one or more lines are too long

View File

@@ -897,7 +897,7 @@ table.form-table td .updated p {
.options-general-php .spinner {
float: none;
margin: 0 3px;
margin: -3px 3px 0;
}
.settings-php .language-install-spinner,

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

@@ -154,7 +154,8 @@
top: 30px;
}
.media-frame #embed-url-field.invalid {
.media-frame #embed-url-field.invalid,
.media-widget-image-link > .link:invalid {
border: 1px solid #dc3232;
}
@@ -176,9 +177,7 @@
cursor: pointer;
}
.media-widget-preview.media_image,
.media-widget-preview.media_audio,
.attachment-media-view {
.media-widget-preview .placeholder {
background: #f1f1f1;
}
@@ -189,7 +188,7 @@
background: transparent;
}
.media-widget-gallery-preview .gallery-item .gallery-icon {
.media-widget-gallery-preview .gallery-item .gallery-icon {
margin: 4.5%;
}

File diff suppressed because one or more lines are too long

View File

@@ -154,7 +154,8 @@
top: 30px;
}
.media-frame #embed-url-field.invalid {
.media-frame #embed-url-field.invalid,
.media-widget-image-link > .link:invalid {
border: 1px solid #dc3232;
}
@@ -176,9 +177,7 @@
cursor: pointer;
}
.media-widget-preview.media_image,
.media-widget-preview.media_audio,
.attachment-media-view {
.media-widget-preview .placeholder {
background: #f1f1f1;
}
@@ -189,7 +188,7 @@
background: transparent;
}
.media-widget-gallery-preview .gallery-item .gallery-icon {
.media-widget-gallery-preview .gallery-item .gallery-icon {
margin: 4.5%;
}

File diff suppressed because one or more lines are too long

View File

@@ -42,10 +42,34 @@ if ( $wp_customize->changeset_post_id() ) {
get_post_time( 'G', true, $changeset_post ) < time()
);
if ( $missed_schedule ) {
wp_publish_post( $changeset_post->ID );
/*
* Note that an Ajax request spawns here instead of just calling `wp_publish_post( $changeset_post->ID )`.
*
* Because WP_Customize_Manager is not instantiated for customize.php with the `settings_previewed=false`
* argument, settings cannot be reliably saved. Some logic short-circuits if the current value is the
* same as the value being saved. This is particularly true for options via `update_option()`.
*
* By opening an Ajax request, this is avoided and the changeset is published. See #39221.
*/
$nonces = $wp_customize->get_nonces();
$request_args = array(
'nonce' => $nonces['save'],
'customize_changeset_uuid' => $wp_customize->changeset_uuid(),
'wp_customize' => 'on',
'customize_changeset_status' => 'publish',
);
ob_start();
?>
<?php wp_print_scripts( array( 'wp-util' ) ); ?>
<script>
wp.ajax.post( 'customize_save', <?php echo wp_json_encode( $request_args ); ?> );
</script>
<?php
$script = ob_get_clean();
wp_die(
'<h1>' . __( 'Your scheduled changes just published' ) . '</h1>' .
'<p><a href="' . esc_url( remove_query_arg( 'changeset_uuid' ) ) . '">' . __( 'Customize New Changes' ) . '</a></p>',
'<p><a href="' . esc_url( remove_query_arg( 'changeset_uuid' ) ) . '">' . __( 'Customize New Changes' ) . '</a></p>' . $script,
200
);
}
@@ -53,7 +77,7 @@ if ( $wp_customize->changeset_post_id() ) {
if ( in_array( get_post_status( $changeset_post->ID ), array( 'publish', 'trash' ), true ) ) {
wp_die(
'<h1>' . __( 'Cheatin&#8217; uh?' ) . '</h1>' .
'<p>' . __( 'This changeset has already been published and cannot be further modified.' ) . '</p>' .
'<p>' . __( 'This changeset cannot be further modified.' ) . '</p>' .
'<p><a href="' . esc_url( remove_query_arg( 'changeset_uuid' ) ) . '">' . __( 'Customize New Changes' ) . '</a></p>',
403
);

View File

@@ -639,7 +639,7 @@ if ( post_type_supports($post_type, 'editor') ) {
'resize' => false,
'wp_autoresize_on' => $_wp_editor_expand,
'add_unload_trigger' => false,
'wp_keep_scroll_position' => true,
'wp_keep_scroll_position' => ! $is_IE,
),
) ); ?>
<table id="post-status-info"><tbody><tr>

View File

@@ -19,7 +19,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
<h1><?php printf( __( 'Welcome to WordPress %s' ), $display_version ); ?></h1>
<p class="about-text"><?php printf( __( 'Thank you for updating to the latest version! WordPress %s adds more ways for you to express yourself and represent your brand.' ), $display_version ); ?></p>
<p class="about-text"><?php printf( __( 'Thank you for updating to the latest version! WordPress %s will smooth your design workflow and keep you safe from coding errors.' ), $display_version ); ?></p>
<div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>

View File

@@ -342,7 +342,8 @@ class WP_Upgrader {
if ( ! empty( $details['files'] ) ) {
$children = $this->flatten_dirlist( $details['files'], $path . $name . '/' );
$files = array_merge( $files, $children );
// Merge keeping possible numeric keys, which array_merge() will reindex from 0..n
$files = $files + $children;
}
}

View File

@@ -1567,14 +1567,14 @@ function wp_welcome_panel() {
<p class="about-description"><?php _e( 'We&#8217;ve assembled some links to get you started:' ); ?></p>
<div class="welcome-panel-column-container">
<div class="welcome-panel-column">
<?php if ( current_user_can( 'customize' ) ):
$customize_themes_link = add_query_arg( 'autofocus[panel]', 'themes', admin_url( 'customize.php' ) ); ?>
<?php if ( current_user_can( 'customize' ) ) : ?>
<h3><?php _e( 'Get Started' ); ?></h3>
<a class="button button-primary button-hero load-customize hide-if-no-customize" href="<?php echo wp_customize_url(); ?>"><?php _e( 'Customize Your Site' ); ?></a>
<?php endif; ?>
<a class="button button-primary button-hero hide-if-customize" href="<?php echo admin_url( 'themes.php' ); ?>"><?php _e( 'Customize Your Site' ); ?></a>
<?php if ( current_user_can( 'install_themes' ) || ( current_user_can( 'switch_themes' ) && count( wp_get_themes( array( 'allowed' => true ) ) ) > 1 ) ) : ?>
<p class="hide-if-no-customize"><?php printf( __( 'or, <a href="%s">change your theme completely</a>' ), $customize_themes_link ); ?></p>
<?php $themes_link = current_user_can( 'customize' ) ? add_query_arg( 'autofocus[panel]', 'themes', admin_url( 'customize.php' ) ) : admin_url( 'themes.php' ); ?>
<p class="hide-if-no-customize"><?php printf( __( 'or, <a href="%s">change your theme completely</a>' ), $themes_link ); ?></p>
<?php endif; ?>
</div>
<div class="welcome-panel-column">

View File

@@ -445,7 +445,8 @@ function wp_edit_theme_plugin_file( $args ) {
}
}
if ( 0 !== validate_file( $real_file, $allowed_files ) ) {
// Compare based on relative paths
if ( 0 !== validate_file( $file, array_keys( $allowed_files ) ) ) {
return new WP_Error( 'disallowed_theme_file', __( 'Sorry, that file cannot be edited.' ) );
}

View File

@@ -343,7 +343,7 @@ function wp_read_image_metadata( $file ) {
if ( ! file_exists( $file ) )
return false;
list( , , $sourceImageType ) = getimagesize( $file );
list( , , $sourceImageType ) = @getimagesize( $file );
/*
* EXIF contains a bunch of data we'll probably never need formatted in ways
@@ -372,10 +372,10 @@ function wp_read_image_metadata( $file ) {
* as caption, description etc.
*/
if ( is_callable( 'iptcparse' ) ) {
getimagesize( $file, $info );
@getimagesize( $file, $info );
if ( ! empty( $info['APP13'] ) ) {
$iptc = iptcparse( $info['APP13'] );
$iptc = @iptcparse( $info['APP13'] );
// Headline, "A brief synopsis of the caption."
if ( ! empty( $iptc['2#105'][0] ) ) {

View File

@@ -355,7 +355,7 @@ function media_handle_upload($file_id, $post_id, $post_data = array(), $override
}
// Use image exif/iptc data for title and caption defaults if possible.
} elseif ( 0 === strpos( $type, 'image/' ) && $image_meta = @wp_read_image_metadata( $file ) ) {
} elseif ( 0 === strpos( $type, 'image/' ) && $image_meta = wp_read_image_metadata( $file ) ) {
if ( trim( $image_meta['title'] ) && ! is_numeric( sanitize_title( $image_meta['title'] ) ) ) {
$title = $image_meta['title'];
}
@@ -419,7 +419,7 @@ function media_handle_sideload( $file_array, $post_id, $desc = null, $post_data
$content = '';
// Use image exif/iptc data for title and caption defaults if possible.
if ( $image_meta = @wp_read_image_metadata($file) ) {
if ( $image_meta = wp_read_image_metadata( $file ) ) {
if ( trim( $image_meta['title'] ) && ! is_numeric( sanitize_title( $image_meta['title'] ) ) )
$title = $image_meta['title'];
if ( trim( $image_meta['caption'] ) )

View File

@@ -903,7 +903,7 @@ $default_title = apply_filters( 'default_page_template_title', __( 'Default Tem
/**
* Fires before the help hint text in the 'Page Attributes' meta box.
*
* @since 4.8.0
* @since 4.9.0
*
* @param WP_Post $post The current post.
*/

View File

@@ -77,12 +77,12 @@ function extract_from_markers( $filename, $marker ) {
foreach ( $markerdata as $markerline ) {
if ( false !== strpos( $markerline, '# END ' . $marker ) ) {
$state = false;
if ( $state ) {
$result[] = $markerline;
}
if ( false !== strpos( $markerline, '# BEGIN ' . $marker ) ) {
$state = true;
}
}
if ( $state ) {
$result[] = $markerline;
}
if ( false !== strpos( $markerline, '# BEGIN ' . $marker ) ) {
$state = true;
}
}

View File

@@ -51,7 +51,7 @@ function options_general_add_js() {
$("input[name='date_format']").click(function(){
if ( "date_format_custom_radio" != $(this).attr("id") )
$( "input[name='date_format_custom']" ).val( $( this ).val() ).siblings( '.example' ).text( $( this ).parent( 'label' ).children( '.format-i18n' ).text() );
$( 'input[name="date_format_custom"]' ).val( $( this ).val() ).closest( 'fieldset' ).find( '.example' ).text( $( this ).parent( 'label' ).children( '.format-i18n' ).text() );
});
$( 'input[name="date_format_custom"]' ).on( 'click input', function() {
$( '#date_format_custom_radio' ).prop( 'checked', true );
@@ -59,18 +59,23 @@ function options_general_add_js() {
$("input[name='time_format']").click(function(){
if ( "time_format_custom_radio" != $(this).attr("id") )
$( "input[name='time_format_custom']" ).val( $( this ).val() ).siblings( '.example' ).text( $( this ).parent( 'label' ).children( '.format-i18n' ).text() );
$( 'input[name="time_format_custom"]' ).val( $( this ).val() ).closest( 'fieldset' ).find( '.example' ).text( $( this ).parent( 'label' ).children( '.format-i18n' ).text() );
});
$( 'input[name="time_format_custom"]' ).on( 'click input', function() {
$( '#time_format_custom_radio' ).prop( 'checked', true );
});
$("input[name='date_format_custom'], input[name='time_format_custom']").change( function() {
var format = $(this);
format.siblings( '.spinner' ).addClass( 'is-active' );
$.post(ajaxurl, {
action: 'date_format_custom' == format.attr('name') ? 'date_format' : 'time_format',
var format = $( this ),
fieldset = format.closest( 'fieldset' ),
example = fieldset.find( '.example' ),
spinner = fieldset.find( '.spinner' );
spinner.addClass( 'is-active' );
$.post( ajaxurl, {
action: 'date_format_custom' == format.attr( 'name' ) ? 'date_format' : 'time_format',
date : format.val()
}, function(d) { format.siblings( '.spinner' ).removeClass( 'is-active' ); format.siblings('.example').text(d); } );
}, function( d ) { spinner.removeClass( 'is-active' ); example.text( d ); } );
});
var languageSelect = $( '#WPLANG' );

View File

@@ -628,7 +628,7 @@ function install_plugin_information() {
) );
?>
<div class="counter-container">
<span class="counter-label"><a href="https://wordpress.org/support/view/plugin-reviews/<?php echo $api->slug; ?>?filter=<?php echo $key; ?>"
<span class="counter-label"><a href="https://wordpress.org/support/plugin/<?php echo $api->slug; ?>/reviews/?filter=<?php echo $key; ?>"
target="_blank" aria-label="<?php echo $aria_label; ?>"><?php printf( _n( '%d star', '%d stars', $key ), $key ); ?></a></span>
<span class="counter-back">
<span class="counter-bar" style="width: <?php echo 92 * $_rating; ?>px;"></span>

View File

@@ -194,17 +194,6 @@ function get_plugin_files( $plugin ) {
$plugin_file = WP_PLUGIN_DIR . '/' . $plugin;
$dir = dirname( $plugin_file );
$data = get_plugin_data( $plugin_file );
$label = isset( $data['Version'] )
? sanitize_key( 'files_' . $plugin . '-' . $data['Version'] )
: sanitize_key( 'files_' . $plugin );
$transient_key = substr( $label, 0, 29 ) . md5( $label );
$plugin_files = get_transient( $transient_key );
if ( false !== $plugin_files ) {
return $plugin_files;
}
$plugin_files = array( plugin_basename( $plugin_file ) );
if ( is_dir( $dir ) && WP_PLUGIN_DIR !== $dir ) {
@@ -225,8 +214,6 @@ function get_plugin_files( $plugin ) {
$plugin_files = array_values( array_unique( $plugin_files ) );
}
set_transient( $transient_key, $plugin_files, HOUR_IN_SECONDS );
return $plugin_files;
}

View File

@@ -1457,8 +1457,9 @@ function get_settings_errors( $setting = '', $sanitize = false ) {
}
// Check global in case errors have been added on this pageload.
if ( ! count( $wp_settings_errors ) )
if ( empty( $wp_settings_errors ) ) {
return array();
}
// Filter the results to those of a specific setting if one was set.
if ( $setting ) {

View File

@@ -743,6 +743,42 @@ $_old_files = array(
'wp-includes/js/plupload/plupload.silverlight.xap',
'wp-includes/js/swfupload/plugins',
'wp-includes/js/swfupload/swfupload.swf',
// 4.9.2
'wp-includes/js/mediaelement/lang',
'wp-includes/js/mediaelement/lang/ca.js',
'wp-includes/js/mediaelement/lang/cs.js',
'wp-includes/js/mediaelement/lang/de.js',
'wp-includes/js/mediaelement/lang/es.js',
'wp-includes/js/mediaelement/lang/fa.js',
'wp-includes/js/mediaelement/lang/fr.js',
'wp-includes/js/mediaelement/lang/hr.js',
'wp-includes/js/mediaelement/lang/hu.js',
'wp-includes/js/mediaelement/lang/it.js',
'wp-includes/js/mediaelement/lang/ja.js',
'wp-includes/js/mediaelement/lang/ko.js',
'wp-includes/js/mediaelement/lang/nl.js',
'wp-includes/js/mediaelement/lang/pl.js',
'wp-includes/js/mediaelement/lang/pt.js',
'wp-includes/js/mediaelement/lang/ro.js',
'wp-includes/js/mediaelement/lang/ru.js',
'wp-includes/js/mediaelement/lang/sk.js',
'wp-includes/js/mediaelement/lang/sv.js',
'wp-includes/js/mediaelement/lang/uk.js',
'wp-includes/js/mediaelement/lang/zh-cn.js',
'wp-includes/js/mediaelement/lang/zh.js',
'wp-includes/js/mediaelement/mediaelement-flash-audio-ogg.swf',
'wp-includes/js/mediaelement/mediaelement-flash-audio.swf',
'wp-includes/js/mediaelement/mediaelement-flash-video-hls.swf',
'wp-includes/js/mediaelement/mediaelement-flash-video-mdash.swf',
'wp-includes/js/mediaelement/mediaelement-flash-video.swf',
'wp-includes/js/mediaelement/renderers/dailymotion.js',
'wp-includes/js/mediaelement/renderers/dailymotion.min.js',
'wp-includes/js/mediaelement/renderers/facebook.js',
'wp-includes/js/mediaelement/renderers/facebook.min.js',
'wp-includes/js/mediaelement/renderers/soundcloud.js',
'wp-includes/js/mediaelement/renderers/soundcloud.min.js',
'wp-includes/js/mediaelement/renderers/twitch.js',
'wp-includes/js/mediaelement/renderers/twitch.min.js',
);
/**
@@ -1118,7 +1154,11 @@ function update_core($from, $to) {
$old_file = $to . $old_file;
if ( !$wp_filesystem->exists($old_file) )
continue;
$wp_filesystem->delete($old_file, true);
// If the file isn't deleted, try writing an empty string to the file instead.
if ( ! $wp_filesystem->delete( $old_file, true ) && $wp_filesystem->is_file( $old_file ) ) {
$wp_filesystem->put_contents( $old_file, '' );
}
}
// Remove any Genericons example.html's from the filesystem

View File

@@ -435,11 +435,11 @@ function wp_upgrade() {
if ( is_multisite() ) {
$site_id = get_current_blog_id();
if ( $wpdb->get_row( $wpdb->prepare( 'SELECT blog_id FROM %s WHERE blog_id = %d', $wpdb->blog_versions, $site_id ) ) ) {
$wpdb->query( $wpdb->prepare( 'UPDATE %s SET db_version = %d WHERE blog_id = %d', $wpdb->blog_versions, $wp_db_version, $site_id ) );
} else {
$wpdb->query( $wpdb->prepare( 'INSERT INTO %s ( `blog_id` , `db_version` , `last_updated` ) VALUES ( %d, %d, %s);', $wpdb->blog_versions, $site_id, $wp_db_version, NOW() ) );
}
if ( $wpdb->get_row( $wpdb->prepare( "SELECT blog_id FROM {$wpdb->blog_versions} WHERE blog_id = %d", $site_id ) ) ) {
$wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->blog_versions} SET db_version = %d WHERE blog_id = %d", $wp_db_version, $site_id ) );
} else {
$wpdb->query( $wpdb->prepare( "INSERT INTO {$wpdb->blog_versions} ( `blog_id` , `db_version` , `last_updated` ) VALUES ( %d, %d, NOW() );", $site_id, $wp_db_version ) );
}
}
/**

View File

@@ -1867,6 +1867,9 @@
// Search terms.
debounced = _.debounce( section.checkTerm, 500 ); // Wait until there is no input for 500 milliseconds to initiate a search.
section.contentContainer.on( 'input', '.wp-filter-search', function() {
if ( ! api.panel( 'themes' ).expanded() ) {
return;
}
debounced( section );
if ( ! section.expanded() ) {
section.expand();
@@ -2561,7 +2564,7 @@
// Temporary special function since supplying SFTP credentials does not work yet. See #42184.
function disableInstallButtons() {
return disableSwitchButtons() || true === api.settings.theme._filesystemCredentialsNeeded;
return disableSwitchButtons() || false === api.settings.theme._canInstall || true === api.settings.theme._filesystemCredentialsNeeded;
}
section.overlay.find( 'button.preview, button.preview-theme' ).toggleClass( 'disabled', disableSwitchButtons() );
@@ -3071,7 +3074,7 @@
api.Panel.prototype.attachEvents.apply( panel );
// Temporary since supplying SFTP credentials does not work yet. See #42184
if ( api.settings.theme._filesystemCredentialsNeeded ) {
if ( api.settings.theme._canInstall && api.settings.theme._filesystemCredentialsNeeded ) {
panel.notifications.add( new api.Notification( 'theme_install_unavailable', {
message: api.l10n.themeInstallUnavailable,
type: 'info',
@@ -5129,7 +5132,7 @@
// Temporary special function since supplying SFTP credentials does not work yet. See #42184.
function disableInstallButtons() {
return disableSwitchButtons() || true === api.settings.theme._filesystemCredentialsNeeded;
return disableSwitchButtons() || false === api.settings.theme._canInstall || true === api.settings.theme._filesystemCredentialsNeeded;
}
function updateButtons() {
control.container.find( 'button.preview, button.preview-theme' ).toggleClass( 'disabled', disableSwitchButtons() );
@@ -5280,6 +5283,27 @@
codemirror: $.Deferred()
} );
api.Control.prototype.initialize.call( control, id, options );
// Note that rendering is debounced so the props will be used when rendering happens after add event.
control.notifications.bind( 'add', function( notification ) {
// Skip if control notification is not from setting csslint_error notification.
if ( notification.code !== control.setting.id + ':csslint_error' ) {
return;
}
// Customize the template and behavior of csslint_error notifications.
notification.templateId = 'customize-code-editor-lint-error-notification';
notification.render = (function( render ) {
return function() {
var li = render.call( this );
li.find( 'input[type=checkbox]' ).on( 'click', function() {
control.setting.notifications.remove( 'csslint_error' );
} );
return li;
};
})( notification.render );
} );
},
/**
@@ -7907,7 +7931,7 @@
previewerAlive = state.instance( 'previewerAlive' ),
editShortcutVisibility = state.instance( 'editShortcutVisibility' ),
changesetLocked = state.instance( 'changesetLocked' ),
populateChangesetUuidParam;
populateChangesetUuidParam, defaultSelectedChangesetStatus;
state.bind( 'change', function() {
var canSave;
@@ -7941,9 +7965,7 @@
} else {
saveBtn.val( api.l10n.schedule );
}
} else if ( ! api.settings.changeset.currentUserCanPublish ) {
selectedChangesetStatus( 'draft' );
} else {
} else if ( api.settings.changeset.currentUserCanPublish ) {
saveBtn.val( api.l10n.publish );
}
closeBtn.find( '.screen-reader-text' ).text( api.l10n.cancel );
@@ -7965,12 +7987,14 @@
return status;
};
defaultSelectedChangesetStatus = api.settings.changeset.currentUserCanPublish ? 'publish' : 'draft';
// Set default states.
changesetStatus( api.settings.changeset.status );
changesetLocked( Boolean( api.settings.changeset.lockUser ) );
changesetDate( api.settings.changeset.publishDate );
selectedChangesetDate( api.settings.changeset.publishDate );
selectedChangesetStatus( '' === api.settings.changeset.status || 'auto-draft' === api.settings.changeset.status ? 'publish' : api.settings.changeset.status );
selectedChangesetStatus( '' === api.settings.changeset.status || 'auto-draft' === api.settings.changeset.status ? defaultSelectedChangesetStatus : api.settings.changeset.status );
selectedChangesetStatus.link( changesetStatus ); // Ensure that direct updates to status on server via wp.customizer.previewer.save() will update selection.
saved( true );
if ( '' === changesetStatus() ) { // Handle case for loading starter content.
@@ -8216,6 +8240,7 @@
// Check for lock when sending heartbeat requests.
$( document ).on( 'heartbeat-send.update_lock_notice', function( event, data ) {
data.check_changeset_lock = true;
data.changeset_uuid = api.settings.changeset.uuid;
} );
// Handle heartbeat ticks.
@@ -8248,7 +8273,7 @@
// Set up initial notifications.
(function() {
var removedQueryParams = [];
var removedQueryParams = [], autosaveDismissed = false;
/**
* Obtain the URL to restore the autosave.
@@ -8294,6 +8319,25 @@
history.replaceState( {}, document.title, urlParser.href );
}
/**
* Dismiss autosave.
*
* @returns {void}
*/
function dismissAutosave() {
if ( autosaveDismissed ) {
return;
}
wp.ajax.post( 'customize_dismiss_autosave_or_lock', {
wp_customize: 'on',
customize_theme: api.settings.theme.stylesheet,
customize_changeset_uuid: api.settings.changeset.uuid,
nonce: api.settings.nonce.dismiss_autosave_or_lock,
dismiss_autosave: true
} );
autosaveDismissed = true;
}
/**
* Add notification regarding the availability of an autosave to restore.
*
@@ -8319,15 +8363,7 @@
} );
// Handle dismissal of notice.
li.find( '.notice-dismiss' ).on( 'click', function() {
wp.ajax.post( 'customize_dismiss_autosave_or_lock', {
wp_customize: 'on',
customize_theme: api.settings.theme.stylesheet,
customize_changeset_uuid: api.settings.changeset.uuid,
nonce: api.settings.nonce.dismiss_autosave_or_lock,
dismiss_autosave: true
} );
} );
li.find( '.notice-dismiss' ).on( 'click', dismissAutosave );
return li;
}
@@ -8335,6 +8371,7 @@
// Remove the notification once the user starts making changes.
onStateChange = function() {
dismissAutosave();
api.notifications.remove( code );
api.unbind( 'change', onStateChange );
api.state( 'changesetStatus' ).unbind( onStateChange );
@@ -9191,12 +9228,14 @@
api.unbind( 'change', startAutosaving ); // Ensure startAutosaving only fires once.
api.state( 'saved' ).bind( function( isSaved ) {
function onChangeSaved( isSaved ) {
if ( ! isSaved && ! api.settings.changeset.autosaved ) {
api.settings.changeset.autosaved = true; // Once a change is made then autosaving kicks in.
api.previewer.send( 'autosaving' );
}
} );
}
api.state( 'saved' ).bind( onChangeSaved );
onChangeSaved( api.state( 'saved' ).get() );
/**
* Request changeset update and then re-schedule the next changeset update time.

File diff suppressed because one or more lines are too long

View File

@@ -537,33 +537,37 @@
var menuItem,
itemName = $( '#custom-menu-item-name' ),
itemUrl = $( '#custom-menu-item-url' ),
urlRegex,
urlValue;
urlRegex;
if ( ! this.currentMenuControl ) {
return;
}
/*
* Copyright (c) 2010-2013 Diego Perini, MIT licensed
* https://gist.github.com/dperini/729294
* see also https://mathiasbynens.be/demo/url-regex
* modified to allow protocol-relative URLs
* Allow URLs including:
* - http://example.com/
* - //example.com
* - /directory/
* - ?query-param
* - #target
* - mailto:foo@example.com
*
* Any further validation will be handled on the server when the setting is attempted to be saved,
* so this pattern does not need to be complete.
*/
urlRegex = /^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})).?)(?::\d{2,5})?(?:[/?#]\S*)?$/i;
urlRegex = /^((\w+:)?\/\/\w.*|\w+:(?!\/\/$)|\/|\?|#)/;
urlValue = itemUrl.val();
if ( '' === itemName.val() ) {
itemName.addClass( 'invalid' );
return;
} else if ( '' === urlValue || 'http://' === urlValue || ! ( '/' === urlValue[0] || urlRegex.test( urlValue ) ) ) {
} else if ( ! urlRegex.test( itemUrl.val() ) ) {
itemUrl.addClass( 'invalid' );
return;
}
menuItem = {
'title': itemName.val(),
'url': urlValue,
'url': itemUrl.val(),
'type': 'custom',
'type_label': api.Menus.data.l10n.custom_label,
'object': 'custom'

File diff suppressed because one or more lines are too long

View File

@@ -270,7 +270,7 @@ window.wp = window.wp || {};
if ( shortcodes ) {
for ( var i = 0; i < shortcodes.length; i++ ) {
var shortcode = shortcodes[ i ].replace( /^\[+/g, '' );
if ( result.indexOf( shortcode ) === -1 ) {
result.push( shortcode );
}
@@ -280,30 +280,6 @@ window.wp = window.wp || {};
return result;
}
/**
* @summary Check if a shortcode has Live Preview enabled for it.
*
* Previewable shortcodes here refers to shortcodes that have Live Preview enabled.
*
* These shortcodes get rewritten when the editor is in Visual mode, which means that
* we don't want to change anything inside them, i.e. inserting a selection marker
* inside the shortcode will break it :(
*
* @link wp-includes/js/mce-view.js
*
* @param {string} shortcode The shortcode to check.
* @return {boolean} If a shortcode has Live Preview or not
*/
function isShortcodePreviewable( shortcode ) {
var defaultPreviewableShortcodes = [ 'caption' ];
return (
defaultPreviewableShortcodes.indexOf( shortcode ) !== -1 ||
wp.mce.views.get( shortcode ) !== undefined
);
}
/**
* @summary Get all shortcodes and their positions in the content
*
@@ -340,23 +316,12 @@ window.wp = window.wp || {};
*/
var showAsPlainText = shortcodeMatch[1] === '[';
/**
* For more context check the docs for:
*
* @link isShortcodePreviewable
*
* In addition, if the shortcode will get rendered as plain text ( see above ),
* we can treat it as text and use the selection markers in it.
*/
var isPreviewable = ! showAsPlainText && isShortcodePreviewable( shortcodeMatch[2] );
shortcodeInfo = {
shortcodeName: shortcodeMatch[2],
showAsPlainText: showAsPlainText,
startIndex: shortcodeMatch.index,
endIndex: shortcodeMatch.index + shortcodeMatch[0].length,
length: shortcodeMatch[0].length,
isPreviewable: isPreviewable
length: shortcodeMatch[0].length
};
shortcodesDetails.push( shortcodeInfo );
@@ -382,7 +347,6 @@ window.wp = window.wp || {};
startIndex: shortcodeMatch.index,
endIndex: shortcodeMatch.index + shortcodeMatch[ 0 ].length,
length: shortcodeMatch[ 0 ].length,
isPreviewable: true,
urlAtStartOfContent: shortcodeMatch[ 1 ] === '',
urlAtEndOfContent: shortcodeMatch[ 3 ] === ''
};
@@ -465,7 +429,7 @@ window.wp = window.wp || {};
}
var isCursorStartInShortcode = getShortcodeWrapperInfo( content, cursorStart );
if ( isCursorStartInShortcode && isCursorStartInShortcode.isPreviewable ) {
if ( isCursorStartInShortcode && ! isCursorStartInShortcode.showAsPlainText ) {
/**
* If a URL is at the start or the end of the content,
* the selection doesn't work, because it inserts a marker in the text,
@@ -482,7 +446,7 @@ window.wp = window.wp || {};
}
var isCursorEndInShortcode = getShortcodeWrapperInfo( content, cursorEnd );
if ( isCursorEndInShortcode && isCursorEndInShortcode.isPreviewable ) {
if ( isCursorEndInShortcode && ! isCursorEndInShortcode.showAsPlainText ) {
if ( isCursorEndInShortcode.urlAtEndOfContent ) {
cursorEnd = isCursorEndInShortcode.startIndex;
} else {
@@ -581,6 +545,8 @@ window.wp = window.wp || {};
removeSelectionMarker( startNode );
removeSelectionMarker( endNode );
editor.save();
}
/**
@@ -623,7 +589,9 @@ window.wp = window.wp || {};
edTools = $( '#wp-content-editor-tools' ),
edToolsHeight = 0,
edToolsOffsetTop = 0;
edToolsOffsetTop = 0,
$scrollArea;
if ( edTools.length ) {
edToolsHeight = edTools.height();
@@ -635,6 +603,11 @@ window.wp = window.wp || {};
selectionPosition = TinyMCEContentAreaTop + elementTop,
visibleAreaHeight = windowHeight - ( edToolsHeight + toolbarHeight );
// There's no need to scroll if the selection is inside the visible area.
if ( selectionPosition < visibleAreaHeight ) {
return;
}
/**
* The minimum scroll height should be to the top of the editor, to offer a consistent
* experience.
@@ -643,9 +616,16 @@ window.wp = window.wp || {};
* subtracting the height. This gives the scroll position where the top of the editor tools aligns with
* the top of the viewport (under the Master Bar)
*/
var adjustedScroll = Math.max( selectionPosition - visibleAreaHeight / 2, edToolsOffsetTop - edToolsHeight );
var adjustedScroll;
if ( editor.settings.wp_autoresize_on ) {
$scrollArea = $( 'html,body' );
adjustedScroll = Math.max( selectionPosition - visibleAreaHeight / 2, edToolsOffsetTop - edToolsHeight );
} else {
$scrollArea = $( editor.contentDocument ).find( 'html,body' );
adjustedScroll = elementTop;
}
$( 'html,body' ).animate( {
$scrollArea.animate( {
scrollTop: parseInt( adjustedScroll, 10 )
}, 100 );
}
@@ -679,10 +659,10 @@ window.wp = window.wp || {};
*/
function findBookmarkedPosition( editor ) {
// Get the TinyMCE `window` reference, since we need to access the raw selection.
var TinyMCEWIndow = editor.getWin(),
selection = TinyMCEWIndow.getSelection();
var TinyMCEWindow = editor.getWin(),
selection = TinyMCEWindow.getSelection();
if ( selection.rangeCount <= 0 ) {
if ( ! selection || selection.rangeCount < 1 ) {
// no selection, no need to continue.
return;
}
@@ -852,19 +832,16 @@ window.wp = window.wp || {};
end = selection.end || selection.start;
if ( textArea.focus ) {
// focus and scroll to the position
// Wait for the Visual editor to be hidden, then focus and scroll to the position
setTimeout( function() {
textArea.setSelectionRange( start, end );
if ( textArea.blur ) {
// defocus before focusing
textArea.blur();
}
textArea.focus();
}, 100 );
textArea.focus();
}
textArea.setSelectionRange( start, end );
}
// Restore the selection when the editor is initialized. Needed when the Text editor is the default.
@@ -1035,10 +1012,6 @@ window.wp = window.wp || {};
// Normalize line breaks.
text = text.replace( /\r\n|\r/g, '\n' );
if ( text.indexOf( '\n' ) === -1 ) {
return text;
}
// Remove line breaks from <object>.
if ( text.indexOf( '<object' ) !== -1 ) {
text = text.replace( /<object[\s\S]+?<\/object>/g, function( a ) {

File diff suppressed because one or more lines are too long

View File

@@ -146,8 +146,13 @@ jQuery( document ).ready( function( $ ) {
}
}
// Open the Plugin details modal.
$( '.thickbox.open-plugin-details-modal' ).on( 'click', function( e ) {
/*
* Open the Plugin details modal. The event is delegated to get also the links
* in the plugins search tab, after the AJAX search rebuilds the HTML. It's
* delegated on the closest ancestor and not on the body to avoid conflicts
* with other handlers, see Trac ticket #43082.
*/
$( '.wrap' ).on( 'click', '.thickbox.open-plugin-details-modal', function( e ) {
// The `data-title` attribute is used only in the Plugin screens.
var title = $( this ).data( 'title' ) ? plugininstallL10n.plugin_information + ' ' + $( this ).data( 'title' ) : plugininstallL10n.plugin_modal_label;

View File

@@ -1 +1 @@
var tb_position;jQuery(document).ready(function(a){function b(){var b=e.find("#TB_iframeContent");f=b.contents().find("body"),c(),h.focus(),a("#plugin-information-tabs a",f).on("click",function(){c()}),f.on("keydown",function(a){27===a.which&&tb_remove()})}function c(){var b;g=a(":tabbable",f),h=e.find("#TB_closeWindowButton"),i=g.last(),b=h.add(i),b.off("keydown.wp-plugin-details"),b.on("keydown.wp-plugin-details",function(a){d(a)})}function d(a){9===a.which&&(i[0]!==a.target||a.shiftKey?h[0]===a.target&&a.shiftKey&&(a.preventDefault(),i.focus()):(a.preventDefault(),h.focus()))}var e,f,g,h,i,j=a(),k=a(".upload-view-toggle"),l=a(".wrap"),m=a(document.body);tb_position=function(){var b=a(window).width(),c=a(window).height()-(792<b?60:20),d=792<b?772:b-20;return e=a("#TB_window"),e.length&&(e.width(d).height(c),a("#TB_iframeContent").width(d).height(c),e.css({"margin-left":"-"+parseInt(d/2,10)+"px"}),"undefined"!=typeof document.body.style.maxWidth&&e.css({top:"30px","margin-top":"0"})),a("a.thickbox").each(function(){var b=a(this).attr("href");b&&(b=b.replace(/&width=[0-9]+/g,""),b=b.replace(/&height=[0-9]+/g,""),a(this).attr("href",b+"&width="+d+"&height="+c))})},a(window).resize(function(){tb_position()}),m.on("thickbox:iframe:loaded",e,function(){e.hasClass("plugin-details-modal")&&b()}).on("thickbox:removed",function(){j.focus()}),a(".thickbox.open-plugin-details-modal").on("click",function(b){var c=a(this).data("title")?plugininstallL10n.plugin_information+" "+a(this).data("title"):plugininstallL10n.plugin_modal_label;b.preventDefault(),b.stopPropagation(),j=a(this),tb_click.call(this),e.attr({role:"dialog","aria-label":plugininstallL10n.plugin_modal_label}).addClass("plugin-details-modal"),e.find("#TB_iframeContent").attr("title",c)}),a("#plugin-information-tabs a").click(function(b){var c=a(this).attr("name");b.preventDefault(),a("#plugin-information-tabs a.current").removeClass("current"),a(this).addClass("current"),"description"!==c&&a(window).width()<772?a("#plugin-information-content").find(".fyi").hide():a("#plugin-information-content").find(".fyi").show(),a("#section-holder div.section").hide(),a("#section-"+c).show()}),l.hasClass("plugin-install-tab-upload")||k.attr({role:"button","aria-expanded":"false"}).on("click",function(a){a.preventDefault(),m.toggleClass("show-upload-view"),k.attr("aria-expanded",m.hasClass("show-upload-view"))})});
var tb_position;jQuery(document).ready(function(a){function b(){var b=e.find("#TB_iframeContent");f=b.contents().find("body"),c(),h.focus(),a("#plugin-information-tabs a",f).on("click",function(){c()}),f.on("keydown",function(a){27===a.which&&tb_remove()})}function c(){var b;g=a(":tabbable",f),h=e.find("#TB_closeWindowButton"),i=g.last(),b=h.add(i),b.off("keydown.wp-plugin-details"),b.on("keydown.wp-plugin-details",function(a){d(a)})}function d(a){9===a.which&&(i[0]!==a.target||a.shiftKey?h[0]===a.target&&a.shiftKey&&(a.preventDefault(),i.focus()):(a.preventDefault(),h.focus()))}var e,f,g,h,i,j=a(),k=a(".upload-view-toggle"),l=a(".wrap"),m=a(document.body);tb_position=function(){var b=a(window).width(),c=a(window).height()-(792<b?60:20),d=792<b?772:b-20;return e=a("#TB_window"),e.length&&(e.width(d).height(c),a("#TB_iframeContent").width(d).height(c),e.css({"margin-left":"-"+parseInt(d/2,10)+"px"}),"undefined"!=typeof document.body.style.maxWidth&&e.css({top:"30px","margin-top":"0"})),a("a.thickbox").each(function(){var b=a(this).attr("href");b&&(b=b.replace(/&width=[0-9]+/g,""),b=b.replace(/&height=[0-9]+/g,""),a(this).attr("href",b+"&width="+d+"&height="+c))})},a(window).resize(function(){tb_position()}),m.on("thickbox:iframe:loaded",e,function(){e.hasClass("plugin-details-modal")&&b()}).on("thickbox:removed",function(){j.focus()}),a(".wrap").on("click",".thickbox.open-plugin-details-modal",function(b){var c=a(this).data("title")?plugininstallL10n.plugin_information+" "+a(this).data("title"):plugininstallL10n.plugin_modal_label;b.preventDefault(),b.stopPropagation(),j=a(this),tb_click.call(this),e.attr({role:"dialog","aria-label":plugininstallL10n.plugin_modal_label}).addClass("plugin-details-modal"),e.find("#TB_iframeContent").attr("title",c)}),a("#plugin-information-tabs a").click(function(b){var c=a(this).attr("name");b.preventDefault(),a("#plugin-information-tabs a.current").removeClass("current"),a(this).addClass("current"),"description"!==c&&a(window).width()<772?a("#plugin-information-content").find(".fyi").hide():a("#plugin-information-content").find(".fyi").show(),a("#section-holder div.section").hide(),a("#section-"+c).show()}),l.hasClass("plugin-install-tab-upload")||k.attr({role:"button","aria-expanded":"false"}).on("click",function(a){a.preventDefault(),m.toggleClass("show-upload-view"),k.attr("aria-expanded",m.hasClass("show-upload-view"))})});

View File

@@ -102,7 +102,7 @@ themes.view.Appearance = wp.Backbone.View.extend({
collection: self.collection,
parent: this
});
self.searchView = view;
self.SearchView = view;
// Render and append after screen title
view.render();
@@ -1448,7 +1448,7 @@ themes.Run = {
this.render();
// Start debouncing user searches after Backbone.history.start().
this.view.searchView.doSearch = _.debounce( this.view.searchView.doSearch, 500 );
this.view.SearchView.doSearch = _.debounce( this.view.SearchView.doSearch, 500 );
},
render: function() {
@@ -1924,7 +1924,7 @@ themes.RunInstaller = {
this.render();
// Start debouncing user searches after Backbone.history.start().
this.view.searchView.doSearch = _.debounce( this.view.searchView.doSearch, 500 );
this.view.SearchView.doSearch = _.debounce( this.view.SearchView.doSearch, 500 );
},
render: function() {

File diff suppressed because one or more lines are too long

View File

@@ -2437,7 +2437,7 @@
return;
}
if ( 'undefined' === typeof message.action ) {
if ( ! message || 'undefined' === typeof message.action ) {
return;
}

File diff suppressed because one or more lines are too long

View File

@@ -513,9 +513,10 @@ wpWidgets = {
save : function( widget, del, animate, order ) {
var self = this, data, a,
sidebarId = widget.closest( 'div.widgets-sortables' ).attr( 'id' ),
form = widget.find( 'form' );
form = widget.find( 'form' ),
isAdd = widget.find( 'input.add_new' ).val();
if ( ! del && form.prop( 'checkValidity' ) && ! form[0].checkValidity() ) {
if ( ! del && ! isAdd && form.prop( 'checkValidity' ) && ! form[0].checkValidity() ) {
return;
}

File diff suppressed because one or more lines are too long

View File

@@ -204,7 +204,7 @@ wp.customHtmlWidgets = ( function( $ ) {
* @returns {void}
*/
onUpdateErrorNotice: function onUpdateErrorNotice( errorAnnotations ) {
control.saveButton.toggleClass( 'validation-blocked disabled', errorAnnotations.length );
control.saveButton.toggleClass( 'validation-blocked disabled', errorAnnotations.length > 0 );
control.updateErrorNotice( errorAnnotations );
}
});

File diff suppressed because one or more lines are too long

View File

@@ -83,7 +83,7 @@ if ( $_POST ) {
);
// Handle translation installation.
if ( ! empty( $_POST['WPLANG'] ) && current_user_can( 'install_languages' ) ) {
if ( ! empty( $_POST['WPLANG'] ) && current_user_can( 'install_languages' ) && wp_can_install_language_pack() ) {
$language = wp_download_language_pack( $_POST['WPLANG'] );
if ( $language ) {
$_POST['WPLANG'] = $language;
@@ -374,14 +374,16 @@ if ( isset( $_GET['updated'] ) ) {
$lang = '';
}
wp_dropdown_languages( array(
'name' => 'WPLANG',
'id' => 'WPLANG',
'selected' => $lang,
'languages' => $languages,
'translations' => $translations,
'show_available_translations' => current_user_can( 'install_languages' ),
) );
wp_dropdown_languages(
array(
'name' => 'WPLANG',
'id' => 'WPLANG',
'selected' => $lang,
'languages' => $languages,
'translations' => $translations,
'show_available_translations' => current_user_can( 'install_languages' ) && wp_can_install_language_pack(),
)
);
?>
</td>
</tr>

View File

@@ -68,7 +68,7 @@ if ( isset($_REQUEST['action']) && 'add-site' == $_REQUEST['action'] ) {
$meta['WPLANG'] = ''; // en_US
} elseif ( in_array( $_POST['WPLANG'], get_available_languages() ) ) {
$meta['WPLANG'] = $_POST['WPLANG'];
} elseif ( current_user_can( 'install_languages' ) ) {
} elseif ( current_user_can( 'install_languages' ) && wp_can_install_language_pack() ) {
$language = wp_download_language_pack( wp_unslash( $_POST['WPLANG'] ) );
if ( $language ) {
$meta['WPLANG'] = $language;
@@ -230,14 +230,16 @@ if ( ! empty( $messages ) ) {
$lang = '';
}
wp_dropdown_languages( array(
'name' => 'WPLANG',
'id' => 'site-language',
'selected' => $lang,
'languages' => $languages,
'translations' => $translations,
'show_available_translations' => current_user_can( 'install_languages' ),
) );
wp_dropdown_languages(
array(
'name' => 'WPLANG',
'id' => 'site-language',
'selected' => $lang,
'languages' => $languages,
'translations' => $translations,
'show_available_translations' => current_user_can( 'install_languages' ) && wp_can_install_language_pack(),
)
);
?>
</td>
</tr>

View File

@@ -158,7 +158,7 @@ if ( ! empty( $languages ) || ! empty( $translations ) ) {
'selected' => $locale,
'languages' => $languages,
'translations' => $translations,
'show_available_translations' => current_user_can( 'install_languages' ),
'show_available_translations' => current_user_can( 'install_languages' ) && wp_can_install_language_pack(),
) );
// Add note about deprecated WPLANG constant.

View File

@@ -180,9 +180,11 @@ if ( 'update' == $action ) {
if ( ! empty( $_POST['WPLANG'] ) && current_user_can( 'install_languages' ) ) {
require_once( ABSPATH . 'wp-admin/includes/translation-install.php' );
$language = wp_download_language_pack( $_POST['WPLANG'] );
if ( $language ) {
$_POST['WPLANG'] = $language;
if ( wp_can_install_language_pack() ) {
$language = wp_download_language_pack( $_POST['WPLANG'] );
if ( $language ) {
$_POST['WPLANG'] = $language;
}
}
}
}

View File

@@ -19,7 +19,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
<h1><?php printf( __( 'Welcome to WordPress %s' ), $display_version ); ?></h1>
<p class="about-text"><?php printf( __( 'Thank you for updating to the latest version! WordPress %s helps you get your site set up the way you want it.' ), $display_version ); ?></p>
<p class="about-text"><?php printf( __( 'Thank you for updating to the latest version! WordPress %s will smooth your design workflow and keep you safe from coding errors.' ), $display_version ); ?></p>
<div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>

View File

@@ -229,20 +229,20 @@ if ( $theme->errors() )
?>
<div id="templateside">
<h2 id="theme-files-label"><?php _e( 'Theme Files' ); ?></h2>
<?php
if ( $has_templates || $theme->parent() ) :
if ( $theme->parent() ) {
/* translators: %s: link to edit parent theme */
echo '<p class="howto">' . sprintf( __( 'This child theme inherits templates from a parent theme, %s.' ),
sprintf( '<a href="%s">%s</a>',
self_admin_url( 'theme-editor.php?theme=' . urlencode( $theme->get_template() ) ),
$theme->parent()->display( 'Name' )
)
) . "</p>\n";
}
endif;
?>
<ul role="tree" aria-labelledby="theme-files-label">
<?php if ( ( $has_templates || $theme->parent() ) && $theme->parent() ) : ?>
<li class="howto">
<?php
/* translators: %s: link to edit parent theme */
echo sprintf( __( 'This child theme inherits templates from a parent theme, %s.' ),
sprintf( '<a href="%s">%s</a>',
self_admin_url( 'theme-editor.php?theme=' . urlencode( $theme->get_template() ) ),
$theme->parent()->display( 'Name' )
)
);
?>
</li>
<?php endif; ?>
<li role="treeitem" tabindex="-1" aria-expanded="true" aria-level="1" aria-posinset="1" aria-setsize="1">
<ul role="group">
<?php wp_print_theme_file_tree( wp_make_theme_file_tree( $allowed_files ) ); ?>
@@ -322,7 +322,7 @@ if ( ! in_array( 'theme_editor_notice', $dismissed_pointers, true ) ) :
echo sprintf(
/* translators: %s: Codex URL */
__( 'You appear to be making direct edits to your theme in the WordPress dashboard. We recommend that you don&#8217;t! Editing your theme directly could break your site and your changes may be lost in future updates. If you need to tweak more than your theme&#8217;s CSS, you might want to try <a href="%s">making a child theme</a>.' ),
esc_url( 'https://codex.wordpress.org/Child_Themes' )
esc_url( __( 'https://codex.wordpress.org/Child_Themes' ) )
);
?>
</p>

View File

@@ -207,7 +207,7 @@ include(ABSPATH . 'wp-admin/admin-header.php');
foreach ( $features as $feature => $feature_name ) {
$feature = esc_attr( $feature );
echo '<input type="checkbox" id="filter-id-' . $feature . '" value="' . $feature . '" /> ';
echo '<label for="filter-id-' . $feature . '">' . $feature_name . '</label><br>';
echo '<label for="filter-id-' . $feature . '">' . $feature_name . '</label>';
}
echo '</div>';
echo '</fieldset>';

View File

@@ -75,7 +75,7 @@ if ( isset($_REQUEST['action']) && 'adduser' == $_REQUEST['action'] ) {
$redirect = add_query_arg( array( 'update' => 'could_not_add' ), 'user-new.php' );
}
} else {
$newuser_key = substr( md5( $user_id ), 0, 5 );
$newuser_key = wp_generate_password( 20, false );
add_option( 'new_user_' . $newuser_key, array( 'user_id' => $user_id, 'email' => $user_details->user_email, 'role' => $_REQUEST[ 'role' ] ) );
$roles = get_editable_roles();

View File

@@ -22,7 +22,7 @@ get_header(); ?>
while ( have_posts() ) : the_post();
get_template_part( 'template-parts/page/content', 'front-page' );
endwhile;
else : // I'm not sure it's possible to have no posts when this page is shown, but WTH.
else :
get_template_part( 'template-parts/post/content', 'none' );
endif; ?>

View File

@@ -432,15 +432,7 @@ function map_meta_cap( $cap, $user_id ) {
break;
case 'install_languages':
case 'update_languages':
if ( ! function_exists( 'request_filesystem_credentials' ) ) {
require_once( ABSPATH . 'wp-admin/includes/file.php' );
}
if ( ! function_exists( 'wp_can_install_language_pack' ) ) {
require_once( ABSPATH . 'wp-admin/includes/translation-install.php' );
}
if ( ! wp_can_install_language_pack() ) {
if ( ! wp_is_file_mod_allowed( 'can_install_language_pack' ) ) {
$caps[] = 'do_not_allow';
} elseif ( is_multisite() && ! is_super_admin( $user_id ) ) {
$caps[] = 'do_not_allow';

View File

@@ -20,7 +20,7 @@ function get_category_link( $category ) {
if ( ! is_object( $category ) )
$category = (int) $category;
$category = get_term_link( $category, 'category' );
$category = get_term_link( $category );
if ( is_wp_error( $category ) )
return '';
@@ -104,7 +104,7 @@ function get_the_category( $id = false ) {
*/
function get_the_category_by_ID( $cat_ID ) {
$cat_ID = (int) $cat_ID;
$category = get_term( $cat_ID, 'category' );
$category = get_term( $cat_ID );
if ( is_wp_error( $category ) )
return $category;
@@ -1065,15 +1065,7 @@ function walk_category_dropdown_tree() {
* @return string Link on success, empty string if tag does not exist.
*/
function get_tag_link( $tag ) {
if ( ! is_object( $tag ) )
$tag = (int) $tag;
$tag = get_term_link( $tag, 'post_tag' );
if ( is_wp_error( $tag ) )
return '';
return $tag;
return get_category_link( $tag );
}
/**
@@ -1161,20 +1153,20 @@ function tag_description( $tag = 0 ) {
* Retrieve term description.
*
* @since 2.8.0
* @since 4.9.2 The `$taxonomy` parameter was deprecated.
*
* @param int $term Optional. Term ID. Will use global term ID by default.
* @param string $taxonomy Optional taxonomy name. Defaults to 'post_tag'.
* @param int $term Optional. Term ID. Will use global term ID by default.
* @param null $deprecated Deprecated argument.
* @return string Term description, available.
*/
function term_description( $term = 0, $taxonomy = 'post_tag' ) {
function term_description( $term = 0, $deprecated = null ) {
if ( ! $term && ( is_tax() || is_tag() || is_category() ) ) {
$term = get_queried_object();
if ( $term ) {
$taxonomy = $term->taxonomy;
$term = $term->term_id;
}
}
$description = get_term_field( 'description', $term, $taxonomy );
$description = get_term_field( 'description', $term );
return is_wp_error( $description ) ? '' : $description;
}

View File

@@ -607,8 +607,11 @@ final class WP_Customize_Manager {
* enabled, then a new UUID will be generated.
*
* @since 4.9.0
* @global string $pagenow
*/
public function establish_loaded_changeset() {
global $pagenow;
if ( empty( $this->_changeset_uuid ) ) {
$changeset_uuid = null;
@@ -635,7 +638,9 @@ final class WP_Customize_Manager {
$this->_changeset_uuid = $changeset_uuid;
}
$this->set_changeset_lock( $this->changeset_post_id() );
if ( is_admin() && 'customize.php' === $pagenow ) {
$this->set_changeset_lock( $this->changeset_post_id() );
}
}
/**
@@ -1130,7 +1135,7 @@ final class WP_Customize_Manager {
if ( ! $changeset_post_id ) {
$this->_changeset_data = array();
} else {
if ( $this->autosaved() ) {
if ( $this->autosaved() && is_user_logged_in() ) {
$autosave_post = wp_get_post_autosave( $changeset_post_id, get_current_user_id() );
if ( $autosave_post ) {
$data = $this->get_changeset_post_data( $autosave_post->ID );
@@ -2873,10 +2878,12 @@ final class WP_Customize_Manager {
$post_array['edit_date'] = true; // Prevent date clearing.
$r = wp_update_post( wp_slash( $post_array ), true );
// Delete autosave revision when the changeset is updated.
$autosave_draft = wp_get_post_autosave( $changeset_post_id, get_current_user_id() );
if ( $autosave_draft ) {
wp_delete_post( $autosave_draft->ID, true );
// Delete autosave revision for user when the changeset is updated.
if ( ! empty( $args['user_id'] ) ) {
$autosave_draft = wp_get_post_autosave( $changeset_post_id, $args['user_id'] );
if ( $autosave_draft ) {
wp_delete_post( $autosave_draft->ID, true );
}
}
}
} else {
@@ -3163,15 +3170,26 @@ final class WP_Customize_Manager {
* @return array The Heartbeat response.
*/
public function check_changeset_lock_with_heartbeat( $response, $data, $screen_id ) {
if ( array_key_exists( 'check_changeset_lock', $data ) && 'customize' === $screen_id && current_user_can( 'customize' ) && $this->changeset_post_id() ) {
$lock_user_id = wp_check_post_lock( $this->changeset_post_id() );
if ( isset( $data['changeset_uuid'] ) ) {
$changeset_post_id = $this->find_changeset_post_id( $data['changeset_uuid'] );
} else {
$changeset_post_id = $this->changeset_post_id();
}
if (
array_key_exists( 'check_changeset_lock', $data )
&& 'customize' === $screen_id
&& $changeset_post_id
&& current_user_can( get_post_type_object( 'customize_changeset' )->cap->edit_post, $changeset_post_id )
) {
$lock_user_id = wp_check_post_lock( $changeset_post_id );
if ( $lock_user_id ) {
$response['customize_changeset_lock_user'] = $this->get_lock_user_data( $lock_user_id );
} else {
// Refreshing time will ensure that the user is sitting on customizer and has not closed the customizer tab.
$this->refresh_changeset_lock( $this->changeset_post_id() );
$this->refresh_changeset_lock( $changeset_post_id );
}
}
@@ -3488,6 +3506,11 @@ final class WP_Customize_Manager {
* @since 4.9.0
*/
public function handle_dismiss_autosave_or_lock_request() {
// Calls to dismiss_user_auto_draft_changesets() and wp_get_post_autosave() require non-zero get_current_user_id().
if ( ! is_user_logged_in() ) {
wp_send_json_error( 'unauthenticated', 401 );
}
if ( ! $this->is_preview() ) {
wp_send_json_error( 'not_preview', 400 );
}
@@ -3939,6 +3962,22 @@ final class WP_Customize_Manager {
* @since 4.1.0
*/
public function render_control_templates() {
if ( $this->branching() ) {
$l10n = array(
/* translators: %s: User who is customizing the changeset in customizer. */
'locked' => __( '%s is already customizing this changeset. Please wait until they are done to try customizing. Your latest changes have been autosaved.' ),
/* translators: %s: User who is customizing the changeset in customizer. */
'locked_allow_override' => __( '%s is already customizing this changeset. Do you want to take over?' ),
);
} else {
$l10n = array(
/* translators: %s: User who is customizing the changeset in customizer. */
'locked' => __( '%s is already customizing this site. Please wait until they are done to try customizing. Your latest changes have been autosaved.' ),
/* translators: %s: User who is customizing the changeset in customizer. */
'locked_allow_override' => __( '%s is already customizing this site. Do you want to take over?' ),
);
}
foreach ( $this->registered_control_types as $control_type ) {
$control = new $control_type( $this, 'temp', array(
'settings' => array(),
@@ -4101,13 +4140,11 @@ final class WP_Customize_Manager {
{{{ data.message }}}
<# } else if ( data.allowOverride ) { #>
<?php
/* translators: %s: User who is customizing the changeset in customizer. */
printf( __( '%s is already customizing this site. Do you want to take over?' ), '{{ data.lockUser.name }}' );
echo esc_html( sprintf( $l10n['locked_allow_override'], '{{ data.lockUser.name }}' ) );
?>
<# } else { #>
<?php
/* translators: %s: User who is customizing the changeset in customizer. */
printf( __( '%s is already customizing this site. Please wait until they are done to try customizing. Your latest changes have been autosaved.' ), '{{ data.lockUser.name }}' );
echo esc_html( sprintf( $l10n['locked'], '{{ data.lockUser.name }}' ) );
?>
<# } #>
</p>
@@ -4125,6 +4162,18 @@ final class WP_Customize_Manager {
</li>
</script>
<script type="text/html" id="tmpl-customize-code-editor-lint-error-notification">
<li class="notice notice-{{ data.type || 'info' }} {{ data.alt ? 'notice-alt' : '' }} {{ data.dismissible ? 'is-dismissible' : '' }} {{ data.containerClasses || '' }}" data-code="{{ data.code }}" data-type="{{ data.type }}">
<div class="notification-message">{{{ data.message || data.code }}}</div>
<p>
<# var elementId = 'el-' + String( Math.random() ); #>
<input id="{{ elementId }}" type="checkbox">
<label for="{{ elementId }}"><?php _e( 'Update anyway, even though it might break your site?' ); ?></label>
</p>
</li>
</script>
<?php
/* The following template is obsolete in core but retained for plugins. */
?>
@@ -4543,7 +4592,9 @@ final class WP_Customize_Manager {
$changeset_post_id = $this->changeset_post_id();
if ( ! $this->saved_starter_content_changeset && ! $this->autosaved() ) {
if ( $changeset_post_id ) {
$autosave_revision_post = wp_get_post_autosave( $changeset_post_id, get_current_user_id() );
if ( is_user_logged_in() ) {
$autosave_revision_post = wp_get_post_autosave( $changeset_post_id, get_current_user_id() );
}
} else {
$autosave_autodraft_posts = $this->get_changeset_posts( array(
'posts_per_page' => 1,
@@ -4624,8 +4675,9 @@ final class WP_Customize_Manager {
'previewFrameSensitivity' => 2000,
),
'theme' => array(
'stylesheet' => $this->get_stylesheet(),
'active' => $this->is_theme_active(),
'stylesheet' => $this->get_stylesheet(),
'active' => $this->is_theme_active(),
'_canInstall' => current_user_can( 'install_themes' ),
),
'url' => array(
'preview' => esc_url_raw( $this->get_preview_url() ),

View File

@@ -49,6 +49,7 @@ final class WP_Customize_Nav_Menus {
add_action( 'customize_register', array( $this, 'customize_register' ), 11 );
add_filter( 'customize_dynamic_setting_args', array( $this, 'filter_dynamic_setting_args' ), 10, 2 );
add_filter( 'customize_dynamic_setting_class', array( $this, 'filter_dynamic_setting_class' ), 10, 3 );
add_action( 'customize_save_nav_menus_created_posts', array( $this, 'save_nav_menus_created_posts' ) );
// Skip remaining hooks when the user can't manage nav menus anyway.
if ( ! current_user_can( 'edit_theme_options' ) ) {
@@ -64,7 +65,6 @@ final class WP_Customize_Nav_Menus {
add_action( 'customize_controls_print_footer_scripts', array( $this, 'available_items_template' ) );
add_action( 'customize_preview_init', array( $this, 'customize_preview_init' ) );
add_action( 'customize_preview_init', array( $this, 'make_auto_draft_status_previewable' ) );
add_action( 'customize_save_nav_menus_created_posts', array( $this, 'save_nav_menus_created_posts' ) );
// Selective Refresh partials.
add_filter( 'customize_dynamic_partial_args', array( $this, 'customize_dynamic_partial_args' ), 10, 2 );
@@ -370,6 +370,22 @@ final class WP_Customize_Nav_Menus {
}
}
// Add "Home" link if search term matches. Treat as a page, but switch to custom on add.
if ( isset( $args['s'] ) ) {
$title = _x( 'Home', 'nav menu home label' );
$matches = function_exists( 'mb_stripos' ) ? false !== mb_stripos( $title, $args['s'] ) : false !== stripos( $title, $args['s'] );
if ( $matches ) {
$items[] = array(
'id' => 'home',
'title' => $title,
'type' => 'custom',
'type_label' => __( 'Custom Link' ),
'object' => '',
'url' => home_url(),
);
}
}
/**
* Filters the available menu items during a search request.
*

View File

@@ -3032,7 +3032,15 @@ class WP_Query {
*/
$this->found_posts = $wpdb->get_var( apply_filters_ref_array( 'found_posts_query', array( 'SELECT FOUND_ROWS()', &$this ) ) );
} else {
$this->found_posts = count( $this->posts );
if ( is_array( $this->posts ) ) {
$this->found_posts = count( $this->posts );
} else {
if ( null === $this->posts ) {
$this->found_posts = 0;
} else {
$this->found_posts = 1;
}
}
}
/**

View File

@@ -984,34 +984,10 @@ final class WP_Theme implements ArrayAccess {
* being absolute paths.
*/
public function get_files( $type = null, $depth = 0, $search_parent = false ) {
// get and cache all theme files to start with.
$label = sanitize_key( 'files_' . $this->cache_hash . '-' . $this->get( 'Version' ) );
$transient_key = substr( $label, 0, 29 ) . md5( $label );
$files = (array) self::scandir( $this->get_stylesheet_directory(), $type, $depth );
$all_files = get_transient( $transient_key );
if ( false === $all_files ) {
$all_files = (array) self::scandir( $this->get_stylesheet_directory(), null, -1 );
if ( $search_parent && $this->parent() ) {
$all_files += (array) self::scandir( $this->get_template_directory(), null, -1 );
}
set_transient( $transient_key, $all_files, HOUR_IN_SECONDS );
}
// Filter $all_files by $type & $depth.
$files = array();
if ( $type ) {
$type = (array) $type;
$_extensions = implode( '|', $type );
}
foreach ( $all_files as $key => $file ) {
if ( $depth >= 0 && substr_count( $key, '/' ) > $depth ) {
continue; // Filter by depth.
}
if ( ! $type || preg_match( '~\.(' . $_extensions . ')$~', $file ) ) { // Filter by type.
$files[ $key ] = $file;
}
if ( $search_parent && $this->parent() ) {
$files += (array) self::scandir( $this->get_template_directory(), $type, $depth );
}
return $files;

View File

@@ -730,10 +730,10 @@ div.mce-menu .mce-menu-item-sep,
cursor: default;
}
.mce-menubtn.mce-fixed-width button {
.mce-menubtn.mce-fixed-width span {
overflow-x: hidden;
text-overflow: ellipsis;
width: 110px;
width: 82px;
}
/* Charmap modal */

File diff suppressed because one or more lines are too long

View File

@@ -730,10 +730,10 @@ div.mce-menu .mce-menu-item-sep,
cursor: default;
}
.mce-menubtn.mce-fixed-width button {
.mce-menubtn.mce-fixed-width span {
overflow-x: hidden;
text-overflow: ellipsis;
width: 110px;
width: 82px;
}
/* Charmap modal */

File diff suppressed because one or more lines are too long

View File

@@ -35,11 +35,20 @@ class WP_Customize_Nav_Menu_Control extends WP_Customize_Control {
* @since 4.3.0
*/
public function content_template() {
$add_items = __( 'Add Items' );
?>
<p class="new-menu-item-invitation"><?php _e( 'Time to add some links! Click &#8220;Add menu items&#8221; to start putting pages, categories, and custom links in your menu. Add as many things as you&#8217;d like.' ); ?></p>
<p class="new-menu-item-invitation">
<?php
printf(
/* translators: %s: "Add Items" button text */
__( 'Time to add some links! Click &#8220;%s&#8221; to start putting pages, categories, and custom links in your menu. Add as many things as you&#8217;d like.' ),
$add_items
);
?>
</p>
<div class="customize-control-nav_menu-buttons">
<button type="button" class="button add-new-menu-item" aria-label="<?php esc_attr_e( 'Add or remove menu items' ); ?>" aria-expanded="false" aria-controls="available-menu-items">
<?php _e( 'Add Items' ); ?>
<?php echo $add_items; ?>
</button>
<button type="button" class="button-link reorder-toggle" aria-label="<?php esc_attr_e( 'Reorder menu items' ); ?>" aria-describedby="reorder-items-desc-{{ data.menu_id }}">
<span class="reorder"><?php _e( 'Reorder' ); ?></span>

View File

@@ -163,7 +163,7 @@ class WP_Customize_Themes_Section extends WP_Customize_Section {
<div class="filter-group-feature">
<?php foreach ( $features as $feature => $feature_name ) : ?>
<input type="checkbox" id="filter-id-<?php echo esc_attr( $feature ); ?>" value="<?php echo esc_attr( $feature ); ?>" />
<label for="filter-id-<?php echo esc_attr( $feature ); ?>"><?php echo esc_html( $feature_name ); ?></label><br>
<label for="filter-id-<?php echo esc_attr( $feature ); ?>"><?php echo esc_html( $feature_name ); ?></label>
<?php endforeach; ?>
</div>
</fieldset>

View File

@@ -114,7 +114,7 @@ foreach ( array( 'single_post_title', 'single_cat_title', 'single_tag_title', 's
}
// Format text area for display.
foreach ( array( 'term_description', 'get_the_author_description', 'get_the_post_type_description' ) as $filter ) {
foreach ( array( 'term_description', 'get_the_post_type_description' ) as $filter ) {
add_filter( $filter, 'wptexturize' );
add_filter( $filter, 'convert_chars' );
add_filter( $filter, 'wpautop' );
@@ -342,6 +342,10 @@ add_action( 'template_redirect', 'wp_old_slug_redirect' );
add_action( 'post_updated', 'wp_check_for_changed_slugs', 12, 3 );
add_action( 'attachment_updated', 'wp_check_for_changed_slugs', 12, 3 );
// Redirect Old Dates
add_action( 'post_updated', 'wp_check_for_changed_dates', 12, 3 );
add_action( 'attachment_updated', 'wp_check_for_changed_dates', 12, 3 );
// Nonce check for Post Previews
add_action( 'init', '_show_post_preview' );

View File

@@ -476,7 +476,7 @@ function rss_enclosure() {
*
* @param string $html_link_tag The HTML link tag with a URI and other attributes.
*/
echo apply_filters( 'rss_enclosure', '<enclosure url="' . trim( htmlspecialchars( $enclosure[0] ) ) . '" length="' . trim( $enclosure[1] ) . '" type="' . $type . '" />' . "\n" );
echo apply_filters( 'rss_enclosure', '<enclosure url="' . esc_url( trim( $enclosure[0] ) ) . '" length="' . absint( trim( $enclosure[1] ) ) . '" type="' . esc_attr( $type ) . '" />' . "\n" );
}
}
}
@@ -510,7 +510,7 @@ function atom_enclosure() {
*
* @param string $html_link_tag The HTML link tag with a URI and other attributes.
*/
echo apply_filters( 'atom_enclosure', '<link href="' . trim( htmlspecialchars( $enclosure[0] ) ) . '" rel="enclosure" length="' . trim( $enclosure[1] ) . '" type="' . trim( $enclosure[2] ) . '" />' . "\n" );
echo apply_filters( 'atom_enclosure', '<link href="' . esc_url( trim( $enclosure[0] ) ) . '" rel="enclosure" length="' . absint( trim( $enclosure[1] ) ) . '" type="' . esc_attr( trim( $enclosure[2] ) ) . '" />' . "\n" );
}
}
}

File diff suppressed because one or more lines are too long

View File

@@ -2449,6 +2449,7 @@ function wp_get_mime_types() {
'ra|ram' => 'audio/x-realaudio',
'wav' => 'audio/wav',
'ogg|oga' => 'audio/ogg',
'flac' => 'audio/flac',
'mid|midi' => 'audio/midi',
'wma' => 'audio/x-ms-wma',
'wax' => 'audio/x-ms-wax',
@@ -2534,7 +2535,7 @@ function wp_get_ext_types() {
*/
return apply_filters( 'ext2type', array(
'image' => array( 'jpg', 'jpeg', 'jpe', 'gif', 'png', 'bmp', 'tif', 'tiff', 'ico' ),
'audio' => array( 'aac', 'ac3', 'aif', 'aiff', 'm3a', 'm4a', 'm4b', 'mka', 'mp1', 'mp2', 'mp3', 'ogg', 'oga', 'ram', 'wav', 'wma' ),
'audio' => array( 'aac', 'ac3', 'aif', 'aiff', 'flac', 'm3a', 'm4a', 'm4b', 'mka', 'mp1', 'mp2', 'mp3', 'ogg', 'oga', 'ram', 'wav', 'wma' ),
'video' => array( '3g2', '3gp', '3gpp', 'asf', 'avi', 'divx', 'dv', 'flv', 'm4v', 'mkv', 'mov', 'mp4', 'mpeg', 'mpg', 'mpv', 'ogm', 'ogv', 'qt', 'rm', 'vob', 'wmv' ),
'document' => array( 'doc', 'docx', 'docm', 'dotm', 'odt', 'pages', 'pdf', 'xps', 'oxps', 'rtf', 'wp', 'wpd', 'psd', 'xcf' ),
'spreadsheet' => array( 'numbers', 'ods', 'xls', 'xlsx', 'xlsm', 'xlsb' ),
@@ -2561,8 +2562,9 @@ function get_allowed_mime_types( $user = null ) {
if ( function_exists( 'current_user_can' ) )
$unfiltered = $user ? user_can( $user, 'unfiltered_html' ) : current_user_can( 'unfiltered_html' );
if ( empty( $unfiltered ) )
unset( $t['htm|html'] );
if ( empty( $unfiltered ) ) {
unset( $t['htm|html'], $t['js'] );
}
/**
* Filters list of allowed mime types and file extensions.
@@ -5736,6 +5738,13 @@ function wp_cache_get_last_changed( $group ) {
* @param string $option_name The relevant database option name.
*/
function wp_site_admin_email_change_notification( $old_email, $new_email, $option_name ) {
$send = true;
// Don't send the notification to the default 'admin_email' value.
if ( 'you@example.com' === $old_email ) {
$send = false;
}
/**
* Filters whether to send the site admin email change notification email.
*
@@ -5745,7 +5754,7 @@ function wp_site_admin_email_change_notification( $old_email, $new_email, $optio
* @param string $old_email The old site admin email address.
* @param string $new_email The new site admin email address.
*/
$send = apply_filters( 'send_site_admin_email_change_email', true, $old_email, $new_email );
$send = apply_filters( 'send_site_admin_email_change_email', $send, $old_email, $new_email );
if ( ! $send ) {
return;

View File

@@ -703,7 +703,7 @@ function get_bloginfo( $show = '', $filter = 'raw' ) {
*/
$output = __( 'html_lang_attribute' );
if ( 'html_lang_attribute' === $output || preg_match( '/[^a-zA-Z0-9-]/', $output ) ) {
$output = get_locale();
$output = is_admin() ? get_user_locale() : get_locale();
$output = str_replace( '_', '-', $output );
}
break;
@@ -2885,7 +2885,7 @@ function wp_resource_hints() {
* The path is removed in the foreach loop below.
*/
/** This filter is documented in wp-includes/formatting.php */
$hints['dns-prefetch'][] = apply_filters( 'emoji_svg_url', 'https://s.w.org/images/core/emoji/2.3/svg/' );
$hints['dns-prefetch'][] = apply_filters( 'emoji_svg_url', 'https://s.w.org/images/core/emoji/2.4/svg/' );
foreach ( $hints as $relation_type => $urls ) {
$unique_urls = array();
@@ -3029,7 +3029,7 @@ function user_can_richedit() {
if ( $is_safari ) {
$wp_rich_edit = ! wp_is_mobile() || ( preg_match( '!AppleWebKit/(\d+)!', $_SERVER['HTTP_USER_AGENT'], $match ) && intval( $match[1] ) >= 534 );
} elseif ( $is_IE ) {
$wp_rich_edit = ( strpos( $_SERVER['HTTP_USER_AGENT'], 'MSIE ' ) === false );
$wp_rich_edit = ( strpos( $_SERVER['HTTP_USER_AGENT'], 'Trident/7.0;' ) !== false );
} elseif ( $is_gecko || $is_chrome || $is_edge || ( $is_opera && !wp_is_mobile() ) ) {
$wp_rich_edit = true;
}
@@ -3155,6 +3155,8 @@ function wp_enqueue_code_editor( $args ) {
'Ctrl-/' => 'toggleComment',
'Cmd-/' => 'toggleComment',
'Alt-F' => 'findPersistent',
'Ctrl-F' => 'findPersistent',
'Cmd-F' => 'findPersistent',
),
'direction' => 'ltr', // Code is shown in LTR even in RTL languages.
'gutters' => array(),
@@ -3197,7 +3199,7 @@ function wp_enqueue_code_editor( $args ) {
'htmlhint' => array(
'tagname-lowercase' => true,
'attr-lowercase' => true,
'attr-value-double-quotes' => true,
'attr-value-double-quotes' => false,
'doctype-first' => false,
'tag-pair' => true,
'spec-char-escape' => true,
@@ -3568,12 +3570,14 @@ function get_language_attributes( $doctype = 'html' ) {
if ( function_exists( 'is_rtl' ) && is_rtl() )
$attributes[] = 'dir="rtl"';
if ( $lang = get_bloginfo('language') ) {
if ( get_option('html_type') == 'text/html' || $doctype == 'html' )
$attributes[] = "lang=\"$lang\"";
if ( $lang = get_bloginfo( 'language' ) ) {
if ( get_option( 'html_type' ) == 'text/html' || $doctype == 'html' ) {
$attributes[] = 'lang="' . esc_attr( $lang ) . '"';
}
if ( get_option('html_type') != 'text/html' || $doctype == 'xhtml' )
$attributes[] = "xml:lang=\"$lang\"";
if ( get_option( 'html_type' ) != 'text/html' || $doctype == 'xhtml' ) {
$attributes[] = 'xml:lang="' . esc_attr( $lang ) . '"';
}
}
$output = implode(' ', $attributes);

File diff suppressed because one or more lines are too long

View File

@@ -488,6 +488,10 @@ wp.customize.selectiveRefresh = ( function( $, api ) {
wp.mediaelement.initialize();
}
if ( wp.playlist ) {
wp.playlist.initialize();
}
/**
* Announce when a partial's placement has been rendered so that dynamic elements can be re-built.
*/

File diff suppressed because one or more lines are too long

View File

@@ -863,7 +863,7 @@
// Obtain the target width for the embed.
if ( self.editor ) {
maxwidth = self.editor.iframeElement.clientWidth - 20; // Minus the sum of horizontal margins and borders.
maxwidth = self.editor.getBody().clientWidth;
}
wp.ajax.post( this.action, {

File diff suppressed because one or more lines are too long

View File

@@ -4173,10 +4173,6 @@ Modal = wp.media.View.extend(/** @lends wp.media.view.Modal.prototype */{
tagName: 'div',
template: wp.template('media-modal'),
attributes: {
tabindex: 0
},
events: {
'click .media-modal-backdrop, .media-modal-close': 'escapeHandler',
'keydown': 'keydown'
@@ -4188,8 +4184,7 @@ Modal = wp.media.View.extend(/** @lends wp.media.view.Modal.prototype */{
_.defaults( this.options, {
container: document.body,
title: '',
propagate: true,
freeze: true
propagate: true
});
this.focusManager = new wp.media.view.FocusManager({
@@ -4244,7 +4239,6 @@ Modal = wp.media.View.extend(/** @lends wp.media.view.Modal.prototype */{
*/
open: function() {
var $el = this.$el,
options = this.options,
mceEditor;
if ( $el.is(':visible') ) {
@@ -4257,13 +4251,6 @@ Modal = wp.media.View.extend(/** @lends wp.media.view.Modal.prototype */{
this.attach();
}
// If the `freeze` option is set, record the window's scroll position.
if ( options.freeze ) {
this._freeze = {
scrollTop: $( window ).scrollTop()
};
}
// Disable page scrolling.
$( 'body' ).addClass( 'modal-open' );
@@ -4271,7 +4258,7 @@ Modal = wp.media.View.extend(/** @lends wp.media.view.Modal.prototype */{
// Try to close the onscreen keyboard
if ( 'ontouchend' in document ) {
if ( ( mceEditor = window.tinymce && window.tinymce.activeEditor ) && ! mceEditor.isHidden() && mceEditor.iframeElement ) {
if ( ( mceEditor = window.tinymce && window.tinymce.activeEditor ) && ! mceEditor.isHidden() && mceEditor.iframeElement ) {
mceEditor.iframeElement.focus();
mceEditor.iframeElement.blur();
@@ -4281,7 +4268,8 @@ Modal = wp.media.View.extend(/** @lends wp.media.view.Modal.prototype */{
}
}
this.$el.focus();
// Set initial focus on the content instead of this view element, to avoid page scrolling.
this.$( '.media-modal' ).focus();
return this.propagate('open');
},
@@ -4291,8 +4279,6 @@ Modal = wp.media.View.extend(/** @lends wp.media.view.Modal.prototype */{
* @returns {wp.media.view.Modal} Returns itself to allow chaining
*/
close: function( options ) {
var freeze = this._freeze;
if ( ! this.views.attached || ! this.$el.is(':visible') ) {
return this;
}
@@ -4312,11 +4298,6 @@ Modal = wp.media.View.extend(/** @lends wp.media.view.Modal.prototype */{
this.propagate('close');
// If the `freeze` option is set, restore the container's scroll position.
if ( freeze ) {
$( window ).scrollTop( freeze.scrollTop );
}
if ( options && options.escape ) {
this.propagate('escape');
}
@@ -8957,18 +8938,28 @@ Cropper = View.extend(/** @lends wp.media.view.Cropper.prototype */{
imgOptions = _.extend(imgOptions, {
parent: this.$el,
onInit: function() {
this.parent.children().on( 'mousedown touchstart', function( e ){
if ( e.shiftKey ) {
// Store the set ratio.
var setRatio = imgSelect.getOptions().aspectRatio;
// On mousedown, if no ratio is set and the Shift key is down, use a 1:1 ratio.
this.parent.children().on( 'mousedown touchstart', function( e ) {
// If no ratio is set and the shift key is down, use a 1:1 ratio.
if ( ! setRatio && e.shiftKey ) {
imgSelect.setOptions( {
aspectRatio: '1:1'
} );
} else {
imgSelect.setOptions( {
aspectRatio: false
} );
}
} );
this.parent.children().on( 'mouseup touchend', function() {
// Restore the set ratio.
imgSelect.setOptions( {
aspectRatio: setRatio ? setRatio : false
} );
} );
}
} );
this.trigger('image-loaded');

File diff suppressed because one or more lines are too long

View File

@@ -1,89 +0,0 @@
'use strict';/*!
* This is a `i18n` language object.
*
* Catalan
*
* @author
* Tongro
*
* @see core/i18n.js
*/
(function (exports) {
if (exports.ca === undefined) {
exports.ca = {
'mejs.plural-form': 1,
'mejs.download-file': 'Descarregar arxiu',
'mejs.install-flash': 'Esteu utilitzant un navegador que no tingui Flash Player activat o instal·lat. Activeu el vostre complement Flash Player o descarregueu la versió més recent de https://get.adobe.com/flashplayer/',
'mejs.fullscreen': 'Pantalla completa',
'mejs.play': 'Reproducció',
'mejs.pause': 'Pausa',
'mejs.time-slider': 'Control lliscant de temps',
'mejs.time-help-text': 'Utilitzeu les tecles de fletxa esquerra / dreta per avançar un segon, fletxes amunt / avall per avançar deu segons.',
'mejs.live-broadcast' : 'Transmissió en directe',
'mejs.volume-help-text': 'Utilitzeu les tecles de fletxa amunt / avall per augmentar o disminuir el volum.',
'mejs.unmute': 'Reactivar silenci',
'mejs.mute': 'Silenci',
'mejs.volume-slider': 'Control deslizador de volum',
'mejs.video-player': 'Reproductor de vídeo',
'mejs.audio-player': 'Reproductor d\'àudio',
'mejs.captions-subtitles': 'Llegendes/Subtítols',
'mejs.captions-chapters': 'Capítols',
'mejs.none': 'Ningú',
'mejs.afrikaans': 'Afrikaans',
'mejs.albanian': 'Albanès',
'mejs.arabic': 'Àrab',
'mejs.belarusian': 'Bielorús',
'mejs.bulgarian': 'Búlgar',
'mejs.catalan': 'Català',
'mejs.chinese': 'Xinès',
'mejs.chinese-simplified': 'Xinès (Simplificat)',
'mejs.chinese-traditional': 'Xinès (Tradicional)',
'mejs.croatian': 'Croat',
'mejs.czech': 'Txec',
'mejs.danish': 'Danès',
'mejs.dutch': 'Holandès',
'mejs.english': 'Anglès',
'mejs.estonian': 'Estonià',
'mejs.filipino': 'Filipí',
'mejs.finnish': 'Finlandès',
'mejs.french': 'Francès',
'mejs.galician': 'Gallec',
'mejs.german': 'Alemany',
'mejs.greek': 'Grec',
'mejs.haitian-creole': 'Crioll haitià',
'mejs.hebrew': 'Hebreu',
'mejs.hindi': 'Hindi',
'mejs.hungarian': 'Hongarès',
'mejs.icelandic': 'Islandès',
'mejs.indonesian': 'Indonesi',
'mejs.irish': 'Irlandès',
'mejs.italian': 'Italià',
'mejs.japanese': 'Japonès',
'mejs.korean': 'Coreà',
'mejs.latvian': 'Letó',
'mejs.lithuanian': 'Lituà',
'mejs.macedonian': 'Macedoni',
'mejs.malay': 'Malai',
'mejs.maltese': 'Maltès',
'mejs.norwegian': 'Noruec',
'mejs.persian': 'Persa',
'mejs.polish': 'Polonès',
'mejs.portuguese': 'Portuguès',
'mejs.romanian': 'Romanès',
'mejs.russian': 'Rus',
'mejs.serbian': 'Serbi',
'mejs.slovak': 'Eslovac',
'mejs.slovenian': 'Eslovè',
'mejs.spanish': 'Espanyol',
'mejs.swahili': 'Suahili',
'mejs.swedish': 'Suec',
'mejs.tagalog': 'Tagalog',
'mejs.thai': 'Thai',
'mejs.turkish': 'Turc',
'mejs.ukrainian': 'Ucraïnès',
'mejs.vietnamese': 'Vietnamita',
'mejs.welsh': 'Gal·lès',
'mejs.yiddish': 'Yiddish'
};
}
})(mejs.i18n);

View File

@@ -1,90 +0,0 @@
'use strict';/*!
* This is a `i18n` language object.
*
* Czech
*
* @author
* Jalios (Twitter: @Jalios)
* Sascha Greuel (Twitter: @SoftCreatR)
*
* @see core/i18n.js
*/
(function (exports) {
if (exports.cs === undefined) {
exports.cs = {
'mejs.plural-form': 8,
'mejs.download-file': 'Stáhnout soubor',
'mejs.install-flash': 'Používáte prohlížeč, který nemá Flash Player povolen nebo nainstalován. Zapněte plugin Flash Player nebo stáhněte nejnovější verzi z adresy https://get.adobe.com/flashplayer/',
'mejs.fullscreen': 'Celá obrazovka',
'mejs.play': 'Přehrát',
'mejs.pause': 'Pozastavit',
'mejs.time-slider': 'Posuvný běžec nastavení času',
'mejs.time-help-text': 'Použijte tlačítka se šipkami doleva / doprava pro posun o jednu vteřinu, tlačítka se šipkami nahoru / dolů pro posun o deset vteřin.',
'mejs.live-broadcast' : 'Živé vysílání',
'mejs.volume-help-text': 'Použijte tlačítka se šipkami nahoru / dolů pro zesílení nebo zeslabení hlasitosti.',
'mejs.unmute': 'Zapnout zvuk',
'mejs.mute': 'Vypnout zvuk',
'mejs.volume-slider': 'Posuvný běžec nastavení hlasitosti',
'mejs.video-player': 'Přehrávač videa',
'mejs.audio-player': 'Přehrávač hudby',
'mejs.captions-subtitles': 'Titulky',
'mejs.captions-chapters': 'Kapitoly',
'mejs.none': 'Žádný',
'mejs.afrikaans': 'Afrikánština',
'mejs.albanian': 'Albánský',
'mejs.arabic': 'Arabština',
'mejs.belarusian': 'Běloruské',
'mejs.bulgarian': 'Bulharský',
'mejs.catalan': 'Katalánština',
'mejs.chinese': 'čínština',
'mejs.chinese-simplified': 'Zjednodušená čínština)',
'mejs.chinese-traditional': 'Čínština (tradiční)',
'mejs.croatian': 'Chorvatský',
'mejs.czech': 'čeština',
'mejs.danish': 'Dánština',
'mejs.dutch': 'Holandský',
'mejs.english': 'Angličtina',
'mejs.estonian': 'Estonština',
'mejs.filipino': 'Filipino',
'mejs.finnish': 'Finština',
'mejs.french': 'Francouzština',
'mejs.galician': 'Galicijština',
'mejs.german': 'Němec',
'mejs.greek': 'řecký',
'mejs.haitian-creole': 'Haitian kreolský',
'mejs.hebrew': 'Hebrejština',
'mejs.hindi': 'Hindština',
'mejs.hungarian': 'Maďarský',
'mejs.icelandic': 'Islandský',
'mejs.indonesian': 'Indonéština',
'mejs.irish': 'Irština',
'mejs.italian': 'Italština',
'mejs.japanese': 'Japonský',
'mejs.korean': 'Korejština',
'mejs.latvian': 'Lotyšský',
'mejs.lithuanian': 'Lithuanian',
'mejs.macedonian': 'Makedonština',
'mejs.malay': 'Malay',
'mejs.maltese': 'Maltština',
'mejs.norwegian': 'Norština',
'mejs.persian': 'Peršan',
'mejs.polish': 'Polština',
'mejs.portuguese': 'Portugalština',
'mejs.romanian': 'Rumunština',
'mejs.russian': 'Ruština',
'mejs.serbian': 'Srbština',
'mejs.slovak': 'Slovák',
'mejs.slovenian': 'Slovinský',
'mejs.spanish': 'španělština',
'mejs.swahili': 'Svahilský',
'mejs.swedish': 'švédský',
'mejs.tagalog': 'Tagalog',
'mejs.thai': 'Thajština',
'mejs.turkish': 'Turečtina',
'mejs.ukrainian': 'Ukrajinština',
'mejs.vietnamese': 'Vietnamština',
'mejs.welsh': 'Velština',
'mejs.yiddish': 'Jidiš'
};
}
})(mejs.i18n);

Some files were not shown because too many files have changed in this diff Show More