Scott Taylor
6a529648cf
Bootstrap: Autoload classes using a Composer-generated PHP 5.2-compatible Autoloader.
...
* `wp-admin` and `wp-includes` are scanned for classes to autoload
* Several 3rd-party and Ryan McCue-shaped libraries are excluded when the classmap is generated, see `composer.json`: `autoload.exclude-from-classmap`
* `wp-vendor/autoload_52.php` is included at the top of `wp-settings.php` - no changes need to be made to unit tests to include the autoloader
* An avalanche of `require()` and `require_once()` calls that loaded class files have been removed from the codebase.
The following files have been added to `svn:ignore` - they are not 5.2-compatible and fail during pre-commit:
* src/wp-vendor/autoload.php
* src/wp-vendor/composer/autoload_real.php
* src/wp-vendor/composer/autoload_static.php
* src/wp-vendor/composer/ClassLoader.php
We favor these files instead:
* src/wp-vendor/autoload_52.php
* src/wp-vendor/composer/autoload_real_52.php
* src/wp-vendor/composer/ClassLoader52.php
When new PHP classes are added to the codebase, simply run `composer install` or `composer update` from the project root to update the autoloader.
The future is now.
See #36335 .
Built from https://develop.svn.wordpress.org/trunk@38399
git-svn-id: http://core.svn.wordpress.org/trunk@38340 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-27 09:15:29 +00:00
Scott Taylor
cb74a4401b
Unit Tests:
...
* Automatically delete objects that we were created during `wpSetUpBeforeClass` - posts, comments, terms (except 1), and user (except 1)
* The amount of leftover data between tests was breathtaking - use the new function: `_delete_all_data()`
* Commit database transactions for all `TestCase`s, not just those that implement `wpSetUpBeforeClass` and `wpTearDownAfterClass`
* The tests run 10-20 seconds faster now
See #37699 .
Built from https://develop.svn.wordpress.org/trunk@38398
git-svn-id: http://core.svn.wordpress.org/trunk@38339 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-27 08:36:31 +00:00
Scott Taylor
85d63f2af5
Press This: the file for the WP_Press_This
class should not produce side effects. Similar to what we did in r38355 for WP_Site_Icon
, drop the instances of global
instantiation for $wp_press_this
via loading the file. The variable can be set inline when necessary. In most of those places, if the global is already set, the file does not load and stomp it currently.
...
See #37699 .
Built from https://develop.svn.wordpress.org/trunk@38397
git-svn-id: http://core.svn.wordpress.org/trunk@38338 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-27 06:07:29 +00:00
Weston Ruter
e6ed174135
Customize: Circumvent the customizer attempting to preview links to static assets (such as uploaded images).
...
The customizer's preview POST requests to static assets result in 405 Method Not Allowed responses.
Fixes #37828 .
Built from https://develop.svn.wordpress.org/trunk@38396
git-svn-id: http://core.svn.wordpress.org/trunk@38337 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-27 06:05:29 +00:00
Scott Taylor
e05a033bcb
Bootstrap: exclude more files from the autoloader.classmap
in composer.json
.
...
See #36335 .
Built from https://develop.svn.wordpress.org/trunk@38395
git-svn-id: http://core.svn.wordpress.org/trunk@38336 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-27 05:40:29 +00:00
Scott Taylor
599d45019f
Bootstrap: add composer.lock
and src/wp-vendor
files. Nothing is using this code yet, just going through the motions. Ignore the files in src/wp-vendor/composer
that will explode in PHP 5.2.
...
See #36335 .
Built from https://develop.svn.wordpress.org/trunk@38394
git-svn-id: http://core.svn.wordpress.org/trunk@38335 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-27 03:49:28 +00:00
Scott Taylor
bb16c53108
Bootstrap: run composer require xrstf/composer-php52
to get the updated suggested version. Change the vendor-dir
to wp-vendor
.
...
See #36335 .
Built from https://develop.svn.wordpress.org/trunk@38393
git-svn-id: http://core.svn.wordpress.org/trunk@38334 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-27 03:36:29 +00:00
Scott Taylor
06aa510d56
List Tables: move _WP_List_Table_Compat
into its own file.
...
See #37827 .
Built from https://develop.svn.wordpress.org/trunk@38392
git-svn-id: http://core.svn.wordpress.org/trunk@38333 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 22:23:29 +00:00
Scott Taylor
99aef2df30
Bootstrap: exclude some files from the Composer autoload setup via exclude-from-classmap
.
...
See #36335 .
Built from https://develop.svn.wordpress.org/trunk@38391
git-svn-id: http://core.svn.wordpress.org/trunk@38332 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 22:21:31 +00:00
John Blackbourn
3c6dd1d00d
Themes: Begin introducing unit tests for the expected theme template hierarchy. More to come.
...
See #14310
Built from https://develop.svn.wordpress.org/trunk@38390
git-svn-id: http://core.svn.wordpress.org/trunk@38331 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 22:20:28 +00:00
Scott Taylor
c99df3a708
XML-RPC: break up class-IXR.php
into individual class files.
...
See #37827 .
Built from https://develop.svn.wordpress.org/trunk@38389
git-svn-id: http://core.svn.wordpress.org/trunk@38330 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 22:08:33 +00:00
Scott Taylor
08233c6aff
Multisite: move get_current_site()
to load.php
so that it can be used in more places, instead of importing global $current_site
.
...
See #37699 .
Built from https://develop.svn.wordpress.org/trunk@38388
git-svn-id: http://core.svn.wordpress.org/trunk@38329 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 21:35:30 +00:00
Scott Taylor
35bdc07eac
Roles: set a property, $db
, on WP_Roles
to reduce global imports.
...
See #37699 .
Built from https://develop.svn.wordpress.org/trunk@38387
git-svn-id: http://core.svn.wordpress.org/trunk@38328 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 21:16:59 +00:00
Scott Taylor
b9f516e55e
Bootstrap: load option.php
in wp-settings.php
, not in functions.php
.
...
See #36335 .
Built from https://develop.svn.wordpress.org/trunk@38386
git-svn-id: http://core.svn.wordpress.org/trunk@38327 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 21:11:29 +00:00
John Blackbourn
9e1542b9ec
Themes: Make the template hierarchy for a given template type filterable.
...
This introduces a `{$type}_template_hierarchy` filter that allows the hierarchy of candidate template filenames for a given template type to be filtered.
This allows the hierarchy to be added to or altered completely without resorting to re-building the hierarchy from scratch within the `template_include` filter, which is common and prone to conflicts between plugins and prone to getting out of sync with core's hierarchy.
Fixes #14310
Built from https://develop.svn.wordpress.org/trunk@38385
git-svn-id: http://core.svn.wordpress.org/trunk@38326 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 21:03:27 +00:00
Scott Taylor
29959d0448
Bootstrap: add a composer.json
file to the project. No code relies on it (yet), and no vendor
dir is checked in (yet). No autoloader is being used (yet). Taking this first step will hopefully encourage the perfectionists of our world to scrutinize each line.
...
To fiddle around with what it does, run `composer install` from the project root. If you do not have Composer installed:
https://getcomposer.org/doc/00-intro.md#locally
tl;dr for Mac/Homebrew users: `brew install composer`
Classes from `wp-includes` and `wp-admin` are eligible for autoloading via `autoload.classmap`. Through a tornado of recent commits, many unsuitable files have been transitioned into a more acceptable state for autoloading: 1 file per class, no side effects.
The file bootstrap in `wp-settings.php` can transition into `autoload.files`. This will be done with care and attention.
See #36335 .
Built from https://develop.svn.wordpress.org/trunk@38384
git-svn-id: http://core.svn.wordpress.org/trunk@38325 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 21:00:29 +00:00
Scott Taylor
525bb21513
Unit Tests: after r38303, replace usage of global $_wp_additional_image_sizes
with wp_get_additional_image_sizes()
.
...
See #37699 .
Built from https://develop.svn.wordpress.org/trunk@38383
git-svn-id: http://core.svn.wordpress.org/trunk@38324 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 20:51:43 +00:00
John Blackbourn
3644bc160f
Build/Test Tools: Remove many unnecessary calls to rand_str()
which can, in theory, fail at random. Static strings are much more appropriate.
...
See #37371
Built from https://develop.svn.wordpress.org/trunk@38382
git-svn-id: http://core.svn.wordpress.org/trunk@38323 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 20:22:43 +00:00
Boone Gorges
0b81d79c86
Don't improperly cast IDs when fetching post, user, or term objects.
...
Blindly casting passed IDs to integers can generate false positives
when the ID is cast to `1`.
Props deeptiboddapati.
Fixes #37738 .
Built from https://develop.svn.wordpress.org/trunk@38381
git-svn-id: http://core.svn.wordpress.org/trunk@38322 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 19:09:27 +00:00
Scott Taylor
11216c7069
FTP: ensure that there is only one class named ftp
, which is what is expected in the loading of this arcane library. This ensures that an autoload generator, something along the lines of Composer, won't hiccup when it gets to these files.
...
See #36335 .
Built from https://develop.svn.wordpress.org/trunk@38380
git-svn-id: http://core.svn.wordpress.org/trunk@38321 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 18:47:29 +00:00
Scott Taylor
b1c6049be4
Upgrade/Install: wp-admin/includes/class-wp-upgrader-skins.php
is unused, remove it. All of the same includes are loaded in class-wp-upgrader.php
.
...
See #37827 .
Built from https://develop.svn.wordpress.org/trunk@38379
git-svn-id: http://core.svn.wordpress.org/trunk@38320 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 18:25:30 +00:00
John Blackbourn
32d5e7f31d
Role/Capability: Only users who can manage options should be able to trash/delete the page for posts or the front page, as they are the only users who can restore it or subsequently alter the "Front page displays" setting.
...
Fixes #37580
Props JakePT
Built from https://develop.svn.wordpress.org/trunk@38378
git-svn-id: http://core.svn.wordpress.org/trunk@38319 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 18:23:31 +00:00
Boone Gorges
3d593c5fc1
Eliminate unnecessary variable in WP_Term_Query
.
...
Props ocean90.
Fixes #37544 .
Built from https://develop.svn.wordpress.org/trunk@38377
git-svn-id: http://core.svn.wordpress.org/trunk@38318 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 18:12:26 +00:00
Scott Taylor
b3d474a6dc
Load: move WP_MatchesMapRegex
into its own file.
...
See #37827 .
Built from https://develop.svn.wordpress.org/trunk@38376
git-svn-id: http://core.svn.wordpress.org/trunk@38317 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 18:11:39 +00:00
Scott Taylor
b2c394a330
Script Loader: move _WP_Dependency
into its own file.
...
See #37827 .
Built from https://develop.svn.wordpress.org/trunk@38375
git-svn-id: http://core.svn.wordpress.org/trunk@38316 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 18:06:39 +00:00
Scott Taylor
76c7864367
Load: remove class-feed.php
(There is no class named Feed
or WP_Feed
, it just loads other classes) and, instead, move the require
calls to the only place they are ever included: inside fetch_feed()
. This simplifies the include path.
...
Tested with this feed in a widget: `http://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml `.
See #36335 .
Built from https://develop.svn.wordpress.org/trunk@38374
git-svn-id: http://core.svn.wordpress.org/trunk@38315 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 17:53:30 +00:00
Scott Taylor
524effb58f
Load: remove session.php
and, instead, move the 2 require
calls to wp-settings.php
. This simplifies the include path.
...
See #36335 .
Built from https://develop.svn.wordpress.org/trunk@38373
git-svn-id: http://core.svn.wordpress.org/trunk@38314 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 17:45:17 +00:00
Boone Gorges
51a2235c19
Use shared fixture in comment_exists()
tests.
...
Props Frank Klein.
Fixes #37842 .
Built from https://develop.svn.wordpress.org/trunk@38372
git-svn-id: http://core.svn.wordpress.org/trunk@38313 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 17:42:50 +00:00
Scott Taylor
481123661c
Load: load class-phpass.php
(PasswordHash
class) early in wp-settings.php
, instead of require_once()
'ing it in several places.
...
See #36335 .
Built from https://develop.svn.wordpress.org/trunk@38371
git-svn-id: http://core.svn.wordpress.org/trunk@38312 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 17:40:35 +00:00
John Blackbourn
f189b72b22
Docs: Alignment after [38369].
...
See #37770
Built from https://develop.svn.wordpress.org/trunk@38370
git-svn-id: http://core.svn.wordpress.org/trunk@38311 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 16:51:28 +00:00
John Blackbourn
94c8ca0f2e
Docs: Correct various documentation around object
and stdClass
types.
...
See #37770
Built from https://develop.svn.wordpress.org/trunk@38369
git-svn-id: http://core.svn.wordpress.org/trunk@38310 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 16:49:45 +00:00
John Blackbourn
f53cc848e4
Embeds: Add a missing regex delimiter for Facebook URLs.
...
See #34737
Built from https://develop.svn.wordpress.org/trunk@38368
git-svn-id: http://core.svn.wordpress.org/trunk@38309 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 12:17:28 +00:00
John Blackbourn
07c31a5437
Embeds: Add support for embedding Facebook posts and videos via oEmbed.
...
Fixes #34737
Props pento, GaryJ
Built from https://develop.svn.wordpress.org/trunk@38367
git-svn-id: http://core.svn.wordpress.org/trunk@38308 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 11:57:30 +00:00
John Blackbourn
a71d445b80
Embeds: Many of our oEmbed providers now default to HTTPS embeds, redirect to the HTTPS oEmbed endpoint, or have complete support for HTTPS even if they don't default to HTTPS.
...
This change defaults to using HTTPS endpoints for oEmbeds for those providers that have full HTTPS support and don't redirect back to HTTP when clicking through from the embed. It covers:
* Vimeo
* SmugMug
* Scribd
* WordPress.tv
* SoundCloud
* Meetup
* issuu
* Mixcloud
* TED
See #28507
Built from https://develop.svn.wordpress.org/trunk@38366
git-svn-id: http://core.svn.wordpress.org/trunk@38307 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 11:25:29 +00:00
John Blackbourn
c7884d542e
Embeds: Always use the HTTPS endpoint for YouTube embeds. The scheme
parameter is no longer required as all YouTube assets now use HTTPS.
...
See #36274 , #28507
Props zsusag, tollmanz
Built from https://develop.svn.wordpress.org/trunk@38365
git-svn-id: http://core.svn.wordpress.org/trunk@38306 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 10:39:32 +00:00
Scott Taylor
6d87157eb9
i18n: move is_rtl()
to l10n.php
(which loads way earlier). Load WP_Locale
file in wp-settings.php
. Retire wp-includes/locale.php
- it only loaded the class and the one function, is_rtl()
. If someone loaded this file for fun somewhere else, it would be a fatal error.
...
See #37827 .
Built from https://develop.svn.wordpress.org/trunk@38364
git-svn-id: http://core.svn.wordpress.org/trunk@38305 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 10:20:29 +00:00
Scott Taylor
4d17b67eed
Load: move is_wp_error()
to load.php
so that WP_Error
is in a file by itself.
...
See #37827 .
Built from https://develop.svn.wordpress.org/trunk@38363
git-svn-id: http://core.svn.wordpress.org/trunk@38304 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 09:58:28 +00:00
Scott Taylor
b144d69ba0
Embed: wp-settings.php
loads class-wp-embed.php
, which currently produces side effects. Move the global
instantiation to wp-settings.php
. WP_Embed
is then in a file by itself.
...
See #37827 .
Built from https://develop.svn.wordpress.org/trunk@38362
git-svn-id: http://core.svn.wordpress.org/trunk@38303 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 09:53:28 +00:00
Scott Taylor
ff59281441
OEmbed: move _wp_oembed_get_object()
to embed.php
, where all of the other embed functions live. WP_oEmbed
is then in a file by itself. Load class-oembed.php
in wp-settings.php
and remove extraneous include calls.
...
See #37827 .
Built from https://develop.svn.wordpress.org/trunk@38361
git-svn-id: http://core.svn.wordpress.org/trunk@38302 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 09:49:28 +00:00
Scott Taylor
ac6c22c392
L10N: improve accuracy of docs.
...
Props johnbillion.
Fixes #37585 .
Built from https://develop.svn.wordpress.org/trunk@38360
git-svn-id: http://core.svn.wordpress.org/trunk@38301 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 09:38:28 +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
Scott Taylor
a9386ea7c1
Editor: improve word-count.js
documentation.
...
Props jipmoors, andizer.
Fixes #37718 .
Built from https://develop.svn.wordpress.org/trunk@38358
git-svn-id: http://core.svn.wordpress.org/trunk@38299 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 09:25:27 +00:00
Scott Taylor
76926fa763
Cron: clarify descriptions for Cron API functions.
...
Props johnbillion.
Fixes #37769 .
Built from https://develop.svn.wordpress.org/trunk@38357
git-svn-id: http://core.svn.wordpress.org/trunk@38298 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 09:22:30 +00:00
Scott Taylor
faccc617fb
Query: collapse several of the is_*
methods using __call()
. Add @method
annotations.
...
Fixes #37830 .
Built from https://develop.svn.wordpress.org/trunk@38356
git-svn-id: http://core.svn.wordpress.org/trunk@38297 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-25 19:42:43 +00:00
Scott Taylor
9ce58d9d86
Site Icon: There is no good reason for class-wp-site-icon.php
to drop a global instance of itself whenever the file is loaded. The lone use of the global
instance of WP_Site_Icon
is in an AJAX action that provides virtually no way to override - the file is loaded immediately before the global
is used.
...
Let us remove the `$wp_site_icon` global. I will fall on the sword if this comes back to bite us (waiting with bated breath).
See #37699 .
Built from https://develop.svn.wordpress.org/trunk@38355
git-svn-id: http://core.svn.wordpress.org/trunk@38296 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-25 19:09:35 +00:00
Scott Taylor
ed0da659bc
Feed: move 'WP_Feed_Cache', 'WP_Feed_Cache_Transient', WP_SimplePie_File
and WP_SimplePie_Sanitize_KSES
into their own files via svn cp
. If we move forard with autoloading, class-feed.php
is useless. We could even remove it now, and just load these new files in wp-settings.php
. That can be decided post-mortem. class-feed.php
is an interesting name: there is no Feed
or WP_Feed
class.
...
See #37827 .
Built from https://develop.svn.wordpress.org/trunk@38354
git-svn-id: http://core.svn.wordpress.org/trunk@38295 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-25 18:18:39 +00:00
Scott Taylor
3d26e3513e
Session: move WP_Session_Tokens
and WP_User_Meta_Session_Tokens
into their own files via svn cp
. If we move forard with autoloading, session.php
is useless. We could even remove it now, and just load these new files in wp-settings.php
. That can be decided post-mortem.
...
See #37827 .
Built from https://develop.svn.wordpress.org/trunk@38353
git-svn-id: http://core.svn.wordpress.org/trunk@38294 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-25 17:44:31 +00:00
Scott Taylor
6620e0b3cc
Diff: move WP_Text_Diff_Renderer_inline
(behold that lowercase "i") and WP_Text_Diff_Renderer_Table
into their own files via svn cp
.
...
See #37827 .
Built from https://develop.svn.wordpress.org/trunk@38352
git-svn-id: http://core.svn.wordpress.org/trunk@38293 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-25 17:37:30 +00:00
Scott Taylor
d5f28fdad8
Query: move WP_Query
into its own file via svn cp
.
...
See #37827 .
Built from https://develop.svn.wordpress.org/trunk@38351
git-svn-id: http://core.svn.wordpress.org/trunk@38292 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-25 17:20:38 +00:00
Drew Jaynes
f07f1b126e
Docs: Add a missing parenthesis in an example in the DocBlock for wp_redirect()
.
...
Props shayanys.
See #37770 .
Built from https://develop.svn.wordpress.org/trunk@38350
git-svn-id: http://core.svn.wordpress.org/trunk@38291 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-25 07:36:31 +00:00