Commit Graph

1176 Commits

Author SHA1 Message Date
Sergey Biryukov
8fb830eeda Fix typos in phpdoc. props markmcwilliams. fixes #23481.
git-svn-id: http://core.svn.wordpress.org/trunk@23434 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-02-15 18:59:56 +00:00
Mark Jaquith
4ca36c6337 Update our Windows media file MIME types to the official Microsoft-recommended ones.
props niallkennedy, wonderboymusic. fixes #14253

git-svn-id: http://core.svn.wordpress.org/trunk@23422 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-02-15 16:12:40 +00:00
Ryan Boren
cc5ed3a485 Change all core API to expect unslashed rather than slashed arguments.
The exceptions to this are update_post_meta() and add_post_meta() which are often used by plugins in POST handlers and will continue accepting slashed data for now.

Introduce wp_upate_post_meta() and wp_add_post_meta() as unslashed alternatives to update_post_meta() and add_post_meta(). These functions could become methods in WP_Post so don't use them too heavily yet.

Remove all escape() calls from wp_xmlrpc_server. Now that core expects unslashed data this is no longer needed.

Remove addslashes(), addslashes_gpc(), add_magic_quotes() calls on data being prepared for handoff to core functions that until now expected slashed data. Adding slashes in no longer necessary.

Introduce wp_unslash() and use to it remove slashes from GPCS data before using it in core API. Almost every instance of stripslashes() in core should now be wp_unslash(). In the future (a release or three) when GPCS is no longer slashed, wp_unslash() will stop stripping slashes and simply return what is passed. At this point wp_unslash() calls can be removed from core.

Introduce wp_slash() for slashing GPCS data. This will also turn into a noop once GPCS is no longer slashed. wp_slash() should almost never be used. It is mainly of use in unit tests.

Plugins should use wp_unslash() on data being passed to core API.

Plugins should no longer slash data being passed to core. So when you get_post() and then wp_insert_post() the post data from get_post() no longer needs addslashes(). Most plugins were not bothering with this. They will magically start doing the right thing. Unfortunately, those few souls who did it properly will now have to avoid calling addslashes() for 3.6 and newer.

Use wp_kses_post() and wp_kses_data(), which expect unslashed data, instead of wp_filter_post_kses() and wp_filter_kses(), which expect slashed data. Filters are no longer passed slashed data.

Remove many no longer necessary calls to $wpdb->escape() and esc_sql().

In wp_get_referer() and wp_get_original_referer(), return unslashed data.

Remove old stripslashes() calls from WP_Widget::update() handlers. These haven't been necessary since WP_Widget.

Switch several queries over to prepare().

Expect something to break.

Props alexkingorg
see #21767


git-svn-id: http://core.svn.wordpress.org/trunk@23416 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-02-14 22:51:06 +00:00
Sergey Biryukov
4e46d0045c Use correct escaping function. props jkudish. fixes #20771.
git-svn-id: http://core.svn.wordpress.org/trunk@23411 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-02-14 05:12:23 +00:00
Ryan Boren
57f65d2906 Try not to send Last-Modified, even with an empty value. Some servers interpret an empty value as the epoch.
Props nacin, slene, SergeyBiryukov, andy
see #23021 for trunk


git-svn-id: http://core.svn.wordpress.org/trunk@23267 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-01-04 19:51:31 +00:00
Dion Hulse
52c97f6b1a Correct an incorrect PHPDoc s/@see/@link/ introduced in r23254. See #22900
git-svn-id: http://core.svn.wordpress.org/trunk@23256 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-01-03 08:05:48 +00:00
Dion Hulse
50da2d8a9f HTTP API: Introduce wp_is_writable() to wrap win_is_writable() and is_writable() to work around PHP Windows ACL issues. See #22900 for trunk
git-svn-id: http://core.svn.wordpress.org/trunk@23255 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-01-03 08:04:11 +00:00
Dion Hulse
a7bb4ac774 Clarify the Documentation in win_is_writable() and move an inline comment to the Docblock, reduces confusion about what the function actually does. See #22900
git-svn-id: http://core.svn.wordpress.org/trunk@23254 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-01-03 07:56:38 +00:00
Mark Jaquith
dc4832131f Add .webm (video/webm) to wp_get_mime_types(). props wonderboymusic. fixes #14659
git-svn-id: http://core.svn.wordpress.org/trunk@23229 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-29 18:07:23 +00:00
Ryan Boren
20d9c165ee Properly set the base URL for the main site when ms-files rewriting is enabled for MU-era installs.
Props nacin
fixes #22702


