Commit Graph

29078 Commits

Author SHA1 Message Date
Boone Gorges 44ac816aed Split shared taxonomy terms on term update.
When updating an existing taxonomy term that shares its `term_id` with
another term, we generate a new row in `wp_terms` and associate the updated
term_taxonomy_id with the new term. This separates the terms, such that
updating the name of one term does not change the name of any others.

In cases where a plugin or theme stores term IDs in the database, term splitting
can cause backward compatibility issues. The current changeset introduces
two utilities to aid developers with the transition. The `'split_shared_term'`
action fires when the split takes place, and should be used to catch changes in
term_id. In cases where `'split_shared_term'` cannot be used, the
`wp_get_split_term()` function gives developers access to data about terms
that have previously been split. Documentation for these functions, with
examples, can be found in the Plugin Developer Handbook. WordPress itself
stores term IDs in this way in two places; `_wp_check_split_default_terms()`
and `_wp_check_split_terms_in_menus()` are hooked to `'split_shared_term'` to
perform the necessary cleanup.

See [30241] for a previous attempt at the split. It was reverted in [30585]
for 4.1.0.

Props boonebgorges, mboynes.
See #5809.
Built from https://develop.svn.wordpress.org/trunk@31418


git-svn-id: http://core.svn.wordpress.org/trunk@31399 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-11 19:42:25 +00:00
John Blackbourn 35f4e719b2 Introduce a `logout_redirect` filter so the redirect destination can be changed when a user logs out. Parameters:
* string  $redirect_to           The redirect destination URL.
 * string  $requested_redirect_to The requested redirect destination URL passed as a parameter.
 * WP_User $user                  The WP_User object for the user that's logging out. 

Fixes #27617
Props SergeyBiryukov, johnbillion

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


git-svn-id: http://core.svn.wordpress.org/trunk@31398 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-11 19:19:26 +00:00
Scott Taylor a7e581d991 After [31415], make sure `str_replace()` only occurs once for each matched tag to avoid overwriting until `<pre>`s.
See #31214.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31397 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-11 19:15:26 +00:00
Scott Taylor cb3ef90d24 Protect `<pre>` tags when parsing oEmbed responses in `WP_oEmbed::_strip_newlines()` in `DOMDocument` is available.
Fixes #31214.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31396 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-11 19:11:27 +00:00
John Blackbourn 4d12ccadd8 Add `$expiration` as a parameter to the `pre_set_transient_{$transient}` filter.
Props mgibbs189
Fixes #30576

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


git-svn-id: http://core.svn.wordpress.org/trunk@31395 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-11 17:12:26 +00:00
Scott Taylor cd4fc46cf2 oEmbed discovery fails on encoded link URLs: decode HTML chars in the HTML-encoded URLs that are returned.
Props cweiske.
Fixes #31213.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31394 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-11 16:13:26 +00:00
Sergey Biryukov 7ff18dae4e Add `.comment-reply-login` class to `get_post_reply_link()`, for consistency with `get_comment_reply_link()`.
props johnjamesjacoby.
fixes #31298.
Built from https://develop.svn.wordpress.org/trunk@31412


git-svn-id: http://core.svn.wordpress.org/trunk@31393 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-11 16:11:28 +00:00
Sergey Biryukov 491ecc4c1c Use `require_once()` to prevent a fatal error if `_wp_admin_bar_init()` is called twice.
props danielbachhuber.
fixes #31287.
Built from https://develop.svn.wordpress.org/trunk@31411


git-svn-id: http://core.svn.wordpress.org/trunk@31392 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-11 15:59:26 +00:00
Gary Pendergast daf711a338 Shiny Updates: Replace `$.post()` calls with `wp.ajax.post()`, and clean up a bunch of the now unnecessary code.
See #29820


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


git-svn-id: http://core.svn.wordpress.org/trunk@31390 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-11 05:06:28 +00:00
Sergey Biryukov 97698eb127 Always pass back the custom classes `get_post_class()` was called with, even if the post was not found.
props F J Kaiser, Bueltge.
fixes #22271.
Built from https://develop.svn.wordpress.org/trunk@31408


git-svn-id: http://core.svn.wordpress.org/trunk@31389 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-11 04:00:26 +00:00
Scott Taylor 3cd585a457 oEmbed discovery fails on XHTML head links, adjust the regex to not match `/`.
Props cweiske.
Fixes #31212.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31388 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-10 23:37:28 +00:00
Scott Taylor 64e19e98a3 Use `Math.round()` instead of `Math.floor()` when determining page of attachments to query in `wp.media.model.Query.sync`.
This was causing an infinite loop of AJAX requests - so.... good catch!

