Commit Graph

5802 Commits

Author SHA1 Message Date
Dominik Schilling (ocean90)
3ec5b18d40 Styles: Pass the media attribute as an argument to the style_loader_tag filter.
Props sebastian.pisula.
Fixes #34765.

git-svn-id: https://develop.svn.wordpress.org/trunk@36592 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-19 21:04:53 +00:00
Dominik Schilling (ocean90)
3748ec5249 Script Loader: Don't parse $src if the current color scheme isn't registered.
Avoids a `parse_url()` call on each request if the default colors scheme is in use.

Fixes #35882.

git-svn-id: https://develop.svn.wordpress.org/trunk@36591 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-19 20:43:10 +00:00
Dominik Schilling (ocean90)
066f081ed5 Styles: Bail if WP_Styles::_css_href() returns an empty value.
The style `colors` gets registered with `true` as the source value which gets handled later by `wp_style_loader_src()`, a callback for the `style_loader_src` filter in `WP_Styles::_css_href()`. `wp_style_loader_src()` may return false, for example for the default color scheme.

This was removed in [36550].

See #35229.

git-svn-id: https://develop.svn.wordpress.org/trunk@36590 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-19 20:33:42 +00:00
Andrew Ozz
218c1240b8 TinyMCE: update to 4.3.4. Changelog: https://github.com/tinymce/tinymce/blob/master/changelog.txt.
Fixes #35876.

git-svn-id: https://develop.svn.wordpress.org/trunk@36589 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-19 19:18:59 +00:00
Rachel Baker
ca008e9f51 Comments: Refresh the Moderate Comment screen for a friendlier experience with email moderation actions.
Brings some love to this neglected screen:
* format `comment_content`, instead of escaping in one massive block of text
* only wrap the comment date in a link if the comment permalink exists
* include link to the Edit Comment screen at the bottom of the comment_content
* update the message styles to match other screens
* append `#wpbody-content` to the comment email message links for accessibility

Props johnbillion, rachelbaker, afercia, melchoyce, karmatosed.

Fixes #34133

git-svn-id: https://develop.svn.wordpress.org/trunk@36588 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-19 19:13:59 +00:00
Andrea Fercia
15a26902a6 Accessibility: Improve color contrast updating any #999 gray used for text or icons to a darker gray.
Fixes #35660.

git-svn-id: https://develop.svn.wordpress.org/trunk@36587 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-19 18:43:04 +00:00
Weston Ruter
03360d143d Customize: Add selective refresh framework with implementation for widgets and re-implementation for nav menus.
See https://make.wordpress.org/core/2016/02/16/selective-refresh-in-the-customizer/.

Props westonruter, valendesigns, DrewAPicture, ocean90.
Fixes #27355.


git-svn-id: https://develop.svn.wordpress.org/trunk@36586 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-19 18:40:06 +00:00
Weston Ruter
73f2866194 Customize: Prevent consecutive refresh requests from preview from causing JS error.
Fixes "Uncaught TypeError: this.targetWindow is not a function".

See #27355.
Fixes #35866.


git-svn-id: https://develop.svn.wordpress.org/trunk@36583 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-19 03:46:59 +00:00
Dominik Schilling (ocean90)
2d7150e40d Formatting: Avoid a PHP warning when wptexturize() is called with a trailing less-than symbol.
Props westonruter.
Fixes #35864.

git-svn-id: https://develop.svn.wordpress.org/trunk@36578 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-18 20:30:54 +00:00
DrewAPicture
305e314259 Docs: Add formatting to a changelog entry in the hook doc for the rest_dispatch_request filter.
See [36534]. See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@36576 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-18 18:17:04 +00:00
Dominik Schilling (ocean90)
e7a6236168 Media Library: After [36546] restore the "Add new" functionality.
Rework handling of the `'toggle:upload:attachment'` event using `.on` vs `.listenTo` for better compatibility with the current version of Backbone.

Props adamsilverstein.
See #34350.
Fixes #35853.

git-svn-id: https://develop.svn.wordpress.org/trunk@36575 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-18 17:49:21 +00:00
Dominik Schilling (ocean90)
cc59bf5f3b Customizer: In nav menus show the location name instead of slug.
Props ryankienstra.
Fixes #34755.

