Commit Graph

34956 Commits

Author SHA1 Message Date
Aaron Jorbin 17afb9c704 Bootstrap/Load: Revert Plugin Global restoration around `advance-cache.php`.
First added in [37588] and later modified in [38224], the idea was to ensure that filters/actions added before `advance-cache.php` would not disappear if `advance-cache.php` overloaded the filters/actions with code such as `$wp_filter = array()`. This is an edge case and one that there is no documented case of existing.

This restores the behavior from WordPress 4.5 and before. It is strongly encouraged that developers using `advance-cache.php` to use the Plugins API that is available before the loading of `advance-cache.php` rather than directly interacting with any of the globals.

Props azaozz, jorbin, dd32 for review, pento for review, westi for investigation, ipstenu for research.
See #36819.



git-svn-id: https://develop.svn.wordpress.org/trunk@38251 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-13 15:59:03 +00:00
Sergey Biryukov 363d8ad2a6 Users: Merge two duplicate strings introduced in [37940].
Props dimadin.
Fixes #37644.

git-svn-id: https://develop.svn.wordpress.org/trunk@38250 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-12 14:11:58 +00:00
Dominik Schilling 97c4e332b5 About Page: Fix punctuation errors in two strings.
See #37246.

git-svn-id: https://develop.svn.wordpress.org/trunk@38248 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-11 20:50:38 +00:00
Dominik Schilling defc92a66e About Page: Third pass for 4.6.
* Adjust strings.
* Make strings translatable.
* Improve margin between copy and images.

Props Ipstenu, SergeyBiryukov, Presskopp, jeremyfelt, afragen, helen, Clorith, macmanx, DrewAPicture, voldemortensen, jorbin, MattyRob, ocean90.
See #37246.

git-svn-id: https://develop.svn.wordpress.org/trunk@38244 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-10 23:32:27 +00:00
Dominik Schilling 1ca2426e77 Upgrader: Rename `class-wp-automatic-upgrader.php` to `class-wp-automatic-updater.php`.
The class is named `WP_Automatic_Updater` not `WP_Automatic_Upgrader` like all the other upgrader classes. 

Introduced in [37409].
See #37628.

git-svn-id: https://develop.svn.wordpress.org/trunk@38242 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-10 19:50:18 +00:00
Andrew Ozz a0a6262f17 Update/Install error messages: do not escape from the template, escape the error message string before inserting it.
Props swissspidy, ocean90.
Fixes #37623 for trunk.

git-svn-id: https://develop.svn.wordpress.org/trunk@38240 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-10 19:02:09 +00:00
Sergey Biryukov a9717f8ef0 Docs: Replace some more HTTP links with HTTPS.
Props johnpgreen.
Fixes #37622. See #36993.

git-svn-id: https://develop.svn.wordpress.org/trunk@38239 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-10 16:09:54 +00:00
Drew Jaynes fbb173fe7c Update/Install: Provide basic back-compat styling for the `.update-message` CSS class in the plugins list table.
This change restores only the margin and padding styles for the `.update-message` class when used by plugins in the context of adding arbitrary rows to the list table. The inline-update colors and icon styles were not restored, expressly with a wide variety of plugin use-cases in mind.

Props ovann86, rahulsprajapati, ocean90, DrewAPicture.
Props helen for review.
See #37504.


git-svn-id: https://develop.svn.wordpress.org/trunk@38237 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-09 22:44:07 +00:00
Dominik Schilling 3844065c1a Media: In `_wp_handle_upload()` use `call_user_func_array()` to call the upload error handler.
The default error handler `wp_handle_upload_error()` expects a reference for the first parameter but `call_user_func()` doesn't pass parameters by reference. The current code didn't produce any issues until now. PHP 7.0.9 (and PHP 7.1) is now stricter and prevents calling the error handler with a warning:
> PHP Warning:  Parameter 1 to wp_handle_upload_error() expected to be a reference, value given.

To restore the error handler `_wp_handle_upload()` now uses `call_user_func_array()`.

Props jbrinley.
Props jorbin for review.
Fixes #37570.

git-svn-id: https://develop.svn.wordpress.org/trunk@38235 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-09 21:53:12 +00:00
Dominik Schilling 6c18bf7e3f About Page: Update video for streamlined updates and add `srcset`/`sizes` attributes for the static images.
Props hugobaeta, joemcgill.
See #37246.

