Commit Graph

85 Commits

Author SHA1 Message Date
Scott Taylor
4d46475b3d Improve various @param docs for src/wp-includes/*.
See #30224.


git-svn-id: https://develop.svn.wordpress.org/trunk@30681 602fd350-edb4-49c9-b593-d223f7449a82
2014-12-01 01:33:34 +00:00
Dion Hulse
01b2c45025 Fix the PHPDoc example for _split_str_by_whitespace().
Props voldemortensen. Fixes #30504


git-svn-id: https://develop.svn.wordpress.org/trunk@30575 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-26 03:51:48 +00:00
Drew Jaynes (DrewAPicture)
ac07c17400 Ensure inline code is markdown-escaped as such, HTML tags are removed from summaries, and that code snippets in descriptions are properly indented.
Affects DocBlocks for the following core elements in wp-includes/formatting.php:
* Markdown-indent code snippets in the description for `wptexturize()`
* Backtick-escape inline code in a parameter description for `_wptexturize_pushpop_element()`
* Backtick-escape inline code in the description for `shortcode_unautop()`
* Backtick-escape HTML tags in the description for `convert_chars()`
* Markdown-indent a code snippet in the description for `_split_str_by_whitespace()`
* Backtick-escape an `<img>` tag in the description for `translate_smiley()`
* Add markdown formatting to the description for `links_add_target()`
* Backtick-escape HTML tags in the description for `wp_strip_all_tags()`

Props rarst.
See #30473.


git-svn-id: https://develop.svn.wordpress.org/trunk@30540 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-24 05:29:43 +00:00
Drew Jaynes (DrewAPicture)
6866523f2b Add an entry to the changelog for wp_make_link_relative() noting that intentional support was added for relative URLs.
See #30373.


git-svn-id: https://develop.svn.wordpress.org/trunk@30496 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-21 03:43:06 +00:00
Andrew Nacin
fb28a78331 Anchor texturize to shortcodes to improve regex efficiency.
props miqrogroove.
see #29557 for segfault issues.


git-svn-id: https://develop.svn.wordpress.org/trunk@30449 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-20 14:27:08 +00:00
Boone Gorges
d1e841c03b Improvements to wp_make_link_relative().
* Support relative URL input.
* When the URL being made relative has another URL as a parameter, don't make the second URL relative.

Props voldemortensen.
Fixes #30373.

git-svn-id: https://develop.svn.wordpress.org/trunk@30383 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-19 01:52:57 +00:00
Drew Jaynes (DrewAPicture)
3cc10d77a0 Remove redundant and erroneous @uses tag from most core inline documentation.
Per our inline documentation standards, no further use of the `@uses` tag is recommended as used and used-by relationships can be derived through other means. This removes most uses of the tag in core documentation, with remaining tags to be converted to `@global` or `@see` as they apply.

Fixes #30191.


git-svn-id: https://develop.svn.wordpress.org/trunk@30105 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-30 01:04:55 +00:00
Sergey Biryukov
31bed9ed11 Fix whitespace issues in [29781]. Remove a redundant comment.
props miqrogroove.
see #29557.

git-svn-id: https://develop.svn.wordpress.org/trunk@29873 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-11 02:32:15 +00:00
Scott Taylor
23f7f53be2 The joys of wptexturize():
* Revert parts of [28773] and [28727] and [29748].
* Do not crash PHP. Make the shortcode quantifier possessive to avoid backtracks.
* Reduce backtracking in long HTML comments by 100x.
* Do not ignore unclosed HTML comments.
* Do not break unregistered shortcodes, e.g. `[hello attr="value"]`.
* Do not break HTML in shortcode attributes, e.g. `[hello attr="<"]`.
* Do not match for shortcodes when there is extra whitespace, e.g. `[ hello ]`.
* Add unit tests to show #12690 was not fully resolved.
* Tested PHP 5.2.4, 5.2.13, 5.4.32, and 5.5.8.

Adds/modifies unit tests.

Props miqrogroove.
See #29557.


git-svn-id: https://develop.svn.wordpress.org/trunk@29781 602fd350-edb4-49c9-b593-d223f7449a82
2014-09-29 04:06:54 +00:00
Scott Taylor
606cd967f6 wptexturize() improvements:
* Expand the `wptexturize()` RegEx to include the list of registered shortcodes.
* Avoid backtracking after `[` chars by not filtering params in registered shortcodes. This will cause escaped shortcodes and their params to become texturized if not registered.
* Registered shortcode params will never be texturized, even when escaped.
* Move all tests involving unregistered shortcodes to a new and improved unit.
* Update one test involving HTML within shortcode params.

Props miqrogroove.
See #29557.


git-svn-id: https://develop.svn.wordpress.org/trunk@29748 602fd350-edb4-49c9-b593-d223f7449a82
2014-09-17 15:13:24 +00:00
Sergey Biryukov
ad0b20ad09 Check for [\r\n\t ] instead of \s in sanitize_file_name() to avoid UTF-8 issues.
props p_enrique.
fixes #26094.

git-svn-id: https://develop.svn.wordpress.org/trunk@29715 602fd350-edb4-49c9-b593-d223f7449a82
2014-09-07 08:32:22 +00:00
Andrew Nacin
ca32a2d410 Pinking shears.
git-svn-id: https://develop.svn.wordpress.org/trunk@29707 602fd350-edb4-49c9-b593-d223f7449a82
2014-09-04 15:22:58 +00:00
Andrew Nacin
de3b2ccf19 Allow language specified by the WPLANG constant (but not installed) to be chosen.
fixes #29456.


git-svn-id: https://develop.svn.wordpress.org/trunk@29691 602fd350-edb4-49c9-b593-d223f7449a82
2014-09-03 08:02:53 +00:00
Drew Jaynes (DrewAPicture)
ab6063cc88 Fix some documentation typos in various core files.
Props vlajos.
Fixes #29199.


git-svn-id: https://develop.svn.wordpress.org/trunk@29479 602fd350-edb4-49c9-b593-d223f7449a82
2014-08-13 03:55:10 +00:00
Scott Taylor
3aa94852b3 wptexturize: After [28727], leverage RegeEx possessives (++) to improve performance and avoid libpcre segfaults.
Props kovshenin.
Fixes #12690.


git-svn-id: https://develop.svn.wordpress.org/trunk@29431 602fd350-edb4-49c9-b593-d223f7449a82
2014-08-07 19:10:13 +00:00
Andrew Ozz
01051b4e2f Formatting: make the removal of white space around <option> greedy, see #28217.
git-svn-id: https://develop.svn.wordpress.org/trunk@29316 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-28 19:54:50 +00:00
Andrew Ozz
5fa36977a0 Formatting: no <p> or <br> around <option> tags in both flavours of wpautop, make "selects" easier to read in the Text editor. Fixes #28217.
git-svn-id: https://develop.svn.wordpress.org/trunk@29315 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-28 19:43:06 +00:00
Scott Taylor
1cbe1cec12 In sanitize_file_name(), replace %20 and + with dashes. Remove unnecessary code from _wp_handle_upload().
Adds unit tests.

Props ericmann.
Fixes #16330.


git-svn-id: https://develop.svn.wordpress.org/trunk@29290 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-24 22:08:09 +00:00
Drew Jaynes (DrewAPicture)
551f829c55 Inline documentation cleanup for 4.0 audit.
Various improvements:
* Adds `@see` reference for `wp_list_comments()` in 'wp_list_comments_args' filter docs, added in [28285]
* Various phpDoc tweaks for the 'run_wptexturize' filter docs, added in [28715]
* Sentence and wrapping changes for `is_https_url()`, added in [28894]
* Documents the `$args` parameter for `wp_dropdown_languages()`, added in [29007]
* Adds a period to the parameter description for `_update_posts_count_on_delete()`, added in [28835]
* Documents a global in `is_customize_preview()`, added in [28999]
* phpDoc tweaks, adds an access modifier for `wpdb::esc_like()`, added in [28711]

See #28885.


git-svn-id: https://develop.svn.wordpress.org/trunk@29163 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-14 01:01:22 +00:00
Sergey Biryukov
b3695a587f Exclude a newline between delimeters from further checks in wptexturize() for better performance.
props miqrogroove.
fixes #28724.

git-svn-id: https://develop.svn.wordpress.org/trunk@29008 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-06 08:49:25 +00:00
Scott Taylor
4e8afc6caa Optimize regexp usage in wptexturize() for a "3x Performance Boost."
Props miqrogroove.
See #28724.


git-svn-id: https://develop.svn.wordpress.org/trunk@28986 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-04 01:14:08 +00:00
John Blackbourn
14bfade4ec Correct typo in sanitize_html_class() docblock.
git-svn-id: https://develop.svn.wordpress.org/trunk@28973 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-03 16:57:17 +00:00
Sergey Biryukov
ff3644a220 Fix texturization of quotes when enclosed by angle brackets.
props miqrogroove.
fixes #28718.

git-svn-id: https://develop.svn.wordpress.org/trunk@28971 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-03 16:21:18 +00:00
Scott Taylor
01441b8c05 Remove obsolete comment in wptexturize().
http://irclogs.wordpress.org/chanlog.php?channel=wordpress-dev&day=2014-06-30&sort=asc#m879104

See [28831].


git-svn-id: https://develop.svn.wordpress.org/trunk@28929 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-30 17:58:14 +00:00
Scott Taylor
8103dc5ade Use less greedy regex in wptexturize(). Adds unit tests.
Props miqrogroove.
See #28564.


git-svn-id: https://develop.svn.wordpress.org/trunk@28852 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-26 17:14:47 +00:00
Scott Taylor
96484fd3f9 Optimize the wptexturize() loop:
* Take the ampersand pattern out of the loop for speed.
* Fix old bugs in the ampersand pattern.
* Refactor `_wptexturize_pushpop_element()` without PCRE for speed.
* Update unit tests.

Props miqrogroove.
Fixes #28623.


git-svn-id: https://develop.svn.wordpress.org/trunk@28831 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-25 17:48:20 +00:00
Scott Taylor
832bbb2821 Remove noscript from wpautop()'s list of block elements.
Props mdawaffe.
Fixes #27268.


git-svn-id: https://develop.svn.wordpress.org/trunk@28817 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-24 00:53:41 +00:00
Sergey Biryukov
2120ede170 Remove mbstring_binary_safe_strlen(). Use mbstring_binary_safe_encoding() and reset_mbstring_encoding() directly.
fixes #28162.

git-svn-id: https://develop.svn.wordpress.org/trunk@28808 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-23 22:20:23 +00:00
Sergey Biryukov
4fd715c937 Introduce a binary-safe wrapper for strlen() and use it in seems_utf8(), utf8_uri_encode(), and wp_read_image_metadata().
Use binary-safe POMO_Reader::strlen() in MO::export_to_file_handle().

fixes #28162.

git-svn-id: https://develop.svn.wordpress.org/trunk@28806 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-23 14:47:08 +00:00
Sergey Biryukov
1c7bfc7ed1 Revert [28776] and use a correct variable instead.
props miqrogroove.
fixes #28575.

git-svn-id: https://develop.svn.wordpress.org/trunk@28802 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-22 22:12:47 +00:00
Sergey Biryukov
4306de30e3 Move preg_match() that should only run once out of the loop.
props dllh.
fixes #28575.

git-svn-id: https://develop.svn.wordpress.org/trunk@28776 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-19 00:00:27 +00:00
Scott Taylor
0688f9eb49 In wptexturize() + tests:
* Allow well-formed HTML inside of shortcode attributes
* Restrict recursion. HTML is allowed but ignored.
* Do not allow exotic HTML comments in shortcode attributes.
* Continue to ignore the [ and ] chars if they appear in any HTML attribute.
* Update related regex patterns.
* Update unit tests.

Props miqrogroove.
Fixes #28564.


git-svn-id: https://develop.svn.wordpress.org/trunk@28773 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-18 19:48:46 +00:00
Scott Taylor
b11edb94d9 Fix abbreviations mixed with quotes, example: '99% of people'.
Add/alter unit tests.

Props miqrogroove.
Fixes #26850.


git-svn-id: https://develop.svn.wordpress.org/trunk@28765 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-17 20:18:38 +00:00
Scott Taylor
1f4d925102 In wptexturize(), adjust for the treatment of abbreviated years at the end of quotations.
Silence some unit tests that have never passed and may no longer be applicable.

Props miqrogroove.
Fixes #18549.


git-svn-id: https://develop.svn.wordpress.org/trunk@28764 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-17 20:13:54 +00:00
Scott Taylor
6f658551d6 Add unit tests to confirm that --- is properly converted to &#8212; by wptexturize() where appropriate.
Props miqrogroove.
Fixes #28483.


git-svn-id: https://develop.svn.wordpress.org/trunk@28763 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-17 18:06:12 +00:00
Scott Taylor
14f3b15d69 Add Unit Tests for i18n and wptexturize(). Don't confuse closing single quotes and apostrophes.
See #27426.


git-svn-id: https://develop.svn.wordpress.org/trunk@28762 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-17 17:56:08 +00:00
Scott Taylor
03a6e5f1fb wptexturize() adjustments:
* Only place an apostrophe before a number when it has exactly two digits.
* Never match '99' with the single prime pattern.
* Always assume '99' is an abbreviated year at the end of a quotation.
* Add unit tests.
* Resolves the unit test broken in [28721] for #8775.

See #26850.


git-svn-id: https://develop.svn.wordpress.org/trunk@28761 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-17 17:40:07 +00:00
Scott Taylor
821c052473 In wptexturize(), ensure that texturization does not corrupt contents of HTML elements, HTML comments, and smartcode attributes.
Adds a variety of unit tests/assertions.

Props miqrogroove.
Fixes #12690, #8912, #27602.


git-svn-id: https://develop.svn.wordpress.org/trunk@28727 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-10 14:33:16 +00:00
Scott Taylor
9e347a40c2 In wptexturize(), allow dashes before and after curly quotes. Example: This is what she said---"Wow that is cool."
Adds unit tests.

Props adamsilverstein, miqrogroove.
Fixes #20342.


git-svn-id: https://develop.svn.wordpress.org/trunk@28726 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-10 14:21:36 +00:00
Scott Taylor
66b539bdab wptexturize() should handle apostrophes before primes.
Props nacin, miqrogroove.
Fixes #22823.


git-svn-id: https://develop.svn.wordpress.org/trunk@28725 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-10 14:13:52 +00:00
Drew Jaynes (DrewAPicture)
da0b2f9769 Improve inline documentation for the wp_spaces_regexp filter.
Fixes #27588.


git-svn-id: https://develop.svn.wordpress.org/trunk@28724 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-10 06:45:38 +00:00
Drew Jaynes (DrewAPicture)
0d0f24fbbb Add inline documentation for the run_wptexturize filter.
Props miqrogroove for the original patch.
Fixes #19550.


git-svn-id: https://develop.svn.wordpress.org/trunk@28723 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-10 06:28:19 +00:00
Scott Taylor
013f3f14e3 Fix curly quotes around numbers when applicable.
Adds unit tests.

Props filosofo, mrmist, aliso, MikeHansenMe, miqrogroove.
Fixes #8775.


git-svn-id: https://develop.svn.wordpress.org/trunk@28721 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-10 02:42:35 +00:00
Scott Taylor
a66f776684 In wptexturize(), don't convert C-style hexadecimals to mathematical ×.
Adds unit tests.

Props harrym, kurtpayne, miqrogroove.
Fixes #19308.


git-svn-id: https://develop.svn.wordpress.org/trunk@28719 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-10 02:17:24 +00:00
Scott Taylor
f9bcf40db7 In wptexturize(), treat &nbsp; like whitespace when texturizing hyphens.
Adds unit tests.

Props redsweater, miqrogroove.
Fixes #23185.


git-svn-id: https://develop.svn.wordpress.org/trunk@28718 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-10 02:08:05 +00:00
Scott Taylor
db7816dd0c smilies_init(), treat &nbsp; like whitespace when converting smilies.
Adds unit tests.

Props miqrogroove.
Fixes #27587.


git-svn-id: https://develop.svn.wordpress.org/trunk@28717 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-10 02:02:23 +00:00
Scott Taylor
97bacb3121 Ensure that shortcode_unautop() treats &nbsp; like whitespace.
`shortcode_unautop()` and `wptexturize()` now use `wp_spaces_regexp()` instead of raw regex.

Adds unit tests.

Props miqrogroove.
See #27588.


git-svn-id: https://develop.svn.wordpress.org/trunk@28716 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-10 01:54:11 +00:00
Scott Taylor
8ec05a3926 Add a $run_texturize static var to wptexturize() that is filterable via a new run-once filter: 'run_wptexturize'. Allows user to disable texturization.
Needs filter docs.

Props nacin, SergeyBiryukov.
See #19550.


git-svn-id: https://develop.svn.wordpress.org/trunk@28715 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-10 01:45:28 +00:00
Scott Taylor
2a551f57a4 LIKE escape sanity:
* Deprecate `like_escape()`
* Add a method to `$wpdb`, `->esc_like()`, and add unit tests

`$wpdb::esc_like()` is not used yet. As such, many unit tests will throw `Unexpected deprecated notice for like_escape`. Subsequent commits will alleviate this.

Props miqrogroove.
See #10041.


git-svn-id: https://develop.svn.wordpress.org/trunk@28711 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-10 00:29:35 +00:00
Scott Taylor
b7d411e724 Add a function: wp_spaces_regexp(). It is not used yet.
This function is required by a bunch of patches by miqrogroove. Needs filter docs.

Props miqrogroove.
See #27588.


git-svn-id: https://develop.svn.wordpress.org/trunk@28708 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-09 19:29:55 +00:00