git-svn-id: https://develop.svn.wordpress.org/trunk@36573 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-18 17:15:28 +00:00
Dominik Schilling (ocean90)
c3c16e7c6e Don't display errors during Ajax requests.
See #34915 for REST and #23811 for XML-RPC.

Props pento.
Fixes #26262.

git-svn-id: https://develop.svn.wordpress.org/trunk@36571 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-18 16:42:48 +00:00
Dion Hulse
d707453bbc HTTP API: Certificate bundle: Attempt to move a certificate lower in the file to allow older OpenSSL versions to parse it & communicate with WordPress.org securely again.
The OpenSSL version which was failing in this case was `OpenSSL 0.9.8e 23 Feb 2007`.

See #35637 #30434 #25007


git-svn-id: https://develop.svn.wordpress.org/trunk@36570 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-18 08:20:42 +00:00
Andrew Ozz
bb49a958d2 Replace wp_upload_dir() with the new wp_get_upload_dir() in all cases where a file is not being uploaded. Deprecate _wp_upload_dir_baseurl(), and replace it with wp_get_upload_dir().
See #34359.

git-svn-id: https://develop.svn.wordpress.org/trunk@36569 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-18 00:23:04 +00:00
Drew Jaynes
e2dd03abd4 Docs: Remove a duplicate @static tag from the WP_Customize_Panel->instance_count property DocBlock.
See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@36568 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-18 00:13:21 +00:00
Boone Gorges
28fad09b61 More performance improvements to metadata lazyloading.
Comment and term meta lazyloading for `WP_Query` loops, introduced in 4.4,
depended on filter callback methods belonging to `WP_Query` objects. This meant
storing `WP_Query` objects in the `$wp_filter` global (via `add_filter()`),
requiring that PHP retain the objects in memory, even when the local variables
would typically be expunged during normal garbage collection. In cases where a
large number of `WP_Query` objects were instantiated on a single pageload,
and/or where the contents of the `WP_Query` objects were quite large, serious
performance issues could result.

We skirt this problem by moving metadata lazyloading out of `WP_Query`. The
new `WP_Metadata_Lazyloader` class acts as a lazyload queue. Query instances
register items whose metadata should be lazyloaded - such as post terms, or
comments - and a `WP_Metadata_Lazyloader` method will intercept comment and
term meta requests to perform the cache priming. Since `WP_Metadata_Lazyloader`
instances are far smaller than `WP_Query` (containing only object IDs), and
clean up after themselves far better than the previous `WP_Query` methods (bp
only running their callbacks a single time for a given set of queued objects),
the resource use is decreased dramatically.

See [36525] for an earlier step in this direction.

Props lpawlik, stevegrunwell, boonebgorges.
Fixes #35816.

git-svn-id: https://develop.svn.wordpress.org/trunk@36566 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-17 22:57:33 +00:00
Andrew Ozz
c7936b8785 Improve the performance of wp_upload_dir():
- Cache the output in non-persistent cache.
- Cache the result from `wp_mkdir_p()` in persistent cache (when present).
- Introduce `wp_get_upload_dir()` for use when not uploading files. It is equivalent to `wp_upload_dir()` but does not check for the existence or create the upload directory.
- Change tests to use the non-cached `_wp_upload_dir()`. They change options on the fly (should never be used in production) to simulate different environments.
- Introduce `_upload_dir_no_subdir()` and `_upload_dir_https()` to facilitate testing. These use the proper `upload_dir` filter to simulate different environments.

Props kovshenin, azaozz.
See #34359.

git-svn-id: https://develop.svn.wordpress.org/trunk@36565 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-17 22:51:01 +00:00
Boone Gorges
1afe1da216 Add changelog entry for publicly_queryable argument in register_taxonomy().
Missed in [36525].

Fixes #34491.

git-svn-id: https://develop.svn.wordpress.org/trunk@36564 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-17 22:03:50 +00:00
Andrew Ozz
e1cab8a017 Styles:
- Restore loading order for wp-admin: open-sans, dashicons, etc.
- Remove couple of redundant dependencies.

See #35229.

git-svn-id: https://develop.svn.wordpress.org/trunk@36551 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-17 18:00:40 +00:00
Dominik Schilling (ocean90)
59747aa6b9 Script/Style Dependencies: Make sure that inline styles for handles without a source are printed.
This prevents breaking plugins which are adding inline styles to the `wp-admin` handle after [36341].