git-svn-id: https://develop.svn.wordpress.org/trunk@38234 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-09 19:25:14 +00:00
Jeremy Felt 3a00f2eb3d Multisite: Remove unnecessary reference parameters.
There is no advantage to passing parameters by reference to `get_site()`, `get_network()`, and `update_site_cache()`.

Props flixos90, ocean90 for review.
See #37615.


git-svn-id: https://develop.svn.wordpress.org/trunk@38232 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-09 18:11:12 +00:00
Sergey Biryukov 5e99f1ef34 Embeds: Fix copy/paste error in `WP_oEmbed::_add_provider_early()` description.
Props ivantedja.
Fixes #37602.

git-svn-id: https://develop.svn.wordpress.org/trunk@38230 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-09 14:10:00 +00:00
Gary Pendergast cfafcf3997 Multisite: Improve performance of the upgrade page on large networks.
The query to select the next 5 blogs to upgrade was ordered by `registered`, which isn't indexed. This causes the query to table scan, which will be slow on networks with many blogs.

The query only needs to be ordered by something that won't change, so ordering by `blog_id` is a good replacement. `blog_id` is indexed, and it's the only column being returned, so MySQL is able to optimize for a fast index read.

Props fliespl.
Fixes #37612.



git-svn-id: https://develop.svn.wordpress.org/trunk@38229 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-09 11:38:41 +00:00
Dominik Schilling ff416b77f3 Updates: Add visual feedback when deleting themes/plugins.
This corrects the selector for the delete link in `wp.updates.deletePlugin()` so the text can be changed to 'Deleting…'. `wp.updates.deleteTheme()` already worked on wp-admin/themes.php but not on wp-admin/network/themes.php because the network screen is similar to the plugins list table, this is now fixed too.
The `credential-modal-cancel` handler has been updated to support canceled delete jobs.

Props swissspidy.
Props jorbin for review.
Fixes #37603.

git-svn-id: https://develop.svn.wordpress.org/trunk@38227 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-09 10:38:28 +00:00
Dominik Schilling dfed8d47a6 Dashboard: Don't escape widget titles in screen reader text.
Introduced in [37972]. The title for the Quick Draft widget contains HTML to provide a JS/no-JS version.

Props SergeyBiryukov for review.
See #37595.
Fixes #37594.

git-svn-id: https://develop.svn.wordpress.org/trunk@38225 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-09 09:06:15 +00:00
Gary Pendergast 32b55e7e7a Boostrap/Load: Improve forward compatiblity of plugin global backup methods.
[37588] added methods to backup the plugin globals, for ensuring that advanced cache drop-ins don't overwrite hooks that've been added earlier in the load process.

The method for restoring the plugin globals wasn't compatible with the implementation of `WP_Hook` in #17817. `WP_Hook` implements `ArrayAccess`, so `_restore_plugin_globals()` was treating it as an array, and inadvertantly overwriting the `WP_Hook` object with a plain array.

To avoid having to re-write this code as part of #17817, we now use `add_filter()` to restore any hooks that were added by cache drop-ins, which `WP_Hook` correctly supports.

Props pento, jorbin.
See #36819.



git-svn-id: https://develop.svn.wordpress.org/trunk@38223 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-09 01:44:20 +00:00
Aaron Jorbin 7044243aa2 Updates: Improve experience for Bulk Actions when FTP is dismissed.
Before this change, when a bulk update was canceled due dismissing the FTP credentials modal, part of the actions didn't get canceled.  This meant the "There is a new version of…” notices become blank and the updates you had checked became unchecked.  Now, the notices remain and you are essentially returned to the screen you had before. Strings are also updated to improve ARIA usage.

Fixes #37563.
Props ocean90, swissspidy, obenland, afercia.



git-svn-id: https://develop.svn.wordpress.org/trunk@38221 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-09 01:13:08 +00:00
Aaron Jorbin 3d057fef40 Updates: Standardize JS Custom Event Names
Custom JS events are triggered on the document in order for plugins to have something to hook into.  The standard began in #31819 is dash separated and begins with `wp` to signify the namespace, followed by the subject of our action ( "theme", "plugin", etc.) followed by the action and an optional indicator of status ( "install-success", "deleting" ).

This brings some of the theme hooks in line with the standard.  As of now, all plugin actions in `src/wp-admin/js/updates.js` have an equal corresponding theme action.

Fixes #37598.
See #37512, #37216, #31819.
Props olarmarius, ocean90.




git-svn-id: https://develop.svn.wordpress.org/trunk@38218 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-08 22:48:33 +00:00
Jeremy Felt 0df4e1f026 Multisite: Use `get_current_blog_id()` in `get_site()` for current site.
The global `$current_blog` is not switched in `switch_to_blog()` and can
not be used to properly retrieve current switched site information.