Props Veritaserum.
Fixes #31116.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31387 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-10 22:54:28 +00:00
Scott Taylor 6cb16f7a21 Remove unused media JS files.
See #28510.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31386 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-10 22:45:28 +00:00
Sergey Biryukov 0e65ae6176 Remove redundant string with a typo introduced in [25481].
see #31217.
Built from https://develop.svn.wordpress.org/trunk@31404


git-svn-id: http://core.svn.wordpress.org/trunk@31385 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-10 07:53:28 +00:00
Sergey Biryukov 12f4004989 Replace generic "Dear user" greeting in email notifications with a more personalized one.
props Ipstenu.
fixes #31217.
Built from https://develop.svn.wordpress.org/trunk@31403


git-svn-id: http://core.svn.wordpress.org/trunk@31384 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-10 07:47:27 +00:00
Sergey Biryukov 973d157615 Switch to a string placeholder, as `number_format_i18n()` returns a string.
see #26553.
Built from https://develop.svn.wordpress.org/trunk@31402


git-svn-id: http://core.svn.wordpress.org/trunk@31383 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-10 05:45:28 +00:00
Sergey Biryukov fdfd15aacc Use `_n()` in `comments_popup_link()` when setting the default string to display if there are more than one comment.
see #26553.
Built from https://develop.svn.wordpress.org/trunk@31401


git-svn-id: http://core.svn.wordpress.org/trunk@31382 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-10 02:51:28 +00:00
Sergey Biryukov f166a51809 Update body class when switching between admin color schemes.
props valendesigns.
fixes #30488.
Built from https://develop.svn.wordpress.org/trunk@31400


git-svn-id: http://core.svn.wordpress.org/trunk@31381 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-10 02:23:28 +00:00
Sergey Biryukov 65e1a767c4 Set svn:eol-style for [31373].
see #28510.
Built from https://develop.svn.wordpress.org/trunk@31399


git-svn-id: http://core.svn.wordpress.org/trunk@31380 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-10 02:13:28 +00:00
Scott Taylor 1235221921 Export the proper class in `media/views/image-details.js`
See #28510.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31374 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 23:46:28 +00:00
Boone Gorges 72f18cb067 Don't parse empty 'tax_input' keys in `edit_post()`.
This fixes a bug introduced in [31359] where saving a tax_input that contained
only whitespace would result in a random tag being erroneously added to the
post.

See #30615.
Built from https://develop.svn.wordpress.org/trunk@31392


git-svn-id: http://core.svn.wordpress.org/trunk@31373 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 22:54:28 +00:00
Gary Pendergast 980668299c WPDB: When checking to see if we can use utf8mb4, we also need to make sure PHP's MySQL client library is capable of using utf8mb4.
See #21212


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


git-svn-id: http://core.svn.wordpress.org/trunk@31372 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 22:28:28 +00:00
John Blackbourn 93fced2d15 Revert [30696] pending further investigation.
See #31011, #13071

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


git-svn-id: http://core.svn.wordpress.org/trunk@31371 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 21:50:29 +00:00
Aaron Jorbin c99149419d Add translator comments for new strings.
These strings were added in [31388].

Props ocean90.
Fixes 26553.


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


git-svn-id: http://core.svn.wordpress.org/trunk@31370 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 20:15:27 +00:00
Aaron Jorbin 4f08e9d383 Use screen reader text instead of a title attribute in comments_popup_link
To better understand screen reader text, check out https://make.wordpress.org/accessibility/2015/02/09/hiding-text-for-screen-readers-with-wordpress-core/

Screen Reader text improves the user experience for screen reader users. It provides additional context for links, document forms and other pieces of a page that may exist visually, but are lost when looking only at the html of a site.  This does change the output of comments_popup_link if you don't pass in values for $zero, $one, $more or $none. Theme authors can and should style <code>.screen-reader-text</code> in ways that are recommended in the above article to hide it visually.

Props joedolson
Fixes #26553




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