Props dd32, ocean90.
Fixes #35229.

git-svn-id: https://develop.svn.wordpress.org/trunk@36550 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-17 17:10:53 +00:00
Dominik Schilling (ocean90)
1750b09775 Update Backbone and Underscore to the latest versions.
Backbone, from 1.1.2 to 1.2.3. Underscore, from 1.6.0 to 1.8.3.

The new versions of Backbone and Underscore offer numerous small bug fixes and some optimizations and other improvements. Check the [http://backbonejs.org/#changelog Backbone changelog] and [http://underscorejs.org/#changelog Underscore changelog] for the full details. 

The new versions include some significant changes that may break existing code. Plugins or themes that rely on the bundled Backbone and/or Underscore libraries should carefully check functionality with the latest versions and run any available unit tests to ensure compatibility.

Some changes of note that were addressed in core as part of this upgrade:

* `_.flatten` no longer works with objects since Underscore.js 1.7. `_.flatten()` working with objects was an unintended side-affect of the implementation, see [https://github.com/jashkenas/underscore/issues/1904#issuecomment-60241576 underscore#1904]. Check any `_flatten` usage and only flatten arrays.
* As of Backbone 1.2.0, you can no longer modify the `events` hash or your view's `el` property in `initialize`, so don't try to modify them there. 
* Since Underscore 1.7, Underscore templates no longer accept an initial data object. `_.template` always returns a function now so make sure you use it that way.

Props adamsilverstein.
Fixes #34350.

git-svn-id: https://develop.svn.wordpress.org/trunk@36546 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-17 15:21:09 +00:00
Andrew Ozz
d3a848c773 Comments: look for wp_error when checking whether $wpdb->get_col_length() has failed.
See #10377.

git-svn-id: https://develop.svn.wordpress.org/trunk@36542 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-16 23:49:43 +00:00
Dominik Schilling (ocean90)
a440256da0 Introduce a $parent_class parameter for _deprecated_constructor().
Use the parameter for the deprecated constructor warning in `WP_Widget` to provide an indication to which widget is using the PHP4 style constructor.

Props sebastian.pisula.
Fixes #33440.

git-svn-id: https://develop.svn.wordpress.org/trunk@36541 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-16 23:19:38 +00:00
Dominik Schilling (ocean90)
c80ed70337 In wp_title() fix a 7 year old typo.
Props joelerr.
Fixes #34879.

git-svn-id: https://develop.svn.wordpress.org/trunk@36540 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-16 22:27:05 +00:00
Dominik Schilling (ocean90)
8535f40cf8 Themes: Use the attachment ID as the key in get_uploaded_header_images().
Prevents missing header images when an image has the same name as another header image.

Props sirbrillig.
Fixes #31786.

git-svn-id: https://develop.svn.wordpress.org/trunk@36539 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-16 22:11:14 +00:00
Dominik Schilling (ocean90)
35579fa786 i18n: Prevent is_textdomain_loaded() from returning true even if there are no translations for the domain.
In `get_translations_for_domain()` don't fill the global `$l10n` with `NOOP_Translations` instances, return a `NOOP_Translations` instance instead.

Props nacin, jrf.
Fixes #21319.

git-svn-id: https://develop.svn.wordpress.org/trunk@36538 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-16 21:14:45 +00:00
rmccue
5a945adeed REST API: Apply rest_post_dispatch to embedded responses.
Fixes #35628.
Props @danielbachhuber.


git-svn-id: https://develop.svn.wordpress.org/trunk@36536 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-16 06:05:02 +00:00
Ryan McCue
10bfe70f06 REST API: Allow explicit HEAD callbacks.
HEAD callbacks can now be registered independently, with the GET
callback still used as a fallback.

Fixes #34841.


git-svn-id: https://develop.svn.wordpress.org/trunk@36535 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-16 05:50:21 +00:00
Ryan McCue
66fc70f0e1 REST API: Add routing args to rest_dispatch_request filter.
This allows requests to be hijacked via the filter more easily.

Fixes #35507.


git-svn-id: https://develop.svn.wordpress.org/trunk@36534 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-16 04:40:01 +00:00
Ryan McCue
d7e7c0b81b REST API: Add support for CURIEs.
CURIEs are Compact URIs, which provide a more usable way to use
custom relations in the API. The `wp` CURIE is registered by default
for `https://api.w.org/` URI relations.

Fixes #34729.
Props joehoyle.


git-svn-id: https://develop.svn.wordpress.org/trunk@36533 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-16 02:18:34 +00:00
Weston Ruter
6dd1dd61a1 Customize: Add a user-friendly way to preview site responsiveness for desktop, tablet, and mobile.
Introduces `WP_Customize_Manager::get_previewable_devices()` with a `customize_previewable_devices` filter to change the default device and which devices are available for previewing. This is a feature that was first pioneered on WordPress.com.

Props celloexpressions, folletto, valendesigns, westonruter, welcher, adamsilverstein, michaelarestad, Fab1en.
Fixes #31195.


git-svn-id: https://develop.svn.wordpress.org/trunk@36532 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-16 01:56:13 +00:00
Rachel Baker
0d4a6d0f6e REST API: Don’t display errors during REST API requests.
Uses `wp_debug_mode()` to prevent response from being broken by debug errors. Matches similar behavior of the XML-RPC API.

Props rockwell15.

Fixes #34915.

git-svn-id: https://develop.svn.wordpress.org/trunk@36530 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-16 01:35:40 +00:00
Ryan McCue
b32aaf603e REST API: Add helper function to get server instance.
This allows using rest_do_request() outside of the API itself easily.

Props danielbachhuber, swissspidy.


git-svn-id: https://develop.svn.wordpress.org/trunk@36529 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-16 01:11:31 +00:00
Andrea Fercia
e9f1903586 Accessibility: improve the color contrast ratio for the TinyMCE button icons.
Also, tries to use the new grays from the Design Handbook wherever applicable.

Props michaelarestad, afercia.
Fixes #35604.

git-svn-id: https://develop.svn.wordpress.org/trunk@36528 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-15 21:10:17 +00:00
Drew Jaynes
3b157e44c7 Docs: Add an internal note to the DocBlock for comment_form_title() explaining restoration of the $comment global.
See [36512]. See #35624.


git-svn-id: https://develop.svn.wordpress.org/trunk@36527 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-13 19:14:01 +00:00
Boone Gorges
7f87a14808 Introduce publicly_queryable taxonomy argument.
Taxonomies registered as `publicly_queryable` can be queried as taxonomy
archives.

If not provided explicitly, the value of `publicly_queryable` is inherited
from `public`.

Props Chouby.
Fixes #34491.

git-svn-id: https://develop.svn.wordpress.org/trunk@36525 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-13 03:50:37 +00:00
Boone Gorges
d03ae82c32 Improve WP_Query lazyloading logic, for better performance.
Lazyloading for comment meta and term meta, introduced into `WP_Query` in
4.4, used flags - `updated_term_meta_cache` and `updated_comment_meta_cache` -
in an attempt to prevent cache priming from happening more than once per query
object. This technique was mostly effective, but not entirely efficient, since
the flag didn't prevent the `lazyload_*_meta` callbacks from running. The
obvious solution - removing the filter callback after it'd be run once - was
dismissed for 4.4 because of concerns that `remove_filter()` could disable
lazyloading too generally in the context of nested queries, due to the way
`_wp_filter_build_unique_id()` doesn't always build sufficiently unique IDs for
similar objects. However, further testing shows that this concern is only valid
in a very small subset of cases, while the cost of keeping the query objects in
memory, via the `$wp_filter` global, is quite significant. As such, this
changeset removes the flags in favor of the `remove_filter()` technique.

See #35454, #35816.

git-svn-id: https://develop.svn.wordpress.org/trunk@36524 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-13 03:04:05 +00:00
Weston Ruter
9a108e99b5 Customize: Ensure that nav menu items can be shift-clicked to edit in secondary instances of the same nav menu.
When the same nav menu is shown multiple times on a page, only the first instance of the nav menu will include `id` attributes. Subsequent instances will have the `id` attributes omitted. However, in both cases the underlying nav menu item's post ID is available among the `class` names, so the post ID can be more reliably obtained from `class` instead of the `id` attribute.  

Amends [36383].
Fixes #32681.


git-svn-id: https://develop.svn.wordpress.org/trunk@36523 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-13 00:11:24 +00:00
Rachel Baker
e8402e5572 Media: Fix inline docs typo inside wp_calculate_image_srcset() function.
mathces -> matches.

Props neoxx.

Fixes #35714.

git-svn-id: https://develop.svn.wordpress.org/trunk@36517 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-12 18:14:03 +00:00
Boone Gorges
b5bc8e336e Bail from get_term() if a filter returns an object that is not a WP_Term.
This prevents fatal errors in certain cases.

Props tmuikku.
Fixes #35808.

git-svn-id: https://develop.svn.wordpress.org/trunk@36516 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-12 14:25:05 +00:00
Rachel Baker
8718eb2536 Comments: Change wp_get_comment_column_max_length() function to wp_get_comment_fields_max_lengths() for consolidation and better fallbacks.
Instead of returning a value for each of the related table column lengths, return an array of all of the column lengths used in the comment form.
Better fallback handling, where each field falls back to the expected max_length instead of an arbitrary number.

Props azaozz.

Fixes #10377.

git-svn-id: https://develop.svn.wordpress.org/trunk@36514 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-12 13:54:50 +00:00
Andrew Ozz
43dae50c0d TinyMCE: fix removing a space before inline tags when applying formatting shortcuts.
Fixes #35798.

git-svn-id: https://develop.svn.wordpress.org/trunk@36513 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-12 04:22:03 +00:00
Boone Gorges
126193fa3c Set the $comment global in comment_form_title().
In [33963], `comment_form_title()` was refactored so that it no longer made
reference to the `$comment` global. This broke some functionality within the
comment form, as certain template would no longer be able to access the
"current" comment.

Props d4z_c0nf, WisdmLabs, boonebgorges.
Fixes #35624.

git-svn-id: https://develop.svn.wordpress.org/trunk@36512 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-12 04:09:46 +00:00
Boone Gorges
0ae22e5f4c In delete_metadata(), only invalidate cache for affected objects.
The `$delete_all` flag in `delete_metadata()` triggers cache invalidation for
multiple objects. Previously, invalidation took place for all objects matching
the `$meta_key` parameter, regardless of whether `$meta_value` was also set.
This resulted in overly aggressive invalidation.

Props rahal.aboulfeth.
Fixes #35797.

git-svn-id: https://develop.svn.wordpress.org/trunk@36511 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-12 02:46:28 +00:00
Eric Andrew Lewis
e8ed3fcbf1 Menus: Allow larger menus to be created in the Edit Menu screen.
In the Edit Menu screen, each menu item creates 11 form input elements. In menus with more than 71 menu items, often items after the 71st weren't saved. This was because PHP's runtime configuration `max_input_vars` default value is 1000. Large menus exceed this, so PHP didn't populate the `$_POST` superglobal for the latter menu items.

The entire form is now JSON-encoded into a single input which populates `$_POST` manually on form submission.

This was attempted previously in [36506] which was reverted in [36507]. Some form fields were not being slurped into the form's JSON representation, and it did not scale for a site with many posts. This approach fixes those problems.

Props ocean90, afercia.
See #14134.


git-svn-id: https://develop.svn.wordpress.org/trunk@36510 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-11 19:07:30 +00:00
Boone Gorges
71060260a1 Don't double-unslash meta key when update_metadata() falls back on add_metadata().
Props jdgrimes.
Fixes #35795.

git-svn-id: https://develop.svn.wordpress.org/trunk@36509 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-11 17:34:59 +00:00
Boone Gorges
d2cbbfe28b Remove unused variable from get_terms().
Unused since [31284].

Props TimothyBlynJacobs.
Fixes #35784.

git-svn-id: https://develop.svn.wordpress.org/trunk@36508 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-11 04:32:08 +00:00
Drew Jaynes
1c2f0896db Themes: Pass information about the old theme in the form of a WP_Theme object when the switch_theme action is fired.
Props MikeHansenMe.
See #22401.


git-svn-id: https://develop.svn.wordpress.org/trunk@36502 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-07 08:25:28 +00:00
Drew Jaynes
2caad3f7b2 Docs: Improove the DocBlock summary for wp_signon().
See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@36501 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-07 08:10:47 +00:00