git-svn-id: http://core.svn.wordpress.org/trunk@23002 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-03 22:24:06 +00:00
Mark Jaquith
4fcb87234b Remove trailing slashes from UPLOADS before trying a str_replace() in wp_upload_dir(). props jbrinley. fixes #22469
* In 3.4.x, both $url and UPLOADS had trailing slashes
* Due to refactoring, $url is no longer expected to have a trailing slash
* Because of the mismatch, the str_replace() was not working, resulting in an incorrectly verbose upload dir URL

git-svn-id: http://core.svn.wordpress.org/trunk@22736 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-21 07:08:38 +00:00
Ryan Boren
06ee370814 Pinking shears
git-svn-id: http://core.svn.wordpress.org/trunk@22634 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-17 15:11:29 +00:00
Andrew Nacin
e5c1d8d7af Account for unfiltered_upload cap in wp_upload_bits(). see #21292.
git-svn-id: http://core.svn.wordpress.org/trunk@22471 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-08 20:41:34 +00:00
Dion Hulse
a24d651e0e Prevent an issue on windows systems which can cause the temporary directory from get_temp_dir() from returning a path containing \/. Props to SergeyBiryukov for the initial patch. Fixes #20778
git-svn-id: http://core.svn.wordpress.org/trunk@22331 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-30 20:58:35 +00:00
Andrew Ozz
efbc9d2336 Buttons:
- Update the install/initial configuration/repair screens buttons, props DrewAPicture
- Fix the welcome screen buttons and fine-tune the buttons css, props lessbloat

fixes #21598


git-svn-id: http://core.svn.wordpress.org/trunk@22314 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-26 19:40:39 +00:00
Andrew Nacin
1773a06874 Avoid 'headers already sent' messages for header_remove() the same way we currently do with header(). props ryan. fixes #22258.
git-svn-id: http://core.svn.wordpress.org/trunk@22303 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-25 20:38:55 +00:00
Andrew Nacin
a88114dd92 Do not issue a Last-Modified header when issuing no-cache headers to avoid aggressive (webkit) caching. Serve a blank header when header_remove() is not available (PHP < 5.3). props andy. fixes #22258.
git-svn-id: http://core.svn.wordpress.org/trunk@22283 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-23 15:45:44 +00:00
Ryan Boren
43a1c703e0 A more generic message for wp_upload_dir(). Props nacin. fixes #21796
git-svn-id: http://core.svn.wordpress.org/trunk@22276 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-23 13:49:00 +00:00
Andrew Nacin
dc3fbf216f Have wp_upload_dir() account for blog switching, ms-files rewriting, and the UPLOADS constant properly. This type of logic needs a lot of code comments.
Prevents wp_upload_dir() from obeying the UPLOADS constant when ms-files rewriting is enabled and a blog is switched.

Reverts [22106] thanks to [22108].

see #19235.