git-svn-id: http://core.svn.wordpress.org/trunk@31369 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 19:27:28 +00:00
Scott Taylor 586ff8676a After [31386], this needs to happen in `audio-video.manifest.js`.
See #31058.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31368 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 18:45:26 +00:00
Scott Taylor afa3a03ff8 Avoid an IE8 JS error when removing a MediaElement player.
Props afercia.
Fixes #31058.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31367 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 18:43:27 +00:00
Scott Taylor b191013198 Media JS files:
* In media manifests, ditch IIFEs and global injection, these get dynamically scoped via Browserify
* Remove the `debug` option from `browserify:media`
* Add `jshint:media` to `jshint:corejs`
* Add a trailing newline to all new module files

Props iseulde.
See #28510.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31366 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 16:01:29 +00:00
Dominik Schilling 941075c8ca Improve the Customize experience on mobile.
Before: https://make.wordpress.org/flow/2015/02/02/a-peek-at-the-customizer-on-an-iphone-6/
After: https://make.wordpress.org/flow/2015/02/03/vizrec-for-28784-improve-the-customize-experience-on-mobile-iphone-6-28784-diff-4-2-alpha-31325/

props celloexpressions.
see #28784.
Built from https://develop.svn.wordpress.org/trunk@31384


git-svn-id: http://core.svn.wordpress.org/trunk@31365 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 12:36:28 +00:00
Dion Hulse 502515974c Updates: Display plugin update rows even for plugins which are not hosted by WordPress.org or the HTTP request times out on.
See #29583.
Fixes #30767 for trunk.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31363 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 06:32:26 +00:00
Drew Jaynes 947d04f323 Improve return and parameter documentation for `check_admin_referer()`, `check_ajax_referer()`, and `wp_verify_nonce()`.
Also update and clarify docsfor the `check_admin_referer` and `check_ajax_referer` hooks.

Props johnbillion, DrewAPicture.
Fixes #31055.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31362 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 04:57:27 +00:00
Scott Taylor ef12a2cc8c Bind `this` at calltime instead of letting `self` spill down into closures.
See #28510.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31361 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 04:45:28 +00:00
Scott Taylor 308ae4c887 Make sure that `media/views.js` doesn't load Models that already exist in `media/models.js`.
See #28510.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31360 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 04:14:26 +00:00
Gary Pendergast 04a0e21734 WPDB: The `mysqli_query()` call in `wpdb::set_charset()` had the parameters the wrong way around.
Built from https://develop.svn.wordpress.org/trunk@31374


git-svn-id: http://core.svn.wordpress.org/trunk@31355 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 01:26:29 +00:00
Scott Taylor d568679946 Split the media JS files into modules:
* Add a new folder in `wp-includes/js`, `media`
* Create manifest files for `views`, `models`, `grid`, and `audio-video`
* Make `browserify` an `npm` dependency
* Add Grunt tasks for `browserify` and `uglify:media` on `build` and `watch`
* Update the paths loaded for media files in `script-loader`
* All new files were created using `svn cp` from their original location

Please run `npm install`. While developing media JS, you must run `grunt watch`.

See #28510.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31354 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 00:43:50 +00:00
Gary Pendergast 66af41688c WPDB: Some character set tests were failing if `DB_CHARSET` was empty, or a non-utf8 character set.
Built from https://develop.svn.wordpress.org/trunk@31372


git-svn-id: http://core.svn.wordpress.org/trunk@31353 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 00:39:22 +00:00
Gary Pendergast 55742904c0 WPDB: When we're removing invalid text text from strings with multiple different character sets, `wpdb::strip_invalid_text()` wasn't correctly switching connection character sets.
Fixes #31262


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


git-svn-id: http://core.svn.wordpress.org/trunk@31352 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 00:34:25 +00:00
Dominik Schilling 3aea5f144b Customizer: Introduce an API to create WP_Customize_Settings for dynamically-created settings.
* Introduce WP_Customize_Manager::add_dynamic_settings() to register dynamically-created settings.
* Introduce `customize_dynamic_setting_args` filter to pass an array of args to a dynamic setting's constructor.
* Add unit tests for WP_Customize_Manager and WP_Customize_Widgets.
* See WP_Customize_Widgets as an example.

props westonruter.
fixes #30936.
Built from https://develop.svn.wordpress.org/trunk@31370


git-svn-id: http://core.svn.wordpress.org/trunk@31351 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-08 23:11:25 +00:00
Boone Gorges 17330354bc Add `orderby=meta_value_num` support to `WP_User_Query`.
Props tyxla, genkisan.
Fixes #27887.
Built from https://develop.svn.wordpress.org/trunk@31369


