Commit Graph

379 Commits

Author SHA1 Message Date
Ryan Boren 7790af3154 Introduce WP_Image_Editor, WP_Image_Editor_Imagick, and WP_Image_Editor_GD. Abstracts image editing API and adds support for ImageMagick.
Props DH-Shredder, kurtpayne, markoheijnen
see #6821


git-svn-id: https://develop.svn.wordpress.org/trunk@22094 602fd350-edb4-49c9-b593-d223f7449a82
2012-10-01 20:59:06 +00:00
Andrew Nacin ab2f77ebd0 Move WP_Embed into its own file. props ocean90. fixes #20533.
git-svn-id: https://develop.svn.wordpress.org/trunk@21999 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-25 08:39:26 +00:00
Andrew Nacin bb3df46536 We no longer need to check function_exists() for date_default_timezone_set(). props Gary-J, j-idris. fixes #20501.
git-svn-id: https://develop.svn.wordpress.org/trunk@21544 602fd350-edb4-49c9-b593-d223f7449a82
2012-08-17 23:40:09 +00:00
Ryan Boren 20a1def1c0 switch_to_blog() and restore_current_blog() housekeeping.
wp-includes/admin-bar.php:

* Replace get_admin_url() and get_home_url() with admin_url() and home_url() and place them inside a switch/restore. Likewise replace current_user_can_for_blog() with current_user_can(). This avoids doing multiple switch restores.

wp-includes/ms-blogs.php:

* Deprecate the $validate argument to switch_to_blog(). This avoids a not very necessary call to get_blog_details(), possibly saving a few queries.
* Use $_wp_switched and $_wp_switched_stack instead of $switched and $switched_stack to make it less likely these globals will be stomped.
* Use GLOBALS to access blog_id and other globals. I've preferred this style lately since it makes it obvious a global is being used and avoids global blog_id being stomped by a local variable.
* Lose some is_object() checks. wp_get_current_user() always returns an object, for example.
* Call the new WP_Roles::reinit() method.

wp-includes/class-wp-xmlrpc-server.php:

* Replace current_user_can_for_blog() with current_user_can() and move it inside the switch/restore pair. This eliminates a switch/restore.

wp-includes/capabilities.php:

* Use array_keys() instead of $role => $data since $data is unused. I *think* this is a bit faster.
* Introduce WP_Roles::reinit(). This reinitializes WP_Roles and is used after switch_to_blog() has already update the blog ID in the wpdb object. If a global roles array is being used instead of the db, reinit is skipped.
* current_user_can_for_blog() now does a switch/restore. It didn't before meaning it could be reinitializing the user with the wrong role information for the current blog.

wp-includes/ms-settings.php:

* Define $_wp_switched_stack and $_wp_switched. This way switch_to_blog() and restore_current_blog() can rely on it being set.

wp-settings.php:

* Instantiate the WP_Roles global. This was it is always defined during init. To remove the WP_Roles checks from WP_Role and WP_User this would probably have to move before plugins are loaded, which might not be a good thing.

wp-includes/functions.php:

* Update wp_upload_dir() to reference _wp_switched.