git-svn-id: http://core.svn.wordpress.org/trunk@22222 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-12 22:05:02 +00:00
Ryan Boren
7a86de87fb Reduce use of global. Use get_blog_details() instead. fixes #22090
git-svn-id: http://core.svn.wordpress.org/trunk@22108 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-04 12:40:09 +00:00
Andrew Nacin
8451f7e987 Pass the current blog id to is_main_site() in wp_upload_dir(), because is_main_site() without arguments does not respond correctly on switch. see #19235.
git-svn-id: http://core.svn.wordpress.org/trunk@22106 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-03 18:57:36 +00:00
Ryan Boren
b4d0be2d1a 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: http://core.svn.wordpress.org/trunk@22094 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-01 20:59:06 +00:00
Dion Hulse
19c7ca7729 Silence a PHP Warning in Safe Mode from get_temp_dir(). Props ocean90. Fixes #20778
git-svn-id: http://core.svn.wordpress.org/trunk@22082 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-29 01:22:25 +00:00
Andrew Nacin
143f4da6a6 If a pre-3.0 (MU era) network disables ms-files manually, they don't need /sites/ in their wp-content/uploads directory. see #19235.
git-svn-id: http://core.svn.wordpress.org/trunk@22038 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-27 04:56:58 +00:00
Dion Hulse
a41af6219a Move win_is_writable() from wp-admin/includes to wp-includes so that it's always available for get_temp_dir(). Fixes #20778
git-svn-id: http://core.svn.wordpress.org/trunk@22009 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-26 05:08:26 +00:00
Dion Hulse
079afa8ce2 Rearrange the order that we check for temporary directories in get_temp_dir(). This change causes us to use System temporary directories in preference to WP_CONTENT_DIR, for better windows compatibility, we use win_is_writable() as well. Props simonwheatley and kurtpayne for initial patches, See #20778
git-svn-id: http://core.svn.wordpress.org/trunk@22008 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-26 05:02:58 +00:00
Andrew Nacin
557d9313a7 Introduce constants to allow for easier expression of time periods in seconds. Adds MINUTE_IN_SECONDS, HOUR_IN_SECONDS, DAY_IN_SECONDS, WEEK_IN_SECONDS, YEAR_IN_SECONDS. props nbachiyski, SergeyBiryukov. fixes #20987.
git-svn-id: http://core.svn.wordpress.org/trunk@21996 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-25 05:26:19 +00:00
Peter Westwood
fa8a509ff3 Posting: Improve the invalid date protection code based on feedback from nacin.
* Introduce a wp_checkdate() function with a single filter to centralise the code that validates dates.
 * Improve the error message
 * Correctly handle the return value of wp_insert_post which is not always a WP_Error on failure

Fixes #17180


git-svn-id: http://core.svn.wordpress.org/trunk@21922 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-20 10:46:50 +00:00
Andrew Nacin
749c06e91f Simplify protocol stripping in add_query_arg() by avoiding a regular expression. Don't cast a known array to an array. fixes #21332.
git-svn-id: http://core.svn.wordpress.org/trunk@21865 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-16 16:16:26 +00:00
Andrew Nacin
e4c21210aa Add xmpp to allowed protocols. props ethitter, fixes #21604.
git-svn-id: http://core.svn.wordpress.org/trunk@21826 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-12 15:47:34 +00:00
Andrew Nacin
9f6fe3c4ff Don't show Appearance > Widgets if the theme has no sidebars defined. props SergeyBiryukov for the initial patch. fixes #21761.
git-svn-id: http://core.svn.wordpress.org/trunk@21825 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-12 02:16:46 +00:00
Andrew Nacin
dc49f24a6c Remove ms-files.php rewriting from WordPress multisite. fixes #19235.
Keep existing networks compatible with a ms_files_rewriting network option.



git-svn-id: http://core.svn.wordpress.org/trunk@21823 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-11 22:22:20 +00:00
Andrew Nacin
bc6087bc98 Always return upload directory information from wp_upload_dir(), even if there is an error. Append the error to the array. see #19235.
git-svn-id: http://core.svn.wordpress.org/trunk@21822 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-11 22:06:49 +00:00
Andrew Nacin
9d204841ee Remove AtomPub from core.
* Will be replaced with http://wordpress.org/extend/plugins/atom-publishing-protocol/.
 * Introduces an action, xmlrpc_rsd_apis, to add APIs to xmlrpc.php?rsd.
 * Introduces support for 'error' being 403 and 50x in class-wp.php.
 * Removes 'Remote Publishing' from Writing Settings (see [21804]). Keeps the remote_publishing settings section.

DB version is bumped to generate the new wp-app rewrite rule and remove the old enable_app option.

props wonderboymusic.
fixes #21509.