See #37607.


git-svn-id: https://develop.svn.wordpress.org/trunk@38217 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-08 22:32:47 +00:00
Boone Gorges 0bbd0f3a5f Improve category check in `redirect_canonical()` when permastruct contains category slug.
[37262] changed a check in `redirect_canonical()` so that it checked
categories in the object cache rather than querying the database. However,
the check was based on the identity of `WP_Term` objects, which in
certain cases can be augmented by the main WP query routine, causing
failures of the `in_array()` check. This caused unnecessary redirects
for URLs where `is_single()` is true, but the URL is different from the
post permalink, such as the `embed` endpoint.

`has_term()` also checks the cache, but does not sufer from this bug.

Props cmillerdev.
Fixes #36602.

git-svn-id: https://develop.svn.wordpress.org/trunk@38216 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-08 18:48:53 +00:00
Dominik Schilling b12c1a8ad2 About Page: Use a better version of the mp4 video.
The previous version had the wrong colors. Also remove ogv from the list, it has the wrong colors too and all current browsers support either the mp4 or webm format.

See #37246.

git-svn-id: https://develop.svn.wordpress.org/trunk@38215 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-08 16:01:39 +00:00
Dominik Schilling eb55b21131 About Page: Second pass for 4.6.
* Update images for native fonts and editor features.
* Add video animation with image fallback for update feature. 
* Rename "Simplified Disaster Recovery" to "Content Recovery".
* Fix broken layout on credits and freedoms pages.

Props hugobaeta, SergeyBiryukov, ocean90.
Fixes #37590.
See #37246.

git-svn-id: https://develop.svn.wordpress.org/trunk@38213 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-07 12:47:52 +00:00
Scott Taylor e914c3fb17 Taxononmy: set `WP_Term_Query::terms` when returning terms from the cache in `WP_Term_Query::get_terms()`.
See #37591.


git-svn-id: https://develop.svn.wordpress.org/trunk@38212 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-07 04:47:51 +00:00
Scott Taylor e5b88bcd8e Taxononmy: add unit that shows that `WP_Term_Query` is broken when the query is read from the cache.
See #37591.


git-svn-id: https://develop.svn.wordpress.org/trunk@38211 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-07 04:42:07 +00:00
Dominik Schilling 0b1f2f7ca3 Update/Install: Remove the `.notice-error` class before adding classes for the update process.
Prevents displaying an update message with error styling.

Props obenland.
Props SergeyBiryukov for review.
Fixes #37550.

git-svn-id: https://develop.svn.wordpress.org/trunk@38209 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-05 22:56:53 +00:00
Dominik Schilling 8317d0735a Customize: Increase the target size of the 'Edit Menu' button.
Props celloexpressions.
Props afercia, helen for review.
Fixes #36795.

git-svn-id: https://develop.svn.wordpress.org/trunk@38207 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-05 22:37:54 +00:00
Dominik Schilling a02d4c4a16 Update/Install: Replace "error" and "-1" failure messages with a more meaningful one.
* "-1" is an invalid nonce error, show 'An error has occurred. Please reload the page and try again.'.
* "error" means that the connection to the server was lost, show 'Connection lost or the server is busy. Please try again later.'.
* Escape the message in `wp-updates-admin-notice` because the response may include HTML.
* Remove HTML tags in `wp.updates.isValidResponse()` to make PHP's error messages more readable.

Props azaozz for review.
Fixes #37583.

git-svn-id: https://develop.svn.wordpress.org/trunk@38205 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-05 19:27:56 +00:00
Andrew Nacin 6c2d90dfba MediaElement: Remove translated string from a plugin WP doesn't bundle.
fixes #37394.


git-svn-id: https://develop.svn.wordpress.org/trunk@38203 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-05 04:43:32 +00:00
John Blackbourn 5cc963a721 Docs: Correct and clarify various `@since` docs.
Fixes #37562