git-svn-id: http://core.svn.wordpress.org/trunk@31350 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-08 16:59:22 +00:00
Sergey Biryukov 623981c8d6 Use a positive wording for translations update notice.
props DrewAPicture, siobhan, netweb.
fixes #28199.
Built from https://develop.svn.wordpress.org/trunk@31368


git-svn-id: http://core.svn.wordpress.org/trunk@31349 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-08 04:09:22 +00:00
Boone Gorges 669fa39005 Late escaping in `get_terms()` and `WP_Tax_Query`.
Props vortfu, dd32.
Built from https://develop.svn.wordpress.org/trunk@31367


git-svn-id: http://core.svn.wordpress.org/trunk@31348 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-08 01:59:24 +00:00
Boone Gorges 90639872e8 In `WP_Query::get_queried_object()`, avoid PHP notices when `is_tax` is paired with an empty `tax_query`.
It's possible to have an empty `tax_query` and `is_tax=true` when the initial
query contains a taxonomy var (and is processed as such during
`WP_Query::parse_query()`) but the taxonomy var is unset during a 'parse_query'
callback. While this kind of behavior is not necessarily something we need to
support, we should continue to avoid PHP notices in such cases, as we did prior
to WP 4.1.

Fixes #31246.
Built from https://develop.svn.wordpress.org/trunk@31366


git-svn-id: http://core.svn.wordpress.org/trunk@31347 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-07 19:50:24 +00:00
Sergey Biryukov 09c1d34b96 Remove unnecessary `array_shift()` usage in `get_terms()` for better performance.
props bswatson, VolodymyrC.
fixes #31182.
Built from https://develop.svn.wordpress.org/trunk@31365


git-svn-id: http://core.svn.wordpress.org/trunk@31346 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-07 19:45:25 +00:00
Sergey Biryukov 137204b033 In `_wp_menu_output()`, `$submenu_items` is an array and should be initialized as such.
props ipm-frommen.
fixes #31257.
Built from https://develop.svn.wordpress.org/trunk@31364


git-svn-id: http://core.svn.wordpress.org/trunk@31345 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-07 17:57:24 +00:00
Sergey Biryukov 1e0905793c Avoid inadvertent stomping of the original `$args` parameter passed to `plugins_api_result` and `themes_api_result` filters in `plugins_api()` and `themes_api()`, respectively.
Fixes a regression introduced in [25956].

props Corphi, obenland.
fixes #29079.
Built from https://develop.svn.wordpress.org/trunk@31363


git-svn-id: http://core.svn.wordpress.org/trunk@31344 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-07 06:21:22 +00:00
Andrew Ozz c8892dfaa2 TinyMCE: ensure the image toolbar stays visible when the image is much wider than the editor. Props iseulde, fixes #20696 for trunk.
Built from https://develop.svn.wordpress.org/trunk@31362


git-svn-id: http://core.svn.wordpress.org/trunk@31343 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-06 23:00:23 +00:00
Andrew Ozz c765424ad5 Editor: prevent errors in editor-expand when the Text editor is not used. Props iseulde, fixes #31163.
Built from https://develop.svn.wordpress.org/trunk@31361


git-svn-id: http://core.svn.wordpress.org/trunk@31342 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-06 22:25:23 +00:00
Dominik Schilling 8fe95c9e65 Customizer: Add changelog entry for the 'default' parameter added in [31329].
props westonruter.
see #30988.
Built from https://develop.svn.wordpress.org/trunk@31360


git-svn-id: http://core.svn.wordpress.org/trunk@31341 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-06 21:14:24 +00:00
Boone Gorges b9e661dcae Parse non-hierarchical tag input into term IDs before sending to `wp_insert_post()`.
When editing a post, non-hierarchical taxonomy terms are sent as the
comma-separated list entered into the tax_input metabox. Passing these
values directly to `wp_update_post()` meant that they were interpreted as
term slugs rather than term names, causing mismatches when a typed string
matched the slug of one term and the name of a different term. We fix the
problem by preprocessing tax_input data sent from post.php, converting it to
unambiguous term_ids before saving.

Props boonebgorges, ArminBraun.
Fixes #30615.
Built from https://develop.svn.wordpress.org/trunk@31359


git-svn-id: http://core.svn.wordpress.org/trunk@31340 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-06 20:32:22 +00:00
Gary Pendergast d7c6ac95bc Upgrades: wp_usermeta is a global table in multisite, so it should only be upgraded by the single site routines when we're not in a multisite install.
See #21212


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


git-svn-id: http://core.svn.wordpress.org/trunk@31339 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-06 13:41:22 +00:00