Commit Graph

377 Commits

Author SHA1 Message Date
Andrew Nacin 9d12d7df9c We no longer need to check function_exists() for date_default_timezone_set(). props Gary-J, j-idris. fixes #20501.
git-svn-id: http://core.svn.wordpress.org/trunk@21544 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-08-17 23:40:09 +00:00
ryan d286875515 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: http://core.svn.wordpress.org/trunk@21485 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-08-09 16:28:15 +00:00
nacin 9dca2c6876 Remove old code unsetting a few variables in wp-settings.php. fixes #21115.
git-svn-id: http://core.svn.wordpress.org/trunk@21186 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-06-29 20:57:09 +00:00
nacin ace51e5f6d Deprecate require_if_theme_supports(). Always require post-thumbnail-template.php. fixes #20556. fixes #20409.
git-svn-id: http://svn.automattic.com/wordpress/trunk@20610 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-04-27 04:54:36 +00:00
nacin d130a63e25 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: http://svn.automattic.com/wordpress/trunk@20029 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-02-28 21:24:44 +00:00
nacin e4bfd6ecc1 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: http://svn.automattic.com/wordpress/trunk@20002 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-02-28 01:49:49 +00:00
nacin bf68de769e WP_LANG_DIR is trusted, just need to check $locale. props SergeyBiryukov, fixes #19924.
git-svn-id: http://svn.automattic.com/wordpress/trunk@19824 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-02-04 00:32:34 +00:00
nacin ecedc9152f 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: http://svn.automattic.com/wordpress/trunk@19797 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-01-31 14:30:36 +00:00
nacin 81ed9a7563 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: http://svn.automattic.com/wordpress/trunk@19760 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-01-26 20:34:27 +00:00
nacin e76ff1769e It's L10n (or i18n). Not too sure what l18n stands for. (Typo from [12762].)
git-svn-id: http://svn.automattic.com/wordpress/trunk@19758 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-01-26 00:16:01 +00:00
ryan e3b46b25d3 Lose EOF ?>. Clean up EOF newlines. fixes #12307
git-svn-id: http://svn.automattic.com/wordpress/trunk@19712 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-01-08 17:01:11 +00:00
ryan 616c35e71c One newline is enough.
git-svn-id: http://svn.automattic.com/wordpress/trunk@19684 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-01-05 20:10:39 +00:00
nacin e7a3480e61 Globalize wp_rewrite in wp-settings. props mrtorrent, fixes #17749.
git-svn-id: http://svn.automattic.com/wordpress/trunk@19603 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-12-20 20:43:15 +00:00
nacin 97f9966f3a 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: http://svn.automattic.com/wordpress/trunk@18993 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-10-18 19:37:07 +00:00
nacin 39d6c8e659 Explicitly globalize wp_locale for the UT framework. props scribu, fixes #17749.
git-svn-id: http://svn.automattic.com/wordpress/trunk@18756 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-09-22 22:49:30 +00:00
nacin 1fd123aa40 Use ini_set instead of set_magic_quotes_runtime() to prevent silenced E_DEPRECATED notice. props wonderboymusic.
git-svn-id: http://svn.automattic.com/wordpress/trunk@18549 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-08-15 06:42:43 +00:00
nbachiyski abe8b47351 Explicitly globalize some variables, so that unit tests can run WordPress inside a function. Fixes #17749
git-svn-id: http://svn.automattic.com/wordpress/trunk@18532 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-08-11 04:45:14 +00:00
ryan db8c49d886 Call register_shutdown_function() for SHORTINIT. Props jtclarke. fixes #16389
git-svn-id: http://svn.automattic.com/wordpress/trunk@18450 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-07-21 19:37:47 +00:00
nacin db78833264 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: http://svn.automattic.com/wordpress/trunk@18375 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-06-29 16:50:07 +00:00
nacin ad1e1df0f2 wp_check_php_mysql_versions() during setup and install. see #17934.
git-svn-id: http://svn.automattic.com/wordpress/trunk@18374 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-06-29 16:46:46 +00:00
ryan 593659b8d0 Hardening. Santizers for WPLANG and new_admin_email. Prevent stomping ID and filter. Validate locale filename. Props westi.
git-svn-id: http://svn.automattic.com/wordpress/trunk@18346 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-06-27 15:56:42 +00:00
ryan b863511166 Load the theme's functions.php for wp-activate.php. Props nacin, frumph. fixes #17761
git-svn-id: http://svn.automattic.com/wordpress/trunk@18263 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-06-11 03:04:04 +00:00
westi 80f4e83a8c 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: http://svn.automattic.com/wordpress/trunk@17749 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-04-28 16:25:36 +00:00
ryan ff9610e36d Don't load themes functions.php for upgrades. Props greuben. fixes #16722
git-svn-id: http://svn.automattic.com/wordpress/trunk@17727 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-04-27 21:16:49 +00:00
markjaquith b1f3de70e7 Restore compat.php includes. see #16918
git-svn-id: http://svn.automattic.com/wordpress/trunk@17622 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-04-07 15:47:04 +00:00
ryan 91dc365567 Take out unnecessary compat functions from compat.php. Props hakre, ptahdunbar. see #16918
git-svn-id: http://svn.automattic.com/wordpress/trunk@17603 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-04-05 17:13:04 +00:00
ryan 7baf775b85 Assigning the return value of new by reference is deprecated. Props hakre. see #16767
git-svn-id: http://svn.automattic.com/wordpress/trunk@17573 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-03-30 20:50:05 +00:00
nacin 540eaaff22 I before E, except after C. props jkudish, fixes #16915.
git-svn-id: http://svn.automattic.com/wordpress/trunk@17524 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-03-21 23:44:30 +00:00
ryan 86c173262f Load network plugins for wp-activate.php. Restore MU load order. Props blamenacin. fixes #14718
git-svn-id: http://svn.automattic.com/wordpress/trunk@16558 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-11-24 00:19:38 +00:00
scribu 2ec0d0509e Fix 'timeinfo' cache invalidation. Fixes #14922
git-svn-id: http://svn.automattic.com/wordpress/trunk@16537 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-11-22 21:45:45 +00:00
ryan a6cdc2dea4 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: http://svn.automattic.com/wordpress/trunk@16424 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-11-17 16:11:44 +00:00
scribu 40b2c5b6c5 Kill WP_Object_Query. See #15032
git-svn-id: http://svn.automattic.com/wordpress/trunk@16353 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-11-13 18:32:43 +00:00
scribu b29899f93f Rename class.wp-object-query.php to class-wp-object-query.php. See #15032
git-svn-id: http://svn.automattic.com/wordpress/trunk@16142 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-11-01 20:21:29 +00:00
nacin 298bee314e Remove the classes.php include and delay the lesser important remnants of classes.php. fixes #10287.
git-svn-id: http://svn.automattic.com/wordpress/trunk@16102 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-10-30 14:13:43 +00:00
nacin 731bf1fb06 Begin the dissolution of classes.php. see #10287.
git-svn-id: http://svn.automattic.com/wordpress/trunk@16099 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-10-30 07:02:06 +00:00
scribu 7312ccc847 Move WP_Object_Query to it's own file. See #15032
git-svn-id: http://svn.automattic.com/wordpress/trunk@16051 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-10-28 16:27:18 +00:00
ryan 34a285606b Require plugin.php earlier so all pluggables can get at it. Props skeltoac. fixes #15042
git-svn-id: http://svn.automattic.com/wordpress/trunk@15811 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-10-14 20:39:23 +00:00
ryan b5008205b5 Admin bar, first pass. see #14772
git-svn-id: http://svn.automattic.com/wordpress/trunk@15671 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-09-27 20:26:36 +00:00
nacin 9e97f25249 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: http://svn.automattic.com/wordpress/trunk@15638 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-09-20 19:13:47 +00:00
nacin 7843826140 Don't silence inclusion of advanced-cache.php for WP_DEBUG. fixes #13185.
git-svn-id: http://svn.automattic.com/wordpress/trunk@14345 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-05-02 22:18:36 +00:00
ryan ff140f1d76 Move ms_site_check() to after init and allow super admins to view blocked sites. see #13094
git-svn-id: http://svn.automattic.com/wordpress/trunk@14198 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-04-23 16:18:33 +00:00
ryan 1f93931d55 Always include class-http.php. see #12990
git-svn-id: http://svn.automattic.com/wordpress/trunk@14079 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-04-13 21:45:57 +00:00
ryan 9826fcb06b 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: http://svn.automattic.com/wordpress/trunk@14041 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-04-08 16:45:18 +00:00
nacin 751a7d10ea 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: http://svn.automattic.com/wordpress/trunk@14000 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-04-05 00:00:13 +00:00
nacin 7957161819 Remove references to wp-ajax.php. props TobiasBg, fixes #12400
git-svn-id: http://svn.automattic.com/wordpress/trunk@13831 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-03-26 19:44:43 +00:00
markjaquith 58d47426cc More pedantry. "Setup" is not a verb. http://notaverb.com/setup
git-svn-id: http://svn.automattic.com/wordpress/trunk@13725 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-03-17 04:39:50 +00:00
dd32 ffe41241ef Add a front end Ajax handler. Props Denis-de-Bernardy. See #12400
git-svn-id: http://svn.automattic.com/wordpress/trunk@13527 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-03-01 11:49:50 +00:00
nacin 601c2f4dfc Remove reference to file that doesn't exist. see #12400
git-svn-id: http://svn.automattic.com/wordpress/trunk@13507 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-02-28 19:25:53 +00:00
dd32 cde78a7ce4 add a wp_loaded action that fires once WordPress init has finished. Props Denis-de-Bernardy. See #12400
git-svn-id: http://svn.automattic.com/wordpress/trunk@13481 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-02-28 03:08:16 +00:00
ryan d5074db5ea Reorg nav menu files. see #11817
git-svn-id: http://svn.automattic.com/wordpress/trunk@13366 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-02-24 08:06:36 +00:00