git-svn-id: https://develop.svn.wordpress.org/trunk@38201 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-04 22:53:40 +00:00
Dominik Schilling 152fba56cc Upgrade/Install: Make some install/update failures more verbose.
An upgrader class is used in conjunction with an upgrader skin class. A skin class handles the logging for an upgrade and informs a user about the progress and failures.
The current Ajax install/update handlers are using the `Automatic_Upgrader_Skin` class because during an Ajax request no output is intended. The difference between Ajax updates and automatic updates is that you will see the full log (usually by email) while Ajax updates focus only on success or failure. For that `Automatic_Upgrader_Skin` has one disadvantage: It doesn't provide a way to retrieve failure messages which were passed through `WP_Upgrader_Skin::error()` by the upgrader.
To solve this issue a new skin `WP_Ajax_Upgrader_Skin` has been introduced. The skin extends `Automatic_Upgrader_Skin` and overrides the `error()` and `feedback()` methods to intercept all errors, which can be a `WP_Error` object or a string.

This updates all four Ajax handler for installing/updating themes/plugins to use the new skin. They now also check the skin for any intercepted errors and pass them on to the user.

Props flixos90, obenland, ocean90.
Props DrewAPicture, pento for review.
Fixes #37531.

git-svn-id: https://develop.svn.wordpress.org/trunk@38199 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-04 22:17:44 +00:00
John Blackbourn 90fb0ded3b I18N: Correct the documented return types of `get_translations_for_domain()`.
See #32246


git-svn-id: https://develop.svn.wordpress.org/trunk@38198 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-04 22:12:21 +00:00
Dominik Schilling 0e2a61dca9 Plugins: Also update `aria-label`s when a plugin update fails.
Previously the label was stuck at "Updating…".

Props afercia, ocean90.
Props DrewAPicture for review.
Fixes #37556.

git-svn-id: https://develop.svn.wordpress.org/trunk@38196 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-04 21:05:19 +00:00
Dominik Schilling dea0ca7dbc Emoji: Update the Twemoji loader to include the rainbow flag.
[38179] added support for the rainbow flag to core, but platform compatibility is a bit strange, because the flag was defined out of sync with the usual Unicode release cycle. For example Android N supports all Unicode 9.0 emoji, but doesn't support the rainbow flag thus the rainbow flag isn't rendered.
The Twemoji loader already has an exception for flags - it'll load if the browser supports everything but flags, and then only replace flag emoji, leaving everything else as native rendering. To provide a seamless experience for all flags the loader now uses the rainbow flag to test flag support.

Props pento.
See #37543.
Fixes #37566.

git-svn-id: https://develop.svn.wordpress.org/trunk@38194 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-04 20:50:11 +00:00
Sergey Biryukov 7f106c4f8b Formatting: In `remove_accents()`, correct replacements for:
* Latin small letter n preceded by apostrophe
* Latin capital letter Eng
* Latin small letter Eng

Props gitlost.
Fixes #37564.

git-svn-id: https://develop.svn.wordpress.org/trunk@38193 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-04 13:55:30 +00:00
Dion Hulse 140f4914f2 Requests: Merge handling for custom HTTP methods.
This merges the latest changes to Requests from upstream to add support for custom HTTP methods.
See 1b5ffd8501

Props Ipstenu, ocean90.
Fixes #37503 for trunk.


git-svn-id: https://develop.svn.wordpress.org/trunk@38191 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-04 07:13:41 +00:00
Dominik Schilling 9628a53be7 Customize: Make the menu edit button look like a link.
The button was introduced in [37901] to allow users switching to the selected menu for further edits. A link makes it more clear that the user is taken away from the current view.
This also adds an aria label and makes the button label more verbose, 'Edit Menu'.

Props afercia.
Props helen for review.
Fixes #36795.

git-svn-id: https://develop.svn.wordpress.org/trunk@38189 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-03 22:44:58 +00:00
Aaron Jorbin cd6a017b66 Updates: Clean up debug statements.
Removing some `console.error` calls leftover from development and wrapping the `console.log` call in a check to ensure `console.log` exists.

Fixes #37514.
Props ocean90, obenland



git-svn-id: https://develop.svn.wordpress.org/trunk@38186 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-03 22:27:51 +00:00
Aaron Jorbin 10906c673f Updates: Improve bulk update failure notice
When doing a bulk update, if there are failures the user needs to know about that. This makes it clearer that you can click on the notification to see more details, especially for screen reader users.

Fixes #37510.
Props  juhise, Ankit K Gupta, afercia, jorbin, ocean90. 



git-svn-id: https://develop.svn.wordpress.org/trunk@38185 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-03 22:23:50 +00:00
Dominik Schilling cc524820be About Page: First pass for 4.6 with strings (not yet translatable) and images (not CDN).
Props macmanx, jorbin, hugobaeta, DrewAPicture, peterwilsoncc, iamfriendly, rahulsprajapati, vishalkakadiya, petya, celloexpressions, westonruter, mikeschroder, zetaraffix, mapk, boonebgorges, adamsilverstein, jeremyfelt, rosso99, karmatosed, swissspidy, michael-arestad, ramiy, ocean90.
See #37246.

