Go to file
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
src Fail gracefully when checking mapped cap against unregistered post type. 2015-09-12 21:26:57 +00:00
tests Fail gracefully when checking mapped cap against unregistered post type. 2015-09-12 21:26:57 +00:00
tools/i18n i18n tools: Use https for msgid-bugs-address URLs. 2015-07-27 19:37:13 +00:00
.editorconfig Use HTTPS URLs for codex.wordpress.org. 2015-04-12 21:28:58 +00:00
.gitignore Ignore .DS_Store files. 2015-03-13 18:11:33 +00:00
.jshintrc Update grunt-contrib-jshint to 0.11.0 2015-03-06 21:07:35 +00:00
.travis.yml Switch explicitly from nightly to 7.0 for Travis, for clarity. 2015-07-27 15:15:34 +00:00
Gruntfile.js Speed up browserify builds, don't uglify the media builds on watch. 2015-09-09 02:11:23 +00:00
package.json Build Tools: Update grunt-contrib-uglify to 0.9.2. 2015-08-25 03:27:23 +00:00
phpunit.xml.dist Exclude external-http tests when running phpunit. 2014-11-10 14:48:28 +00:00
wp-cli.yml Introduce default wp-cli.yml for core development. 2014-04-30 21:35:18 +00:00
wp-config-sample.php Lightly clean up and improve inline documentation in wp-config-sample.php. 2015-05-10 00:05:30 +00:00
wp-tests-config-sample.php Update wp-tests-config-sample.php to run with WP_DEBUG by default. see #25282. 2013-09-23 16:17:59 +00:00