Commit Graph

603 Commits

Author SHA1 Message Date
Peter Wilson e73ba84b04 Emoji: Load polyfill responsibly.
Improve performance of Emoji tests and loading of the polyfill.

Reduces the number of tests to determine browser support for emoji to those most likely to fail. Adds the defer flag to the loaded scripts for browsers lacking support.

Props superpoincare for perf testing, peterwilsoncc.
Fixes #37817.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38812 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-23 00:00:34 +00:00
Gary Pendergast 84aebb9896 Emoji: Add support for the upcoming Emoji 4 release.
Emoji 4 adds 32 new professions, (with variations for gender and skin tone), and updates 33 existing character for male and female variations.

Fixes #38113 for trunk.


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


git-svn-id: http://core.svn.wordpress.org/trunk@38660 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-04 03:24:30 +00:00
Sergey Biryukov c3ad13e72e I18N: Add support for Serbian crossed D in `remove_accents()`.
Props Krstarica for the report.
Fixes #38078.
Built from https://develop.svn.wordpress.org/trunk@38646


git-svn-id: http://core.svn.wordpress.org/trunk@38589 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-09-23 00:07:29 +00:00
Gary Pendergast e1d553e20a Docs: Fix an outdated comment.
[38592] changed the functionality of `wpautop()`, but didn't update the associated comment to match.

Fixes #4857.


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


git-svn-id: http://core.svn.wordpress.org/trunk@38536 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-09-13 04:01:30 +00:00
Gary Pendergast 109ffb9390 Formatting: Add an extra line break before block elements in `wpautop()`.
`wpautop()` considers double line breaks to be the separator between block level HTML elements. By adding two line breaks before a block element, this allows us to process the text before a block element correctly.

Fixes #4857.


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


git-svn-id: http://core.svn.wordpress.org/trunk@38535 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-09-12 07:06:30 +00:00
Scott Taylor 9383bf8f74 General: use `get_bloginfo( 'version' )` instead of `global $wp_version` in several locations - excluding those locations which reload `version.php` mid-flight.
See #37699.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38400 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-31 05:49:37 +00:00
Scott Taylor 6a43b84454 Formatting: for a performance boost in `remove_accents()`, convert `chr()` calls to string literals.
Props gitlost.
Fixes #37643.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38300 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 09:35:27 +00:00
Dominik Schilling ea6e749c71 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.
Built from https://develop.svn.wordpress.org/trunk@38194


git-svn-id: http://core.svn.wordpress.org/trunk@38135 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-04 20:51:31 +00:00
Sergey Biryukov 6182c9f805 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.
Built from https://develop.svn.wordpress.org/trunk@38193


