Commit Graph

1051 Commits

Author SHA1 Message Date
Dominik Schilling (ocean90) 08098026ce Passwords: Deprecate second parameter of `wp_new_user_notification()`.
The second parameter `$plaintext_pass` was removed in [33023] and restored as `$notify` in [33620] with a different behavior. If you have a plugin overriding `wp_new_user_notification()` which hasn't been updated you would get a notification with your username and the password "both".
To prevent this the second parameter is now deprecated and reintroduced as the third parameter.

Adds unit tests.

Props kraftbj, adamsilverstein, welcher, ocean90.
Fixes #33654.

(Don't ask for new pluggables kthxbye)

git-svn-id: https://develop.svn.wordpress.org/trunk@34116 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 12:42:34 +00:00
Scott Taylor c16e8b5616 Add sanity checks in `map_meta_cap()`, return `'do_not_allow'` when posts don't exist.
Adds unit test.

Props ocean90, nerrad, filosofo.
Fixes #23162.


git-svn-id: https://develop.svn.wordpress.org/trunk@34113 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 04:43:48 +00:00
Dion Hulse 9555882e90 When running on windows systems, normalise the capitalisation of the drive letter for more reliable string comparisons.
Props tyxla
Fixes #33265


git-svn-id: https://develop.svn.wordpress.org/trunk@34104 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 01:58:03 +00:00
Scott Taylor 184e058681 Objects are passed by-reference since PHP 5. In `_get_custom_object_labels()`, cast `$object->labels` back to `object` before returning. This function is weird.
Adds unit test.

Props Toro_Unit.
Fixes #33023.


git-svn-id: https://develop.svn.wordpress.org/trunk@34102 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 01:22:23 +00:00
Scott Taylor 5d0bc76040 Check if the `$post_type` passed to `get_post_type_object()` is a `scalar` value. Non-scalars were producing PHP warnings.
Adds unit tests.

Props Kloon.
Fixes #30013.


git-svn-id: https://develop.svn.wordpress.org/trunk@34100 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 00:02:05 +00:00
Jeremy Felt 276fa7cd09 Tests: Update `Tests_Feed_RSS::test_items` to expect new comment permalink structure.
Introduced in [34075] for posts without comments.

Props netweb.
Fixes #19893.


git-svn-id: https://develop.svn.wordpress.org/trunk@34092 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-12 23:30:11 +00:00
Boone Gorges 829ae5f4ce Fail gracefully when checking mapped cap against unregistered post type.
Post type objects are reponsible for mapping their capabilities to core caps.
As a result, when the post type is no longer registered, the caps are no
longer mapped. This causes problems when a post is left in the database after
the post type is no longer present, and WP does an 'edit_post' or other cap
check against it: a PHP notice is thrown, and the cap check always fails.

As a more graceful fallback, we map all post-type-dependent caps onto
'edit_others_posts', which allows highly privileged users to be able to
access orphaned content (such as comments belonging to disabled post types),
while minimizing the possibility of unintended privilege escalation.

We also add a `_doing_it_wrong()` notice, so that developers and site
administrators are aware that the cap mapping is failing in the absence of
the registered post type.

Props mitchoyoshitaka, DrewAPicture, imath, codeelite, boonebgorges, nofearinc, SergeyBiryukov, jorbin, dlh.
Fixes #16956.

git-svn-id: https://develop.svn.wordpress.org/trunk@34091 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-12 21:26:57 +00:00
Boone Gorges dcbd8c6c3d Allow `setup_postdata()` to accept a post ID.
Previously, it accepted only a full post object.

Props sc0ttclark, mordauk, wonderboymusic.
Fixes #30970.

git-svn-id: https://develop.svn.wordpress.org/trunk@34089 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-12 20:57:06 +00:00
Boone Gorges 4ebab4dc16 Remove extraneous table join in `get_adjacent_post()`.
Since [29248], a table join has not been necessary to process the
`$excluded_terms` parameter of `get_adjacent_post()`. Aside from adding extra
overhead, this join meant that post records that don't have any corresponding
rows in `wp_term_relationships` were erroneously excluded from results.

Fixes #32833.

git-svn-id: https://develop.svn.wordpress.org/trunk@34088 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-12 20:33:07 +00:00
Scott Taylor db3a7133f2 In `wp_insert_post()`, when setting `$post_author`, use `isset()` instead of `! empty()` to allow `0` to be passed as the value for `$post_author`.
Adds unit tests.

Props ericdaams, wonderboymusic.
Fixes #32585.


git-svn-id: https://develop.svn.wordpress.org/trunk@34085 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-12 18:53:56 +00:00
Boone Gorges b7c8dbf4a2 Better default values in `WP_Query::get_queried_object()`.
Setting the default value of the `queried_object_id` property to `0` meant
that, when called early enough in the WP bootstrap, `get_queried_object()`
could short-circuit the normal query by fooling it into thinking that the
request was for a page with id 0. Setting the default value to `null` instead
avoids this problem.

Props gradyetc, jazbek.
Fixes #31355.

git-svn-id: https://develop.svn.wordpress.org/trunk@34073 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-12 03:36:12 +00:00
Boone Gorges 0546d4ea57 Add unit tests for `get_term()`.
These tests will be useful as we begin to refactor in favor of `WP_Term`.

See #14162.

git-svn-id: https://develop.svn.wordpress.org/trunk@34035 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-11 03:10:47 +00:00
Boone Gorges 5b9d9c7c07 Require numeric IDs in user deletion functions.
`wp_delete_user()` and `wpmu_delete_user()` both require an `$id` parameter.
Previously, the functions did not verify that the value passed was, in fact,
a number. As such, passing an object or any other entity that would be cast
to int `1` would result in user 1 being deleted. We fix this by enforcing
the requirement that `$id` be numeric.

Props dipesh.kakadiya, utkarshpatel, juliobox.
Fixes #33800.

git-svn-id: https://develop.svn.wordpress.org/trunk@34034 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-11 02:24:03 +00:00
Boone Gorges 40a0d1f3cb Move `wp_delete_user()` tests to their own file.
See #33800.


git-svn-id: https://develop.svn.wordpress.org/trunk@34033 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-11 01:50:40 +00:00
Scott Taylor ad163d3547 In `get_page_uri()`, do not add parent slugs to orphaned pages.
Adds unit test.

Props filosofo, MikeHansenMe, MikeHansenMe, chriscct7.
Fixes #15963. 


git-svn-id: https://develop.svn.wordpress.org/trunk@34001 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-10 16:53:52 +00:00
Jeremy Felt ef1f697564 Multisite: Allow users with `manage_network_users` to edit network users.
Other users in a network can now be given capabilities to manage users without also having global super admin privileges.

* Users with `manage_network_users` can not edit super admins.
* Users with `manage_network_users` can not promote users to super admin.
* Uses of `is_super_admin()` in `user-new.php` are now updated to `manage_network_users`.

Props daniellandau, chriscct7.
Fixes #16860.


git-svn-id: https://develop.svn.wordpress.org/trunk@33988 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-10 03:33:22 +00:00
Jeremy Felt c89822ebe0 Multisite: Test `edit_user` capabilities for multisite administrators
An administrator in multisite can not edit users other than itself.

Props daniellandau for the initial patch.
See #16860.


git-svn-id: https://develop.svn.wordpress.org/trunk@33987 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-10 03:20:11 +00:00
Scott Taylor 6bc498c0e6 Implement a priority system for Help Tabs to add them at specific positions.
Adds unit tests.

Props swissspidy.
Fixes #19828.


git-svn-id: https://develop.svn.wordpress.org/trunk@33985 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-10 01:26:26 +00:00
Scott Taylor 9eefbd1999 Deprecate `wp_get_http()` - function isn't used anywhere (apart from itself).
Props swissspidy.
Fixes #33709.


git-svn-id: https://develop.svn.wordpress.org/trunk@33969 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-09 04:25:24 +00:00
Andrew Ozz bb6dee64ae Formatting: maintain the content of HTML comments when they contain `<object>` tags. Add more tests for wpaitop().
Props miqrogroove.
Fixes #33645 for trunk.

git-svn-id: https://develop.svn.wordpress.org/trunk@33955 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-08 22:54:08 +00:00
Scott Taylor 6d0c15836b After [33840], JS regex needs the `g` modifier.
Add another unit test case.

Props kitchin.
Fixes #22781.


git-svn-id: https://develop.svn.wordpress.org/trunk@33947 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-08 16:43:27 +00:00
Gary Pendergast f921391922 Tests: Check that `readme.html` is recommending an actively supported version of MySQL.
Per the MySQL support guidelines (https://www.mysql.com/support/), Oracle provides active support for MySQL releases for 5 years from the General Availality release.

See #33758.



git-svn-id: https://develop.svn.wordpress.org/trunk@33946 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-08 03:23:29 +00:00
Gary Pendergast 65156c6fc5 Tests: Add an extra warning message when checking the recommended PHP version.
See #33758.



git-svn-id: https://develop.svn.wordpress.org/trunk@33944 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-07 07:27:34 +00:00
Gary Pendergast 0b6454bac5 Readme: Update the recommended PHP version to 5.6.
This also includes a unit test to ensure we're only recommending actively supported versions of PHP in the future.

Fixes #33758.



git-svn-id: https://develop.svn.wordpress.org/trunk@33937 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-07 05:22:03 +00:00
Scott Taylor 2d68434dff After [33925], rename the unit test class to `Tests_Comment_Meta_Cache` to avoid collisions on the PHP 5.2 superhighway.
See #16894.


git-svn-id: https://develop.svn.wordpress.org/trunk@33926 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-05 22:29:59 +00:00
Scott Taylor 542ac152fc In `wp_list_comments()`, update the comment meta cache when the comments derive from `WP_Query` and the new `->comment_meta_cached` prop is `false`.
There are no uses of `wp_list_comments()` in Core where `$comments` are passed as the 2nd argument.

Adds unit tests.

Props wonderboymusic, bradt.
Fixes #16894.


git-svn-id: https://develop.svn.wordpress.org/trunk@33925 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-05 22:24:16 +00:00
John Blackbourn dd9722fac0 Bail out early from `esc_url()` if the URL becomes empty after stripping out disallowed characters.
Fixes #28015
Props jesin for the unit test


git-svn-id: https://develop.svn.wordpress.org/trunk@33923 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-05 21:28:50 +00:00
Scott Taylor 26dd8b5b08 Allow `wp_insert_post()` to accept a `meta_input` argument. Devs should use `register_meta()` to ensure that specific values specified by key are sanitized properly.
Adds unit test.

Props CoenJacobs, swissspidy.
Fixes #20451.


git-svn-id: https://develop.svn.wordpress.org/trunk@33910 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-05 19:49:53 +00:00
Sergey Biryukov dde7dc7145 Update `Tests_Sanitize_Option::test_sanitize_option()` after [33858].
See #23605.

git-svn-id: https://develop.svn.wordpress.org/trunk@33907 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-05 14:17:24 +00:00
Sergey Biryukov b0d3f5922e Update `Tests_Admin_includesPlugin::test_menu_page_url()` after [33858].
See #23605.

git-svn-id: https://develop.svn.wordpress.org/trunk@33906 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-05 14:15:51 +00:00
Sergey Biryukov b09823a1d3 Update `Tests_Formatting_GetUrlInContent::get_input_output()` after [33858].
Props gitlost.
Fixes #23605.

git-svn-id: https://develop.svn.wordpress.org/trunk@33905 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-05 14:05:05 +00:00
Boone Gorges 9dfc5551ee In `get_terms()`, allow terms to be ordered by 'term_id'.
[29128] introduced updated documentation for the `'orderby'` parameter of
`get_terms()`. The new documentation mistakenly said that 'term_id' was a valid
orderby value. The current changeset makes that fantasy...A REALITY.

Props ixkaito.
Fixes #33726.

git-svn-id: https://develop.svn.wordpress.org/trunk@33903 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-04 21:16:11 +00:00
John Blackbourn 65c7f9113d Correctly encode spaces in URLs passed to `esc_url()` instead of removing them.
Fixes #23605
Props enshrined, johnbillion


git-svn-id: https://develop.svn.wordpress.org/trunk@33858 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-02 17:19:29 +00:00
John Blackbourn f34a386916 More unit tests for `esc_url()` and `esc_url_raw()`.
See #23605, #20771, #16859


git-svn-id: https://develop.svn.wordpress.org/trunk@33855 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-02 16:50:02 +00:00
John Blackbourn 4720c6e482 Add some more passing unit tests for `esc_url()` in preparation for upcoming changes.
See #23605, #20771, #16859


git-svn-id: https://develop.svn.wordpress.org/trunk@33851 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-02 14:19:21 +00:00
Boone Gorges 7232be7dcd Remove `#` from `@ticket` annotation in a unit test.
This improper character was erroneously introduced in [33724].

Props netweb.
Fixes #33532.

git-svn-id: https://develop.svn.wordpress.org/trunk@33850 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-02 13:39:05 +00:00
Scott Taylor 42dcb586ee After [33807], fix unit tests for PHP 5.2
Fixes #17626.


git-svn-id: https://develop.svn.wordpress.org/trunk@33846 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-01 17:03:13 +00:00
Scott Taylor 99c34d57c1 User Settings: allow dashes in `get|set_user_setting()` in PHP and `get|setUserSetting()` in JS.
Add unit tests - there were none. Mock `set_user_setting()` since it won't run due to `headers_sent()` being `true`.

Fixes #22781.


git-svn-id: https://develop.svn.wordpress.org/trunk@33840 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-01 03:56:44 +00:00
Scott Taylor 48ae1fcc1d After [33822], really add those unit tests for `wp_count_comments()`.
See #19903. 


git-svn-id: https://develop.svn.wordpress.org/trunk@33823 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-31 18:51:00 +00:00
Scott Taylor 3028a096be Comments: `wp_count_comments()` can use `get_comment_count()` internally to makes its DB query, provided that `get_comment_count()` returns more properties.
Adds/updates unit tests. There were zero (0) unit tests for `wp_count_comments()`.

Fixes #19903. 


git-svn-id: https://develop.svn.wordpress.org/trunk@33822 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-31 18:50:12 +00:00
Konstantin Obenland 903b9af181 Themes: Get the correct theme when template and stylesheet were both passed as arguments.
Fixes a bug where `$new_theme` got set before the second argument was
appropriately handled, causing the `current_theme` option to later always be
updated to the parent theme's name.

Introduced in [21131].

Props obenland, wonderboymusic.
Fixes #32635.



git-svn-id: https://develop.svn.wordpress.org/trunk@33815 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-30 21:44:38 +00:00
Scott Taylor bddf7c76ec Add some theme mod unit tests.
Props MikeHansenMe.
See #28637.


git-svn-id: https://develop.svn.wordpress.org/trunk@33812 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-30 03:42:49 +00:00
Scott Taylor c4b8ad087f Improve the reliability of the crop returned by `image_get_intermediate_size()`.
Add a bunch of unit tests to `tests/image/intermediate_size.php`.

Props joemcgill, ericlewis, kitchin, SergeyBiryukov, chipbennett.
Fixes #17626.


git-svn-id: https://develop.svn.wordpress.org/trunk@33807 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-30 02:40:40 +00:00
Scott Taylor da0a823129 `get_comment_count()` currently increments `awaiting_moderation` when comments are in the trash. This occurs because `case 0:` will match any value passed to `switch` that is a string that isn't specified in the list of cases. This is terrifying.
* Cases for `0` and `1` should be `'1'` and `'0'`
* Add unit tests for `get_comment_count()`. Currently, there are none.

See #33414.


git-svn-id: https://develop.svn.wordpress.org/trunk@33806 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-30 02:18:18 +00:00
Boone Gorges 27c8977af9 In `wp_list_categories()`, 'current_category' should accept an array of values.
This allows the 'current-cat' or 'current-cat-parent' classes to be applied
to more than one item in the list.

Props vilkatis.
Fixes #33565.

git-svn-id: https://develop.svn.wordpress.org/trunk@33804 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-29 19:45:35 +00:00
Sergey Biryukov 28767e1bac In `get_post_type_labels()`, ensure that filtered labels contain all required default values.
fixes #33543.

git-svn-id: https://develop.svn.wordpress.org/trunk@33776 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-28 03:38:26 +00:00
John Blackbourn d89398f945 Don't change the View Post button permalink in the sample permalink HTML when updating the slug on a published or future post.
Fixes #32954
Props boonebgorges, johnbillion


git-svn-id: https://develop.svn.wordpress.org/trunk@33773 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-27 20:56:54 +00:00
John Blackbourn f312173db5 Improve the efficiency of `is_user_member_of_blog()` by removing its use of `get_blogs_of_user()`. Adds additional tests.
Fixes #32472
Props BinaryKitten, sammybeats, johnbillion


git-svn-id: https://develop.svn.wordpress.org/trunk@33771 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-27 20:01:37 +00:00
Boone Gorges 718787cd18 Rename param added to `wp_list_categories()` in [33764] to 'hide_title_if_empty'.
Props vilkatis, DrewAPicture.
Fixes #33565.

git-svn-id: https://develop.svn.wordpress.org/trunk@33767 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-27 02:08:31 +00:00
Boone Gorges a684d5d19d Introduce `hide_title_if_no_cats` parameter to `wp_list_categories()`.
When generating a `<ul>` using `wp_list_categories()`, a title `<li>` element
is put at the top of the term list. Current behavior is that this title `<li>`
appears even when no terms are found. The new `hide_title_if_no_cats` param
allows developers to specify that the title should be hidden when the term list
is empty.

Props vilkatis.
Fixes #33460.

git-svn-id: https://develop.svn.wordpress.org/trunk@33764 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-26 19:41:55 +00:00
Sergey Biryukov b935049f24 Add `'wp_verify_nonce_failed'` action that fires when nonce verification fails.
props johnbillion, garza, Shelob9.
fixes #24030.

git-svn-id: https://develop.svn.wordpress.org/trunk@33744 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-26 00:05:11 +00:00
Scott Taylor a0a351a75d Add some more data for Shortcode unit tests.
Props miqrogroove.
Fixes #33455.


git-svn-id: https://develop.svn.wordpress.org/trunk@33740 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-25 21:50:55 +00:00
Boone Gorges 32cd95e1c1 In `WP_Query::parse_tax_query()`, allow 'cat' and 'tag' querystrings to be formatted as arrays.
See [33095] #32454 for a previous fix related to custom taxonomies.

Props Veraxus.
Fixes #33532.

git-svn-id: https://develop.svn.wordpress.org/trunk@33724 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-24 21:21:49 +00:00
Gary Pendergast bf3d36e0b6 WPDB: `get_table_from_query()` didn't find table names with hyphens in them.
Props dustinbolton for the fix.

Fixes #33470.



git-svn-id: https://develop.svn.wordpress.org/trunk@33718 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-24 00:18:49 +00:00
Boone Gorges b01b3be23e In `wp_delete_term()`, the `$deleted_term` object passed to filters should be generated before term relationships are deleted.
This allows the `count` property to reflect the pre-delete state of affairs,
rather than always being 0.

Props nicholas_io.
Fixes #33485.

git-svn-id: https://develop.svn.wordpress.org/trunk@33711 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-22 19:42:30 +00:00
Scott Taylor 36a9be2af5 In `wp_sanitize_redirect()`, don't eat `@` characters. According to RFC 3986, "@" is a perfectly valid character in a URL path or query string.
Adds unit test.

Props markjaquith.
Fixes #18818.


git-svn-id: https://develop.svn.wordpress.org/trunk@33707 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-22 17:04:17 +00:00
Scott Taylor dc48f3d795 Query:
Add a query var, `title`, that allows you to query posts by `post_title`. To accomplish this now, you have to do something like:

{{{
$tacos = get_posts( [
  'post_type' => 'taco',
  's' => $name,
  'exact' => true,
  'sentence' => true,
  'post_status' => 'publish',
  'fields' => 'ids',
  'posts_per_page' => 1
] );
}}}

Adds unit tests.

Fixes #33074.


git-svn-id: https://develop.svn.wordpress.org/trunk@33706 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-22 16:58:21 +00:00
Scott Taylor a70e0183e5 Ensure that `attachment_url_to_postid()` matches cross-scheme when front-end and back-end schemes are different.
Adds unit test.

Props welcher.
Fixes #33109.


git-svn-id: https://develop.svn.wordpress.org/trunk@33705 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-22 16:38:09 +00:00
Dominik Schilling (ocean90) 918dd71257 Tests: Fix a typo in function names for `$autoload` tests.
Autoload is "no" if the `$autoload` param for `update_option()` is `'no'` or `false`.

see #26394.

git-svn-id: https://develop.svn.wordpress.org/trunk@33703 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-22 09:44:48 +00:00
Dominik Schilling (ocean90) cb4a9ea174 Tests: Skip some tests for the Transients API when an external object cache is in use.
`test_transient_data_with_timeout()`, `test_transient_add_timeout()`, `test_nonexistent_key_dont_delete_if_false()`, and `test_nonexistent_key_old_timeout` are testing option values which aren't available with an an external object cache like memcache.

see #31491.

git-svn-id: https://develop.svn.wordpress.org/trunk@33702 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-21 20:32:42 +00:00
Boone Gorges c1b8f1f72a In `Walker_CategoryDropdown::start_el()`, cast values to strings before deciding whether to append 'selected' attribute.
As of [32484], `wp_dropdown_categories()` uses the `$value_field` value to
decide whether a given `<option>` should be 'selected'. However, `$value_field`
can refer to a value that is a string, such as a category's slug. This causes
problems when doing a loose comparison (`==`) with the value of the `'selected'`
parameter, which defaults to `0`, because when doing a loose comparison
between an integer and a string, PHP will cast the string to an integer. This
creates false matches, resulting in `<option>` elements getting a 'selected'
attribute incorrectly.

We address the issue by casting the comparison values to strings, and then
using the strict comparison operator `===`.

Fixes #33452 for trunk.

git-svn-id: https://develop.svn.wordpress.org/trunk@33681 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-21 01:10:34 +00:00
Boone Gorges 5e9a216cf7 Introduce `post_name__in` parameter for `WP_Query`.
Props enshrined.
Fixes #33065.

git-svn-id: https://develop.svn.wordpress.org/trunk@33653 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-20 02:18:05 +00:00
Boone Gorges 9bb010f2a1 `wp_update_term()` should return a true integer for 'term_taxonomy_id'.
Props ipm-frommen.
Fixes #32876.

git-svn-id: https://develop.svn.wordpress.org/trunk@33652 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-19 19:32:04 +00:00
Boone Gorges 48beba441b When generating a fallback `post_name` using the post ID, `wp_insert_post()` should clear the post cache immediately.
If the post cache is not cleared at this point, the cache can become stale
for operations performed before the cache is cleared later in the function.
Specifically, the generation of a `guid` for new posts can use stale data,
resulting in non-unique values. [33262] introduced a call to `get_post()`
that introduced just such an invalidation problem.

Fixes #5305.

git-svn-id: https://develop.svn.wordpress.org/trunk@33630 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-18 02:50:23 +00:00
Andrew Ozz b30fcd7597 Fix creating of extra `<br />` tags in both PHP and JS variants of wpautop(). Add PHP tests to catch similar problems in the future.
Props valendesigns, azaozz. Fixes #33377.

git-svn-id: https://develop.svn.wordpress.org/trunk@33624 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-17 17:35:58 +00:00
Boone Gorges 6d5da327f5 Remove unit test related to pre-4.1 term splitting during `wp_update_term()`.
After [33615], `wp_update_term()` no longer checks `$wp_db_version` before
attempting a split. This is because pre-4.1 versions of WordPress must be
allowed to update to 4.3+.

See #30261.

git-svn-id: https://develop.svn.wordpress.org/trunk@33616 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-14 04:15:34 +00:00
Dominik Schilling (ocean90) 23eaa36145 Capabilities: Fall back to the `edit_posts` capability for orphaned comments.
Also avoid PHP notices because of orphaned comments in the comments list table.
Includes unit test.

props pento, dd32.
fixes #33154.

git-svn-id: https://develop.svn.wordpress.org/trunk@33614 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-13 22:30:26 +00:00
Scott Taylor df480edb24 After [33325], supply a missing `post_type` in `->mw_editPost()`.
Add unit test.

Props ocean90.
Fixes #20662.


git-svn-id: https://develop.svn.wordpress.org/trunk@33612 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-13 15:27:57 +00:00
Boone Gorges ee67bd08f9 When splitting a shared 'nav_menu' term, ensure that nav items and theme locations are retained.
Props boonebgorges, dd32.
Fixes #33187.

git-svn-id: https://develop.svn.wordpress.org/trunk@33611 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-12 14:06:21 +00:00
Konstantin Obenland 018cd0819e Tests: Update Site Icon tests to account for changes in [33605].
H/t jorbin.

Fixes #33325.



git-svn-id: https://develop.svn.wordpress.org/trunk@33607 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-11 18:41:01 +00:00
ocean90 239759914f Shortcodes: Trim whitespace after sanitizing the shortcode output.
props Ankit K Gupta, obenland, miqrogroove.
fixes #33259.

git-svn-id: https://develop.svn.wordpress.org/trunk@33600 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-09 20:48:02 +00:00
Dion Hulse 7a35bff916 Fix `do_shortcode('<[shortcode]')` edge case.
Props miqrogroove.
Merges [33499] trunk.
See #33116.


git-svn-id: https://develop.svn.wordpress.org/trunk@33594 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-07 02:49:31 +00:00
Sergey Biryukov 0d51c50057 Customizer: Fix failing tests on PHP 5.2 after [33488].
`assertNotFalse()` is not included in PHPUnit 3.6.12, use `assertInternalType( 'int' )` instead.

fixes #32814.

git-svn-id: https://develop.svn.wordpress.org/trunk@33526 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-31 13:01:16 +00:00
Helen Hou-Sandi 3fd1376418 Menu customizer: More clearly separate search results from available items.
Available items now fade from view while you're searching, and there is an explicit way to clear search results. No results gives a better message, though still brief this time around.

props valendesigns, designsimply, DH-Shredder, helen.
fixes #32710.


git-svn-id: https://develop.svn.wordpress.org/trunk@33511 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-29 23:39:54 +00:00
Helen Hou-Sandi 1768c8c85a Fix a unit test failure after [33489].
see #33179.


git-svn-id: https://develop.svn.wordpress.org/trunk@33506 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-29 22:14:33 +00:00
Weston Ruter dbcb95c022 Customizer: Ensure that all existing menus are shown in the Custom Menu widget's dropdown.
* Ensure that a Custom Menu widget selecting a newly-inserted menu gets updated to use the new menu ID upon Save & Publish.
* Dynamically update the visibility of the Custom Menu widget's "no menus" message when the number of menus changes between 0 and 1+.
* Send all dirty Customized settings in `update-widget` Ajax request and `preview()` them so that the widget update/form callbacks have access to any data dependencies in the current Customizer session (such as newly created unsaved menus).
* Update link in Custom Menu widget to point to Menus panel as opposed to Menus admin page, when in the Customizer.
* Fix an issue with extra space at top immediately after creating new menu.
* Fix doubled `update-widget` Ajax requests when changing select dropdown; prevent initial from being aborted.
* Add missing `wp_get_nav_menus()` hooks to preview Customizer updates/inserts for `nav_menu` settings; includes tests.
* Update `wp_get_nav_menu_object()` to allow a menu object to be passed in (and thus passed through).

Props westonruter, adamsilverstein.
Fixes #32814.


git-svn-id: https://develop.svn.wordpress.org/trunk@33488 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-29 16:02:08 +00:00
Andrew Ozz 35acd9abf8 Use the `embed_maybe_make_link` filter to test WP_Embed::autoembed().
See #33106.

git-svn-id: https://develop.svn.wordpress.org/trunk@33470 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-29 00:01:22 +00:00
Scott Taylor 4f814ec9ae Protect newlines inside of `CDATA`. This was breaking things, notably inline JS that used comments for HTML standards compat.
* Tokenize newlines in `WP_Embed::autoembed()` before running `->autoembed_callback()`
* Tokenize newlines with placeholders in `wpautop()` 
* Introduce `wp_html_split()` to DRY the RegEx from `wp_replace_in_html_tags()` and `do_shortcodes_in_html_tags()`

Adds unit tests.

Props miqrogroove, kitchin, azaozz.
Fixes #33106.


git-svn-id: https://develop.svn.wordpress.org/trunk@33469 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-28 23:02:04 +00:00
Sergey Biryukov 16cc16da9e Remove `svn:executable` from test files.
git-svn-id: https://develop.svn.wordpress.org/trunk@33425 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-26 09:40:58 +00:00
Sergey Biryukov 4ed7d2d05e Update `Test_WP_Customize_Nav_Menus::test_available_items_template()` after [33413].
fixes #32715.

git-svn-id: https://develop.svn.wordpress.org/trunk@33424 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-26 09:14:06 +00:00
Gary Pendergast 2e74ecfc1c Tests: Add a new test file missed in [33359].
git-svn-id: https://develop.svn.wordpress.org/trunk@33391 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-23 05:17:19 +00:00
Weston Ruter 9e383a560a Customizer: Introduce `customize_nav_menu_available_item_types` and `customize_nav_menu_available_items` filters.
Allows for new available menu item types/objects to be registered in addition to filtering the available items that are returned for each menu item type/object.

Props valendesigns, imath, westonruter.
See #32832.
Fixes #32708.


git-svn-id: https://develop.svn.wordpress.org/trunk@33366 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-22 20:28:03 +00:00
Gary Pendergast 7b41adf712 Shortcodes: Improve the reliablity of shortcodes inside HTML tags.
Props miqrogroove.

See #15694.



git-svn-id: https://develop.svn.wordpress.org/trunk@33359 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-22 05:14:50 +00:00
Gary Pendergast 7439dd7354 Capabilities: When creating an auto-draft, ensure that the current user still has permission to do so.
git-svn-id: https://develop.svn.wordpress.org/trunk@33357 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-22 04:01:53 +00:00
Konstantin Obenland 358ab7b010 Tests: Remove test for `delete_site_icon()`.
Removed in [33329].
H/t wonderboymusic.

See #16434.


git-svn-id: https://develop.svn.wordpress.org/trunk@33335 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-20 20:52:39 +00:00
Weston Ruter 5c76979fb8 Customizer: Finish unit tests for nav menus.
Removes object_type restriction to allow for future extensibility. Refactors some methods to improve testability. Includes new tests for Ajax requests.

Fixes #32687.
Props valendesigns, welcher, westonruter.


git-svn-id: https://develop.svn.wordpress.org/trunk@33322 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-18 23:19:33 +00:00
Gary Pendergast 7217a4f6e5 WPDB: `::strip_text_from_query()` doesn't pass a length to `::strip_invalid_text()`, which was causing queries to fail when they contained characters that needed to be sanity checked by MySQL.
Props dd32, mdawaffe, pento.

Fixes #32279.



git-svn-id: https://develop.svn.wordpress.org/trunk@33310 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-17 07:06:33 +00:00
Gary Pendergast bea2bf1502 WPDB: Remove some of the complexities in `::strip_invalid_text()` associated with switching character sets between queries. Instead of trying to dynamically change connection character sets, we now rely on the value of `::charset`. This also fixes the case where queries were being blocked when `DB_CHARSET` was `utf8`, but the column character set was non-`utf8`.
Fixes #32165.



git-svn-id: https://develop.svn.wordpress.org/trunk@33308 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-17 06:33:36 +00:00
Scott Taylor 3d1f8f292a After [33148]:
Don't nest `esc_attr()` and `htmlspecialchars()` when escaping the post title on the edit post screen.

Unrevert parts of [32851] and [32850].

Adds/alters unit tests.

Props miqrogroove.
Fixes #17780.


git-svn-id: https://develop.svn.wordpress.org/trunk@33271 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-14 17:55:07 +00:00
Boone Gorges ce4b40d794 In `wp_unique_post_slug()`, only prevent date archive conflicts when the slug is being changed.
This prevents existing posts with numeric slugs from having their permalinks
changed on update.

Fixes #5305.

git-svn-id: https://develop.svn.wordpress.org/trunk@33262 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-14 12:27:11 +00:00
Boone Gorges c718849baa When creating a new post with an empty `post_name` and `post_title`, don't generate a `post_name` that conflicts with a date archive permalink.
See #5305.

git-svn-id: https://develop.svn.wordpress.org/trunk@33261 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-14 12:27:03 +00:00
Gary Pendergast 7711b72639 WPDB: When extracting the table name from a query, we had a 1000 character limit on the SQL string that would be searched. This was a hangover from when the code was imported from HyperDB, and isn't appropriate for Core, where a wider range of queries are likely to be run.
Fixes #32763



git-svn-id: https://develop.svn.wordpress.org/trunk@33259 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-14 10:18:57 +00:00
Jeremy Felt 33be338e9f Tests: Use a data provider when testing site flags in `update_blog_details()`.
See #32988.


git-svn-id: https://develop.svn.wordpress.org/trunk@33255 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-14 06:38:19 +00:00
Jeremy Felt 76ef07903d Tests: Use a data provider when testing path slashing in `update_blog_details()`.
Trims down 11 tests to 1 clean area of testing and makes for a much saner read.

See #32988.


git-svn-id: https://develop.svn.wordpress.org/trunk@33254 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-14 05:51:05 +00:00
Jeremy Felt e3e828c608 Tests: Move `update_blog_details()` tests to their own file.
Reduce some of the clutter in `tests/multisite/site.php` and introduce `tests/multisite/updateBlogDetails.php`. Tests moved over are verbatum at this point.

See #32988.


git-svn-id: https://develop.svn.wordpress.org/trunk@33253 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-14 05:49:28 +00:00
Boone Gorges 04237900a6 Require dependencies when appropriate in some unit test files.
Previously, attempting to run certain test files in isolation would resultin
fatal errors, as the parent classes had not been loaded.

Props isaacchapman.
Fixes #32984.

git-svn-id: https://develop.svn.wordpress.org/trunk@33250 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-14 03:07:13 +00:00
Konstantin Obenland 804a008eb1 Site Icon: Add Android-specific app icon.
Falling back to Apple app icons is deprecated behavior and will not work
forever. 192px is the recommended size for that icon.

Props kraftbj.
Fixes #32964.



git-svn-id: https://develop.svn.wordpress.org/trunk@33202 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-13 17:57:19 +00:00
Jeremy Felt 77300bcc92 Tests: Check downsized images against dynamic rather than static filename when original is expected.
See #32971.


git-svn-id: https://develop.svn.wordpress.org/trunk@33188 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-13 03:33:38 +00:00
Jeremy Felt e223663d3d Add explicit testing for `pre_get_space_used()` filter.
See #30202.


git-svn-id: https://develop.svn.wordpress.org/trunk@33185 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-13 00:13:25 +00:00
Jeremy Felt 6df1337645 Exclude individual site directories when calculating space used for the main site.
* Add an `$exclude` parameter to `recurse_dirsize()`.
* Use this parameter in `get_dirsize()` to exclude `/sites` when on the main site.
* Add tests for main site and switched site.

Props @earnjam, @jeremyfelt.
Fixes #30202.


git-svn-id: https://develop.svn.wordpress.org/trunk@33184 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-13 00:06:39 +00:00