git-svn-id: http://core.svn.wordpress.org/trunk@21818 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-11 20:11:39 +00:00
Ryan Boren
8f1f88a82a Don't use set_url_scheme() in wp_guess_url(). wp_guess_url() is used during install before set_url_scheme() is loaded. Props SergeyBiryukov. fixes #20759
git-svn-id: http://core.svn.wordpress.org/trunk@21797 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-10 19:37:08 +00:00
Andrew Nacin
75052955cc Add get-attachment and query-attachments Ajax handlers. props koopersmith. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@21681 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-08-31 02:58:51 +00:00
Andrew Nacin
c8a328f100 Introduce wp_send_json() to json-encode a variable, print it, and die, for Ajax requests. Effectively replaces WP_Ajax_Response, which was an XML-based response.
Introduce wp_send_json_success() and wp_send_json_error(), which will allow us to fire appropriate done() or fail() callbacks in JS.

props koopersmith. see #21390.



git-svn-id: http://core.svn.wordpress.org/trunk@21679 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-08-31 01:56:00 +00:00
Ryan Boren
c55cf716da Use set_url_scheme(). Props johnbillion, MarcusPope. see #19037 #20759
git-svn-id: http://core.svn.wordpress.org/trunk@21664 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-08-30 13:33:00 +00:00
Ryan Boren
02dc348b57 Introduce wp_get_mime_types() for fetching the complete list of mime types. Remove the static caching of the types so that filters other than the first filter work. Use wp_get_mime_types() in do_enclose(). fixes #21299 #21594
git-svn-id: http://core.svn.wordpress.org/trunk@21541 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-08-17 17:25:19 +00:00
Ryan Boren
2394b77094 Fix MS Office mime types. Group the mime list in get_allowed_mime_types() by type. Props hebbet, markel, SergeyBiryukov. fixes #17117
git-svn-id: http://core.svn.wordpress.org/trunk@21527 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-08-15 16:48:36 +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
ryan
4630ae82ce Call func_get_args() once in add_query_arg(). Props SergeyBiryukov. see #21332
git-svn-id: http://core.svn.wordpress.org/trunk@21373 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-07-31 15:28:10 +00:00
nacin
68c0beb079 Remove unnecessary error suppression operators from func_get_arg() and func_num_args(). see #21332.
git-svn-id: http://core.svn.wordpress.org/trunk@21298 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-07-21 06:07:39 +00:00
nacin
34c74ee8ce Check if array key exists in wp_list_filter(). props wpsmith. fixes #20929.
git-svn-id: http://core.svn.wordpress.org/trunk@21184 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-06-29 19:42:27 +00:00
nacin
8b8bf67e0a Add back an empty line removed in [21180].
git-svn-id: http://core.svn.wordpress.org/trunk@21181 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-06-29 15:16:36 +00:00
nacin
9fb97afcdd Add note to get_allowed_mime_types() about the upload_mimes filter. props JustinSainton. fixes #20990.
git-svn-id: http://core.svn.wordpress.org/trunk@21180 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-06-29 15:13:53 +00:00
markjaquith
168cc20a42 Allow tel: and fax: protocols. Wrangle the last hardcoded protocol enumeration so that it uses wp_allowed_protocols(). fixes #21081
git-svn-id: http://core.svn.wordpress.org/trunk@21170 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-06-28 20:30:10 +00:00
nacin
138b38fd60 Add initial support for browser-based uploads in iOS 6. see #20923 for trunk.
git-svn-id: http://core.svn.wordpress.org/trunk@21141 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-06-26 20:39:04 +00:00
nacin
066794f548 Deprecate wp_explain_nonce(). fixes #21076.
git-svn-id: http://core.svn.wordpress.org/trunk@21133 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-06-26 06:10:07 +00:00
nacin
b84c4c3686 Don't call debug_backtrace() with an argument for PHP 5.2.4, which is currently the lowest version we support. props swekitsune, kurtpayne. fixes #20953.
git-svn-id: http://core.svn.wordpress.org/trunk@21113 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-06-25 20:41:37 +00:00