git-svn-id: http://core.svn.wordpress.org/trunk@38134 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-04 13:56:29 +00:00
Drew Jaynes 6cc13f0c54 Docs: Fix formatting, tense, verb conjugation, and other syntax for wp-includes/* elements introduced or changed in 4.6.
Part 1/2.

See #37318.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38062 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-07-20 16:57:32 +00:00
Gary Pendergast 46ac7ac930 Emoji: Update to Unicode 9.0 emoji.
This includes a new test in the emoji loader, to see if the browser supports rendering Unicode 9.0 emoji, as well as an update to `twemoji.js`, to load Unicode 9.0 twemoji images.

The default CDN location for loading Twemoji images has changed, moving to a versioned subdirectory. This allows updates without needing to purge the CDN.

Fixes #37361.


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


git-svn-id: http://core.svn.wordpress.org/trunk@38028 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-07-18 07:35:39 +00:00
Sergey Biryukov 139387b7e5 Docs: Use 3-digit, x.x.x-style semantic versioning for `_doing_it_wrong()`, `_deprecated_function()`, `_deprecated_argument()`, and `_deprecated_file()` throughout core.
Props metodiew.
Fixes #36495.
Built from https://develop.svn.wordpress.org/trunk@37985


git-svn-id: http://core.svn.wordpress.org/trunk@37926 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-07-06 12:40:29 +00:00
Jeremy Felt 6f3f00ea97 Multisite: Change `WP_Network` `id` property to an integer.
For consistency and developer sanity.

Props flixos90.
Fixes #37050.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37811 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-26 14:26:29 +00:00
Joe McGill 2bdc11781d Media: Improve handling of extensionless filenames.
This ensures files retain a filename after sanitization.

Fixes 37111.
Built from https://develop.svn.wordpress.org/trunk@37756


git-svn-id: http://core.svn.wordpress.org/trunk@37721 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-21 13:44:31 +00:00
Pascal Birchler a97f0a2c19 Permalinks: Validate custom permalink structures.
Custom permalink structures require at least one valid structure tag, e.g. `%postname%`. If none is included, it would leave users with broken permalinks.
Let's make sure this won't happen by validating the permalink structure.

Adds unit tests.

Props rockwell15 for initial patch.
Fixes #35936.
Built from https://develop.svn.wordpress.org/trunk@37747


git-svn-id: http://core.svn.wordpress.org/trunk@37712 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-19 12:02:29 +00:00
Sergey Biryukov 54aafeedbe I18N: In `remove_accents()`, add support for `de_CH` and `de_CH_informal`.
Props grapplerulrich.
Fixes #37076.
Built from https://develop.svn.wordpress.org/trunk@37698


git-svn-id: http://core.svn.wordpress.org/trunk@37664 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-14 17:44:30 +00:00
Peter Wilson 47d26cd9fb DOCS: Replace HTTP links with HTTPS.
Replaces unsecure links in documentation and translator comments with their secure versions.

Props johnpgreen, netweb

Fixes #36993

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


git-svn-id: http://core.svn.wordpress.org/trunk@37640 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-10 04:50:33 +00:00
Drew Jaynes 84cd369763 Docs: Add extensive documentation to the `remove_accents()` DocBlock outlining the accented characters core replaces.
Covers:
* Currency signs
* Decompositions for Latin-1 Supplement
* Decompositions for Latin Extended-A
* Decompositions for Latin Extended-B
* Vowels with diacritic (Chinese, Hanyu Pinyin)
* Characters replaced for the `de_DE`, `de_DE_formal`, and `da_DK` locales 

Props john_schlick for the initial work.
Props DrewAPicture, ocean90.

See #34677.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37635 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-09 19:14:30 +00:00
Drew Jaynes d28f1a08ef Docs: Apply inline `@see` tags to hooks referenced in DocBlocks in a variety of wp-includes/* files.
Applying these specially-crafted `@see` tags allows the Code Reference parser to recognize and link these elements as actions and filters.

See #36921.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37511 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-23 19:01:27 +00:00
Drew Jaynes 03b342f22d Docs: Standardize filter docs in wp-includes/formatting.php to use third-person singular verbs per the inline documentation standards for PHP.
See #36913.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37483 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-22 18:45:28 +00:00
Drew Jaynes f52a8cb1fa Docs: Remove/replace invalid inline `@link` tags in DocBlocks in wp-includes/*.
Fixes #36910.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37455 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-22 17:39:28 +00:00
Peter Wilson a593be4403 Docs: Correct @since tag for Emoji SVG filters
See [37471]

Fixes #36525

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


git-svn-id: http://core.svn.wordpress.org/trunk@37441 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-20 06:15:27 +00:00
Peter Wilson 94290a843b Emoji: Use SVG in supported browsers
Use SVG images in supporting browsers, otherwise fall back to PNG images. Add the filters `emoji_svg_url` and `emoji_svg_ext`.

Introduces unit tests to check the Emoji CDN filters.

Fixes #36525

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


git-svn-id: http://core.svn.wordpress.org/trunk@37439 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-20 06:03:27 +00:00
Gary Pendergast 7349a7a60e Emoji: Allow emoji in `blogname` and `blogdescription` on `utf8` installs.
When the options table is set to `utf8` instead of `utf8mb4`, emoji will be stripped from the blog name and description when they're saved. Instead of stripping them, they can be encode as HTML entities.

Fixes #36122.


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


git-svn-id: http://core.svn.wordpress.org/trunk@37437 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-20 04:54:27 +00:00
Drew Jaynes b1804afeaf Docs: Standardize on 'backward compatibility/compatible' nomenclature in core inline docs.
Also use 'back-compat' in some inline comments where backward compatibility is the subject and shorthand feels more natural.

Note: 'backwards compatibility/compatibile' can also be considered correct, though it's primary seen in regular use in British English.

Props ocean90.
Fixes #36835.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37397 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-13 18:41:31 +00:00
Weston Ruter 959f1a07a6 Customize/Formatting: Move `sanitize_hex_color()`, `sanitize_hex_color_no_hash()`, and `maybe_hash_hex_color()` from `class-wp-customize-manager.php` into `formatting.php`.
Adds missing braces.

See #33413.
Props downstairsdev, tollmanz.
Fixes #27583.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37249 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-04-21 19:22:27 +00:00
Gary Pendergast b43ee4b8fe Emoji: The diversity support test was incorrectly passing on all browsers.
[37028] missed some logic to capture the base emoji skin tone, to compare to the modified emoji skin tone. This caused all browsers to report that they supported skin tone modifiers, regardless of whether they actually did.

Fixes #36604 for trunk.


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


git-svn-id: http://core.svn.wordpress.org/trunk@37222 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-04-20 13:56:28 +00:00
Gary Pendergast e899cc7ae5 Emoji: The `everythingExceptFlag` browser support flag, introduced in [36816], wasn't being initialised correctly.
See #35300.


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


git-svn-id: http://core.svn.wordpress.org/trunk@36996 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-17 05:00:28 +00:00
Gary Pendergast 261aa938cf Emoji: Fix the diversity emoji check in Safari.
When the browser test for diversity emoji was added in [36160], it included a workaround for Chrome not being able to compare `Uint8ClampedArray` objects directly, by converting them to a string. Unfortunately, Safari doesn't support the `Uint8ClampedArray.toString()` method correctly, so the test was incorrectly failing in Safari.

Fixes #36266 for trunk.


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


git-svn-id: http://core.svn.wordpress.org/trunk@36995 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-17 04:54:26 +00:00
Dominik Schilling d8f3325c14 Docs: Correct grammar when referring to "a URL" vs "an URL" in several places.
Fixes #36218.
Built from https://develop.svn.wordpress.org/trunk@36970


git-svn-id: http://core.svn.wordpress.org/trunk@36938 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-12 12:39:27 +00:00
Gary Pendergast 2c277e3952 Emoji: Clean up the emoji browser support tests.
As new sets of emoji are added to Unicode, and browsers add support for them at random intervals, we'll inevitably need to add new tests to the emoji loader. This change makes it much easier to add new tests as they're needed.

Fixes #35300.


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


git-svn-id: http://core.svn.wordpress.org/trunk@36783 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-03 05:17:26 +00:00
Sergey Biryukov d115144857 Formatting: In `sanitize_title_with_dashes()`, convert `&nbsp`, `&ndash`, and `&mdash` HTML entities to hyphens on save.
Props polevaultweb for initial patch.
Fixes #31790.
Built from https://develop.svn.wordpress.org/trunk@36775


git-svn-id: http://core.svn.wordpress.org/trunk@36742 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-29 04:42:27 +00:00
Dominik Schilling 529a53e903 Formatting: Avoid a PHP warning when `wptexturize()` is called with a trailing less-than symbol.
Props westonruter.
Fixes #35864.
Built from https://develop.svn.wordpress.org/trunk@36578


git-svn-id: http://core.svn.wordpress.org/trunk@36545 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-18 20:31:27 +00:00
Drew Jaynes c1b837b47f Docs: Add a missing type to the return description for `map_deep()`.
Props sebastianpisula.
See #35700.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36455 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-07 00:15:27 +00:00
Dion Hulse dddfbfa1d3 Emoji: Work around a `mod_security` rule which prevents pages with 4 or more instances of `String.fromCharCode(` from being served.
Fixes #35412 for trunk.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36326 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-20 07:40:28 +00:00
John Blackbourn 877d14883e Emoji: Explictly use `https` as the scheme for emoji fallback images, as they're only served over HTTPS by the CDN anyway.
Fixes #35376
Props ocean90

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


git-svn-id: http://core.svn.wordpress.org/trunk@36216 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-10 01:24:26 +00:00
Gary Pendergast 5a0f8ca847 Emoji: Add a test to the emoji loader, to see if the browser supports emoji diversity. If it doesn't, fall back to twemoji.
See #33592.


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


git-svn-id: http://core.svn.wordpress.org/trunk@36126 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-03 04:26:27 +00:00
Pascal Birchler 2c9896e8d1 Comments: Don't nofollow links within the site.
Fixes #11360.
Built from https://develop.svn.wordpress.org/trunk@36125


git-svn-id: http://core.svn.wordpress.org/trunk@36091 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-30 23:20:25 +00:00
Dion Hulse 85718ebf9a Allow `map_deep()` to work with object properties containing a reference. Restores the previous behaviour of `stripslashes_deep()`.
Props jeff@pyebrook.com, swissspidy.
See #22300, [35252].
Fixes #35058.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36065 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-26 05:22:26 +00:00
Dion Hulse 2038a29352 Shortcodes: `=` is a reserved character in shortcode names, mark it as such.
This allows for shortcodes such as `[shortcode=attribute]` to work, which while never intentionally supported were widely used in the pre-shortcode days.

Props aaroncampbell.
Fixes #34939 for trunk.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36062 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-26 04:46:28 +00:00
Gary Pendergast ba8b95cdbe Texturize: Transform `&` into `&` in tag attributes.
[35709] was overly broad, and stopped transforming `&` characters within tag attributes. So that sites aren't generating invalid HTML, we need to restore this functionality, while continuing to not transform `&` within blocked tags.

Fixes #35008 for trunk.


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


git-svn-id: http://core.svn.wordpress.org/trunk@36001 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-21 02:43:26 +00:00
Pascal Birchler 47306630ca Docs: Improve documentation for `format_for_editor()` and the `'the_editor_content'` filter it is hooked to.
Props AramZS for initial patch.
Fixes #34866.
Built from https://develop.svn.wordpress.org/trunk@35904


git-svn-id: http://core.svn.wordpress.org/trunk@35868 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-13 19:22:26 +00:00
John Blackbourn a027edc277 Comments: The year is 2003. Permalinks are a new thing and everyone's using Blogger. It's a time when opening a modal window in JavaScript to view a section of a website is not a completely weird thing, although many users get annoyed by it. b2 has recently become WordPress, and with it comes a bunch of functionality that will become stale over the next decade, remnants of simpler times.
Twelve years later, after no fewer than three themes have intentionally implemented popup comments in their functionality, before being abandoned for at least the last six years, we've reached a time where we can put this era behind us. A time when we can remove comment popup functionality from WordPress.

If this breaks the internet, I'll eat my hat.

Fixes #28617

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


git-svn-id: http://core.svn.wordpress.org/trunk@35812 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-10 03:06:30 +00:00
John Blackbourn 8826804952 Formatting: Don't make links inside `<script>` and `<style>` tags clickable.
Fixes #30162
Props ninos-ego, adamsilverstein

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


git-svn-id: http://core.svn.wordpress.org/trunk@35811 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-09 23:55:32 +00:00
Pascal Birchler 331fdaf184 Docs: After [35314], fix the DocBlock for `url_shorten()`.
See #20166.
Built from https://develop.svn.wordpress.org/trunk@35813


git-svn-id: http://core.svn.wordpress.org/trunk@35777 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-07 16:39:25 +00:00
Pascal Birchler 4ace55b0dc Docs: Add proper `@param` and `@return` tags for `capital_P_dangit()`.
Props timplunkett.
Fixes #34863.
Built from https://develop.svn.wordpress.org/trunk@35803


git-svn-id: http://core.svn.wordpress.org/trunk@35767 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-06 22:02:27 +00:00
Konstantin Kovshenin e1966f061d Allow usage of angle brackets in a site title or tagline.
The whole string is escaped with `esc_html()` anyway, so we don't
need to `wp_kses_post()`. This is a better experience for users who
want to use angle brackets in their site title or description.
Does not allow any HTML, adds unit tests.

props BandonRandon, pauldewouters.
fixes #27942.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35752 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-06 20:29:25 +00:00
Gary Pendergast a3cd85eefd Texturize: Only convert `&` to `&#038;` within text nodes.
Previously, `&` would be converted everywhere, which caused problems when it was converted within a `<script>`, for example.

`convert_chars()` is now removed from the `the_content` filter, as it was doing the same job as `wptexturize()`.

KSES correctly handles converting `&` within HTML attributes, so there's no need for `wptexturize()` and `convert_chars()` to do the same job.

Fixes #34698.


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


git-svn-id: http://core.svn.wordpress.org/trunk@35673 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-19 23:31:26 +00:00
Gary Pendergast d3f30288e9 Emoji: Use twemoji in browsers that don't support Unicode 8 emoji.
Some less advanced browsers are yet to add support for the important advances made in Unicode 8. Let's make ensure that their users can experience emoji in their full glory.

See #33592.


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


git-svn-id: http://core.svn.wordpress.org/trunk@35570 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-11 02:25:25 +00:00
Sergey Biryukov 5f16d19be7 Use the `MONTH_IN_SECONDS` constant added in [33698] for the month representation in `human_time_diff()` logic.
Props tyxla.
Fixes #34602.
Built from https://develop.svn.wordpress.org/trunk@35555


git-svn-id: http://core.svn.wordpress.org/trunk@35519 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-06 16:34:26 +00:00