git-svn-id: https://develop.svn.wordpress.org/trunk@21485 602fd350-edb4-49c9-b593-d223f7449a82
2012-08-09 16:28:15 +00:00
Andrew Nacin e1b03b4fd4 Remove old code unsetting a few variables in wp-settings.php. fixes #21115.
git-svn-id: https://develop.svn.wordpress.org/trunk@21186 602fd350-edb4-49c9-b593-d223f7449a82
2012-06-29 20:57:09 +00:00
Andrew Nacin 98f553c3b2 Deprecate require_if_theme_supports(). Always require post-thumbnail-template.php. fixes #20556. fixes #20409.
git-svn-id: https://develop.svn.wordpress.org/trunk@20610 602fd350-edb4-49c9-b593-d223f7449a82
2012-04-27 04:54:36 +00:00
Andrew Nacin 53a209a4ee Introduce WP_Theme, wp_get_themes(), and wp_get_theme() to replace get_themes(), get_theme(), get_theme_data(), current_theme_info(), and others.
* Getters and Helpers: Introduces a series of methods to allow for easy generation of headers for display, and other theme metadata, including page templates.
 * Screenshots: Handles support for multiple screenshots. (see # Additional screenshots must be PNG and start with screenshot-2.png, and be sequential to be counted. see #19816.
 * Error Handling: Broken themes have a WP_Error object attached to them.
 * Caching: Introduces a wp_cache_themes_persistently filter (also in [20020]) to enable persistent caching of all filesystem and sanitization operations normally handled by WP_Theme (and formerly get_file_data() and get_themes()). Themes are cached individually and across five different cache keys for different data pieces.
 * Compatibility: A WP_Theme object is backwards compatible with a theme's array formerly returned by get_themes() and get_theme(), and an stdClass object formerly returned by current_theme_info().
 * i18n/L10n: Theme headers are now localizable with proper Text Domain and Domain Path headers, like plugins. (Language packs may remove the requirement for headers.) For page templates, see #6007 (not fixed yet, but will be easy now). For headers, fixes #15858.
 * PHP and CSS files: New methods that fetch a list of theme files (for the theme editor) only on demand, rather than only loading them into memory. fixes #11214.

Functions deprecated:
 * get_themes(), get_allowed_themes() and get_broken_themes() -- use wp_get_themes()
 * get_theme() and current_theme_info() -- use wp_get_theme()
 * get_site_allowed_themes() -- use WP_Theme::get_allowed_on_network()
 * wpmu_get_blog_allowedthemes() -- use WP_theme::get_allowed_on_site()

see also [20016], [20018], [20019], [20020], [20021], [20022], [20025], [20026], [20027]. also fixes #19244.

see #20103.



git-svn-id: https://develop.svn.wordpress.org/trunk@20029 602fd350-edb4-49c9-b593-d223f7449a82
2012-02-28 21:24:44 +00:00
Andrew Nacin 563c3231b2 Move the template loading functions from wp-includes/theme.php to wp-includes/template.php. This includes get_query_template(), locate_template(), and friends. see #20103.
git-svn-id: https://develop.svn.wordpress.org/trunk@20002 602fd350-edb4-49c9-b593-d223f7449a82
2012-02-28 01:49:49 +00:00
Andrew Nacin 929486fd19 WP_LANG_DIR is trusted, just need to check $locale. props SergeyBiryukov, fixes #19924.
git-svn-id: https://develop.svn.wordpress.org/trunk@19824 602fd350-edb4-49c9-b593-d223f7449a82
2012-02-04 00:32:34 +00:00
Andrew Nacin bbec83ba02 Only set text_direction based on a locale being RTL if we successfully loaded a locale.mo file. Otherwise we may be in RTL land based on a WPLANG constant but nothing else. fixes #19924.
git-svn-id: https://develop.svn.wordpress.org/trunk@19797 602fd350-edb4-49c9-b593-d223f7449a82
2012-01-31 14:30:36 +00:00
Andrew Nacin 2fd55c3df1 Introduce wp_load_translations_early(), which can be used before the locale is properly loaded in order to translate early error strings. Internationalize setup-config.php -- translators no longer have a reason to modify this file. fixes #18180.
git-svn-id: https://develop.svn.wordpress.org/trunk@19760 602fd350-edb4-49c9-b593-d223f7449a82
2012-01-26 20:34:27 +00:00
Andrew Nacin a958005166 It's L10n (or i18n). Not too sure what l18n stands for. (Typo from [12762].)
git-svn-id: https://develop.svn.wordpress.org/trunk@19758 602fd350-edb4-49c9-b593-d223f7449a82
2012-01-26 00:16:01 +00:00
Ryan Boren 2b186b0c45 Lose EOF ?>. Clean up EOF newlines. fixes #12307
git-svn-id: https://develop.svn.wordpress.org/trunk@19712 602fd350-edb4-49c9-b593-d223f7449a82
2012-01-08 17:01:11 +00:00
Ryan Boren 5e76729992 One newline is enough.
git-svn-id: https://develop.svn.wordpress.org/trunk@19684 602fd350-edb4-49c9-b593-d223f7449a82
2012-01-05 20:10:39 +00:00
Andrew Nacin fc512a48ae Globalize wp_rewrite in wp-settings. props mrtorrent, fixes #17749.
git-svn-id: https://develop.svn.wordpress.org/trunk@19603 602fd350-edb4-49c9-b593-d223f7449a82
2011-12-20 20:43:15 +00:00
Andrew Nacin 0ea00a75d1 Explicitly globalize $table_prefix in wp-settings.php in case WordPress isn't loaded in global scope. Use $_SERVER['PHP_SELF'], not $PHP_SELF. We need to keep $PHP_SELF for backwards compatibility reasons (many, many plugins rely on it). props mrtorrent, fixes #17749.
git-svn-id: https://develop.svn.wordpress.org/trunk@18993 602fd350-edb4-49c9-b593-d223f7449a82
2011-10-18 19:37:07 +00:00
Andrew Nacin 4d3f98e8bd Explicitly globalize wp_locale for the UT framework. props scribu, fixes #17749.
git-svn-id: https://develop.svn.wordpress.org/trunk@18756 602fd350-edb4-49c9-b593-d223f7449a82
2011-09-22 22:49:30 +00:00
Andrew Nacin 53cfffd152 Use ini_set instead of set_magic_quotes_runtime() to prevent silenced E_DEPRECATED notice. props wonderboymusic.
git-svn-id: https://develop.svn.wordpress.org/trunk@18549 602fd350-edb4-49c9-b593-d223f7449a82
2011-08-15 06:42:43 +00:00
Nikolay Bachiyski 13181c96c8 Explicitly globalize some variables, so that unit tests can run WordPress inside a function. Fixes #17749
git-svn-id: https://develop.svn.wordpress.org/trunk@18532 602fd350-edb4-49c9-b593-d223f7449a82
2011-08-11 04:45:14 +00:00
Ryan Boren 80f6c2833c Call register_shutdown_function() for SHORTINIT. Props jtclarke. fixes #16389
git-svn-id: https://develop.svn.wordpress.org/trunk@18450 602fd350-edb4-49c9-b593-d223f7449a82
2011-07-21 19:37:47 +00:00
Andrew Nacin b40bdc3928 Mark a few files as needing to be parsable by PHP4 in order to show the proper error messages. Non-exhaustive. see #17934.
git-svn-id: https://develop.svn.wordpress.org/trunk@18375 602fd350-edb4-49c9-b593-d223f7449a82
2011-06-29 16:50:07 +00:00
Andrew Nacin 85d77664fb wp_check_php_mysql_versions() during setup and install. see #17934.
git-svn-id: https://develop.svn.wordpress.org/trunk@18374 602fd350-edb4-49c9-b593-d223f7449a82
2011-06-29 16:46:46 +00:00
Ryan Boren 091ec81919 Hardening. Santizers for WPLANG and new_admin_email. Prevent stomping ID and filter. Validate locale filename. Props westi.
git-svn-id: https://develop.svn.wordpress.org/trunk@18346 602fd350-edb4-49c9-b593-d223f7449a82
2011-06-27 15:56:42 +00:00
Ryan Boren 6524623a6a Load the theme's functions.php for wp-activate.php. Props nacin, frumph. fixes #17761
git-svn-id: https://develop.svn.wordpress.org/trunk@18263 602fd350-edb4-49c9-b593-d223f7449a82
2011-06-11 03:04:04 +00:00
Peter Westwood 8f1955ddf5 Introduce WP_MAX_MEMORY_LIMIT constant for the high memory limit we set when image processing and unzipping.
Ensure it is always filterable by plugins as well as configurable in wp-config
Fixes #13847 props hakre


git-svn-id: https://develop.svn.wordpress.org/trunk@17749 602fd350-edb4-49c9-b593-d223f7449a82
2011-04-28 16:25:36 +00:00
Ryan Boren 28f4e4a534 Don't load themes functions.php for upgrades. Props greuben. fixes #16722
git-svn-id: https://develop.svn.wordpress.org/trunk@17727 602fd350-edb4-49c9-b593-d223f7449a82
2011-04-27 21:16:49 +00:00
Mark Jaquith 587abe5d6b Restore compat.php includes. see #16918
git-svn-id: https://develop.svn.wordpress.org/trunk@17622 602fd350-edb4-49c9-b593-d223f7449a82
2011-04-07 15:47:04 +00:00
Ryan Boren 9691cb5eb2 Take out unnecessary compat functions from compat.php. Props hakre, ptahdunbar. see #16918
git-svn-id: https://develop.svn.wordpress.org/trunk@17603 602fd350-edb4-49c9-b593-d223f7449a82
2011-04-05 17:13:04 +00:00
Ryan Boren 48a439ac5b Assigning the return value of new by reference is deprecated. Props hakre. see #16767
git-svn-id: https://develop.svn.wordpress.org/trunk@17573 602fd350-edb4-49c9-b593-d223f7449a82
2011-03-30 20:50:05 +00:00
Andrew Nacin 1eba25a104 I before E, except after C. props jkudish, fixes #16915.
git-svn-id: https://develop.svn.wordpress.org/trunk@17524 602fd350-edb4-49c9-b593-d223f7449a82
2011-03-21 23:44:30 +00:00
Ryan Boren af8f9bf98d Load network plugins for wp-activate.php. Restore MU load order. Props blamenacin. fixes #14718
git-svn-id: https://develop.svn.wordpress.org/trunk@16558 602fd350-edb4-49c9-b593-d223f7449a82
2010-11-24 00:19:38 +00:00
scribu 40c993af3f Fix 'timeinfo' cache invalidation. Fixes #14922
git-svn-id: https://develop.svn.wordpress.org/trunk@16537 602fd350-edb4-49c9-b593-d223f7449a82
2010-11-22 21:45:45 +00:00
Ryan Boren 81ae3cb21e Register the default theme dir in wp-settings.php so that it is registered even when get_themes() doesn't run. Fix counting of theme dirs. Add option to get_raw_theme_root() to disregard the current theme root cache. see #14911
git-svn-id: https://develop.svn.wordpress.org/trunk@16424 602fd350-edb4-49c9-b593-d223f7449a82
2010-11-17 16:11:44 +00:00
scribu a8160ed916 Kill WP_Object_Query. See #15032
git-svn-id: https://develop.svn.wordpress.org/trunk@16353 602fd350-edb4-49c9-b593-d223f7449a82
2010-11-13 18:32:43 +00:00
scribu 69b36459a8 Rename class.wp-object-query.php to class-wp-object-query.php. See #15032
git-svn-id: https://develop.svn.wordpress.org/trunk@16142 602fd350-edb4-49c9-b593-d223f7449a82
2010-11-01 20:21:29 +00:00
Andrew Nacin 89645a1609 Remove the classes.php include and delay the lesser important remnants of classes.php. fixes #10287.
git-svn-id: https://develop.svn.wordpress.org/trunk@16102 602fd350-edb4-49c9-b593-d223f7449a82
2010-10-30 14:13:43 +00:00
Andrew Nacin edc329c691 Begin the dissolution of classes.php. see #10287.
git-svn-id: https://develop.svn.wordpress.org/trunk@16099 602fd350-edb4-49c9-b593-d223f7449a82
2010-10-30 07:02:06 +00:00
scribu 8c293b9d94 Move WP_Object_Query to it's own file. See #15032
git-svn-id: https://develop.svn.wordpress.org/trunk@16051 602fd350-edb4-49c9-b593-d223f7449a82
2010-10-28 16:27:18 +00:00
Ryan Boren 3cc3e289d3 Require plugin.php earlier so all pluggables can get at it. Props skeltoac. fixes #15042
git-svn-id: https://develop.svn.wordpress.org/trunk@15811 602fd350-edb4-49c9-b593-d223f7449a82
2010-10-14 20:39:23 +00:00
Ryan Boren 733af07765 Admin bar, first pass. see #14772
git-svn-id: https://develop.svn.wordpress.org/trunk@15671 602fd350-edb4-49c9-b593-d223f7449a82
2010-09-27 20:26:36 +00:00
Andrew Nacin 5963feeca6 Always include wp-db.php. Prevents a conditional include and allows db dropins to cleanly extend the wpdb class. Move require_wp_db() to load.php for consistency with bootloader helpers. fixes #14508.
git-svn-id: https://develop.svn.wordpress.org/trunk@15638 602fd350-edb4-49c9-b593-d223f7449a82
2010-09-20 19:13:47 +00:00
Andrew Nacin 4a9eb3d31f Don't silence inclusion of advanced-cache.php for WP_DEBUG. fixes #13185.
git-svn-id: https://develop.svn.wordpress.org/trunk@14345 602fd350-edb4-49c9-b593-d223f7449a82
2010-05-02 22:18:36 +00:00
Ryan Boren 353adc8969 Move ms_site_check() to after init and allow super admins to view blocked sites. see #13094
git-svn-id: https://develop.svn.wordpress.org/trunk@14198 602fd350-edb4-49c9-b593-d223f7449a82
2010-04-23 16:18:33 +00:00
Ryan Boren 7beb454ef2 Always include class-http.php. see #12990
git-svn-id: https://develop.svn.wordpress.org/trunk@14079 602fd350-edb4-49c9-b593-d223f7449a82
2010-04-13 21:45:57 +00:00
Ryan Boren a214b120c4 Call create_initial_post_types() before plugins and themes are loaded so that premature post API calls don't fail. fixes #12918
git-svn-id: https://develop.svn.wordpress.org/trunk@14041 602fd350-edb4-49c9-b593-d223f7449a82
2010-04-08 16:45:18 +00:00
Andrew Nacin 1fa9e99992 Prevent half-baked loading of MS that would happen when constants are added into wp-config below the wp-settings include. Now it would error on the redefinition of the MULTISITE constant, instead of vague errors, and prevent any MS from loading. see #12848
git-svn-id: https://develop.svn.wordpress.org/trunk@14000 602fd350-edb4-49c9-b593-d223f7449a82
2010-04-05 00:00:13 +00:00
Andrew Nacin 0459129e69 Remove references to wp-ajax.php. props TobiasBg, fixes #12400
git-svn-id: https://develop.svn.wordpress.org/trunk@13831 602fd350-edb4-49c9-b593-d223f7449a82
2010-03-26 19:44:43 +00:00
Mark Jaquith 8bca8131a6 More pedantry. "Setup" is not a verb. http://notaverb.com/setup
git-svn-id: https://develop.svn.wordpress.org/trunk@13725 602fd350-edb4-49c9-b593-d223f7449a82
2010-03-17 04:39:50 +00:00
Dion Hulse 9e3aaa0bf5 Add a front end Ajax handler. Props Denis-de-Bernardy. See #12400
git-svn-id: https://develop.svn.wordpress.org/trunk@13527 602fd350-edb4-49c9-b593-d223f7449a82
2010-03-01 11:49:50 +00:00
Andrew Nacin 06f30a6972 Remove reference to file that doesn't exist. see #12400
git-svn-id: https://develop.svn.wordpress.org/trunk@13507 602fd350-edb4-49c9-b593-d223f7449a82
2010-02-28 19:25:53 +00:00