git-svn-id: https://develop.svn.wordpress.org/trunk@38183 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-03 19:53:44 +00:00
Boone Gorges fa21c5e675 In `WP_Term_Query`, accept a string value for `taxonomy`.
Props endocreative.
Props ocean90 for review.
Fixes #37545.

git-svn-id: https://develop.svn.wordpress.org/trunk@38181 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-03 13:50:14 +00:00
Gary Pendergast 6efa061bd5 Emoji: Add support for the Rainbow and Pirate flag emoji.
Twemoji recently added images for the Rainbow and Pirate flags, and the latest iOS 10 beta added support for the Rainbow flag. Never let it be said that WordPress is at anything less than the cutting edge of emoji research and development.

Props ocean90 for the code review.

See #37543.



git-svn-id: https://develop.svn.wordpress.org/trunk@38179 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-03 00:10:46 +00:00
Helen Hou-Sandi 35c6691858 Trunk is now 4.7-alpha.
git-svn-id: https://develop.svn.wordpress.org/trunk@38178 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-02 13:44:37 +00:00
Aaron Jorbin 11a5970263 Upgrade/Install: Trigger additional JS events in shiny updates
Events for updating exist, but they lack context. This adds args so that plugins can detec t what plugin/theme is being installed.  Additionally, events for bulk actions, deleting and that and install is starting didn't exist, so this adds them.

Fixes #37512.
Props DavidAnderson, and ocean90, swissspidy for review.



git-svn-id: https://develop.svn.wordpress.org/trunk@38175 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-31 18:56:57 +00:00
Dominik Schilling 48078058d7 Script Loader: Ignore deregistered dependencies in `wp_dependencies_unique_hosts()`.
Prevents a PHP warning when a handle of a deregistered dependency is still in the queue.

Fixes #37502.

git-svn-id: https://develop.svn.wordpress.org/trunk@38174 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-31 18:24:21 +00:00
Dominik Schilling 11e4642c67 HTTP API: Set `$use_authentication` property of `Requests_Proxy_HTTP` to true when proxy authentication is required.
Props francescobagnoli for initial patch.
Fixes #37494.

git-svn-id: https://develop.svn.wordpress.org/trunk@38173 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-31 18:19:02 +00:00
Dominik Schilling dbe140910b Plugins: Use `install_plugins_upload` action to print the upload form.
Since [37221] the upload form is added to every plugin install screen via `install_plugins_upload()`. Previously the form was added through the `install_plugins_upload` (alias of `install_plugins_$tab`) action which allowed plugin authors to replace the form. This restores the previous behaviour.

* Add the form only to non-upload plugin install screens.
* Replace `install_plugins_upload()` with the `install_plugins_upload` and `install_plugins_pre_upload` actions.
* Remove `$upload_tab_class` and add a CSS class for the current tab to `.wrap`
* Adjust CSS selectors and toggle the whole container to support upload without an `upload-plugin` class.

Props DavidAnderson, ocean90.
Fixes #37495.

git-svn-id: https://develop.svn.wordpress.org/trunk@38172 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-31 18:10:45 +00:00
Dominik Schilling 76a5d17bf5 Bundled Themes: Bump versions and update theme tags.
* Twenty Ten 2.2
* Twenty Eleven 2.5
* Twenty Twelve 2.1
* Twenty Thirteen 2.0
* Twenty Fourteen 1.8
* Twenty Fifteen 1.6

Props davidakennedy.
Fixes #37426.

git-svn-id: https://develop.svn.wordpress.org/trunk@38171 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-31 16:36:45 +00:00
Dominik Schilling 0eebac0404 Post WordPress 4.6 RC 1 version bump.
git-svn-id: https://develop.svn.wordpress.org/trunk@38170 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-27 18:59:49 +00:00
Dominik Schilling 366eada864 WordPress 4.6 RC 1.
git-svn-id: https://develop.svn.wordpress.org/trunk@38169 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-27 18:28:30 +00:00
Dominik Schilling af6b1a5388 Plugins: Move capability checks further up in `wp_ajax_update_plugin()` and `wp_ajax_delete_plugin()`.
Add tests for both Ajax handlers.

Props Yorick Koster, swissspidy.
Fixes #37490.

git-svn-id: https://develop.svn.wordpress.org/trunk@38168 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-27 17:42:01 +00:00