Commit Graph

133 Commits

Author SHA1 Message Date
Andrew Nacin
c7d5ae4bed XML-RPC: Introduce wp.getRevisions and wp.restoreRevision.
props brandondove, koke, markoheijnen, JustinSainton, maxcutler.

fixes #21397.



git-svn-id: https://develop.svn.wordpress.org/trunk@22037 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-27 04:17:15 +00:00
Andrew Nacin
8ba137b739 XML-RPC: Add an if_not_modified_since argument to wp.editPost.
Accepts a GMT date, which is used to compare to the current post_modified_gmt
value for the post being edited. If the post has since been edited (as in, too
old of a date was passed), the edit is rejected as overwriting a newer version.

It is rejected with a HTTP 409 Conflict status code. (Fancy.)

props koke, markoheinjen.
Tests: [UT1049]

see #21397.



git-svn-id: https://develop.svn.wordpress.org/trunk@22034 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-27 03:39:40 +00:00
Andrew Nacin
145a09b48a XML-RPC: Accept 'url', not 'website' in wp.editProfile. props maxcutler. see #18428.
git-svn-id: https://develop.svn.wordpress.org/trunk@21959 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-23 19:36:17 +00:00
Peter Westwood
0da6a9dfa2 XMLRPC: Support searching via wp.getPosts() fixes #21623 props ericmann.
git-svn-id: https://develop.svn.wordpress.org/trunk@21936 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-21 10:18:32 +00:00
Andrew Nacin
d904430fc0 Introduce the xmlrpc_login_error filter, applied to the IXR_Error being returned by the server when login() fails. props JustinSainton, fixes #21907.
git-svn-id: https://develop.svn.wordpress.org/trunk@21912 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-19 01:36:47 +00:00
Andrew Nacin
7854ebaeab XML-RPC: Have the deprecated login_pass_ok() method wrap login(). Move it below login() so the proper method is found first. see #21907.
git-svn-id: https://develop.svn.wordpress.org/trunk@21910 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-19 01:27:21 +00:00
Andrew Nacin
ba5853e0f6 Allow wp.uploadFile to upload the attachment to a post. props djzone, josephscott, maxcutler. fixes #13917.
git-svn-id: https://develop.svn.wordpress.org/trunk@21896 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-18 19:06:27 +00:00
Andrew Nacin
afbbc9665a Combine some strings. props pavelevap. fixes #21087.
git-svn-id: https://develop.svn.wordpress.org/trunk@21857 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-15 19:57:05 +00:00
Andrew Nacin
f8d075eca3 XML-RPC: Introduce wp.getUsers, wp.getUser, wp.getProfile, wp.editProfile.
props maxcutler.
props nprasath002 for earlier patches.

see #18428.



git-svn-id: https://develop.svn.wordpress.org/trunk@21824 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-12 00:04:21 +00:00
Andrew Nacin
bab5d518fe XML-RPC: Add the 'home' option to wp.getOptons. props mrroundhill. fixes #21822.
git-svn-id: https://develop.svn.wordpress.org/trunk@21805 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-11 01:26:38 +00:00
Andrew Nacin
6df2aff40b Turn XML-RPC on and remove the option on the Writing Settings page.
props markoheijnen for the initial patch.

Introduces a new filter, xmlrpc_enabled.

Respects any current callbacks registered to the pre_option_enable_xmlrpc
and option_enable_xmlrpc filters, for anyone forcing it off via code.

fixes #21509.



git-svn-id: https://develop.svn.wordpress.org/trunk@21804 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-11 00:37:31 +00:00
Ryan Boren
92fd0ec936 Fix typo in phpdoc for wp_newPost(). Props alyssonweb. fixes #21798
git-svn-id: https://develop.svn.wordpress.org/trunk@21765 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-05 15:36:59 +00:00
Ryan Boren
92ea34f6a2 Use set_url_scheme(). Props johnbillion, MarcusPope. see #19037 #20759
git-svn-id: https://develop.svn.wordpress.org/trunk@21664 602fd350-edb4-49c9-b593-d223f7449a82
2012-08-30 13:33:00 +00:00
Ryan Boren
01527025c9 Add tags_input, page_template, and post_category get magic to WP_Post.
Deprecate get_post_to_edit() and wp_get_single_post().
Props scribu
see #21309


git-svn-id: https://develop.svn.wordpress.org/trunk@21651 602fd350-edb4-49c9-b593-d223f7449a82
2012-08-28 19:08:28 +00:00
Ryan Boren
de06b81360 Remove return ref from all calls to get_post()
Return WP_Post from get_default_post_to_edit()
Replace all calls to get_page() with get_post()
see #21309


git-svn-id: https://develop.svn.wordpress.org/trunk@21597 602fd350-edb4-49c9-b593-d223f7449a82
2012-08-23 20:01:10 +00:00
Ryan Boren
720ec1cd07 Return post_parent, menu_order, guid, and post_mime_type from wp.getPost(). Props maxcutler. fixes #21308
git-svn-id: https://develop.svn.wordpress.org/trunk@21526 602fd350-edb4-49c9-b593-d223f7449a82
2012-08-15 16:06:05 +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
Ryan Boren
ce960f67a0 Deprecate get_blog_option(), add_blog_option(), update_blog_option(), and delete_blog_option().
Use the regular option functions wrapped in switch_to_blog() and restore_current_blog() instead.

Group multiple operations within a single switch where possible.

fixes #21432


git-svn-id: https://develop.svn.wordpress.org/trunk@21414 602fd350-edb4-49c9-b593-d223f7449a82
2012-08-03 17:51:42 +00:00
Andrew Nacin
5f1b0c2a4b Don't use switch_to_blog() in wp.getUsersBlogs to improve performance and memory footprint. props mohanjith for initial patch. fixes #20665.
git-svn-id: https://develop.svn.wordpress.org/trunk@21194 602fd350-edb4-49c9-b593-d223f7449a82
2012-06-30 11:49:02 +00:00
Andrew Nacin
604f79dac0 Initialize a variable. props maxcutler. fixes #21058.
git-svn-id: https://develop.svn.wordpress.org/trunk@21158 602fd350-edb4-49c9-b593-d223f7449a82
2012-06-28 19:04:42 +00:00
Andrew Nacin
af13f116a3 Use set_post_format(), not wp_set_post_terms(), in XML-RPC mw_newPost and mw_editPost. props koke. see #20697.
git-svn-id: https://develop.svn.wordpress.org/trunk@21145 602fd350-edb4-49c9-b593-d223f7449a82
2012-06-26 21:07:12 +00:00
Andrew Nacin
58cb1bce66 Check XML-RPC cap before running the query. props maxcutler. see #20991 for trunk.
git-svn-id: https://develop.svn.wordpress.org/trunk@21137 602fd350-edb4-49c9-b593-d223f7449a82
2012-06-26 19:04:10 +00:00
Andrew Nacin
2501af58b6 Combine 'Invalid term ID.' into the 'Invalid term ID' string. props pavelevap. fixes #20809.
git-svn-id: https://develop.svn.wordpress.org/trunk@20996 602fd350-edb4-49c9-b593-d223f7449a82
2012-06-05 16:25:05 +00:00
Ryan Boren
585d42c273 Consolodate some strings. Props pavelevap. fixes #20809
git-svn-id: https://develop.svn.wordpress.org/trunk@20972 602fd350-edb4-49c9-b593-d223f7449a82
2012-06-01 19:05:30 +00:00
Ryan Boren
74653b1dbc Introduce _prepare_comment(). Avoid repeated auth attempts. Props maxcutler. fixes #20703
git-svn-id: https://develop.svn.wordpress.org/trunk@20856 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-23 20:40:40 +00:00
Ryan Boren
ee33772ce7 Fix post limiting in wp_getPosts(). Props djcp. fixes #20723
git-svn-id: https://develop.svn.wordpress.org/trunk@20846 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-22 22:25:17 +00:00
Ryan Boren
cf58f72258 Fix wp.getPages response when fetching pages the current user does not have caps for. Props maxcutler, redsweater. fixes #20629
git-svn-id: https://develop.svn.wordpress.org/trunk@20807 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-16 18:06:34 +00:00
Ryan Boren
bb5afe1aaf Remove accidental bits in [20784]
git-svn-id: https://develop.svn.wordpress.org/trunk@20785 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-14 17:01:35 +00:00
Ryan Boren
8dfae17319 Call filters for default option values only as needed to reduce number of filter calls. Props Ott042. see #20448
git-svn-id: https://develop.svn.wordpress.org/trunk@20784 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-14 17:00:13 +00:00
Jon Cave
7e2e034b64 Minor XML-RPC documentation improvements. See #20566.
Also make newly introduced _is_greater_than_one() private.


git-svn-id: https://develop.svn.wordpress.org/trunk@20782 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-14 10:10:01 +00:00
Ryan Boren
5c2590bbd0 Remove extra underscore from XML-RPC filter. props maxcutler. fixes #20549
git-svn-id: https://develop.svn.wordpress.org/trunk@20775 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-11 21:04:47 +00:00
Ryan Boren
8c50f982ea Pinking shears
git-svn-id: https://develop.svn.wordpress.org/trunk@20715 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-03 16:41:59 +00:00
Jon Cave
86280c6d68 Declare visibility of _prepare_post_type() as protected. See #20566.
git-svn-id: https://develop.svn.wordpress.org/trunk@20714 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-03 15:59:50 +00:00
Andrew Nacin
0ebf7aec8b We indent with spaces, not tabs. props sivel. fixes #20394.
git-svn-id: https://develop.svn.wordpress.org/trunk@20703 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-02 21:13:08 +00:00
Andrew Nacin
9f57ec7c6c Have the $fields argument for XML-RPC's wp.getPostType, getPostTypes, wp.getTaxonomy and wp.getTaxonomies take the names of the post type or taxonomy object keys that will be returned.
* capabilities becomes cap
 * object_types becomes object_type

fixes #17626.



git-svn-id: https://develop.svn.wordpress.org/trunk@20696 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-02 20:29:34 +00:00
Andrew Nacin
9761a56833 Kill all notices in XML-RPC found when running the test suite with WP_DEBUG. see [UT706], [UT707]. see #20566.
git-svn-id: https://develop.svn.wordpress.org/trunk@20671 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-01 21:03:50 +00:00
Andrew Nacin
8868595fd4 Fix copy-paste issues in XML-RPC's _prepare_taxonomy(). see #20566.
git-svn-id: https://develop.svn.wordpress.org/trunk@20670 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-01 20:33:06 +00:00
Andrew Nacin
be1c42cf7a Use correct variables. props batmoo. fixes #20566.
git-svn-id: https://develop.svn.wordpress.org/trunk@20665 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-01 01:11:18 +00:00
Andrew Nacin
0a15d9f966 Use correct variables. props batmoo. fixes #20566.
git-svn-id: https://develop.svn.wordpress.org/trunk@20664 602fd350-edb4-49c9-b593-d223f7449a82
2012-04-30 23:45:01 +00:00
Andrew Nacin
23cbaa70c8 Add @param for the $fields parameter for XML-RPC's _prepare_taxonomy(). props SergeyBiryukov, fixes #20566.
git-svn-id: https://develop.svn.wordpress.org/trunk@20638 602fd350-edb4-49c9-b593-d223f7449a82
2012-04-30 00:25:14 +00:00
Andrew Nacin
e7478f0b3b Check for the existence of a post before calling current_user_can() with a meta cap on that object. fixes #20336.
git-svn-id: https://develop.svn.wordpress.org/trunk@20637 602fd350-edb4-49c9-b593-d223f7449a82
2012-04-30 00:19:32 +00:00
Andrew Nacin
43025c102b Introduce minimum_args() method in XML-RPC and leverage it to return errors for insufficient arguments for methods that are new in 3.4.
props maxcutler,  markoheijnen.
fixes #20394.



git-svn-id: https://develop.svn.wordpress.org/trunk@20636 602fd350-edb4-49c9-b593-d223f7449a82
2012-04-28 21:25:25 +00:00
Andrew Nacin
e3ba704f17 Use correct variable. Caught by unit tests. see #20566.
git-svn-id: https://develop.svn.wordpress.org/trunk@20635 602fd350-edb4-49c9-b593-d223f7449a82
2012-04-28 21:22:07 +00:00
Andrew Nacin
c072db3732 Clean up the XML-RPC 3.4 methods with regards to consistency and future compatibility.
* Limit returned taxonomy and post type objects to a specific type-cast whitelist of fields.
 * Add $filter and $fields to wp.getTaxonomies to match the functionality of wp.getPostTypes.
 * Prevent the post type from being chnaged in _insert_post().
 * Don't check post_type_supports() in _insert_post().
 * Align handling of sticky posts with those of core.
 * Force tags and categories to go through terms and terms_names, rather than tags_input and post_category.
fixes #20566. props nacin, maxcutler.



git-svn-id: https://develop.svn.wordpress.org/trunk@20632 602fd350-edb4-49c9-b593-d223f7449a82
2012-04-28 18:48:10 +00:00
Ryan Boren
9250cf00d4 XML-RPC featured image and media preparation cleanup.
* Introduce _prepare_media_item().
* Use it to prepare post_thumbnail info in _prepare_post().
* Also use _prepare_media_item() in wp_getMediaLibrary() and wp_getMediaItem() so that all media is prepared consistently and uses the same filters.

Props maxcutler
Fixes #20409


git-svn-id: https://develop.svn.wordpress.org/trunk@20608 602fd350-edb4-49c9-b593-d223f7449a82
2012-04-26 20:56:52 +00:00
Andrew Nacin
5d550a9e59 Remove duplicated do_action wp.getPosts call. props maxcutler.
git-svn-id: https://develop.svn.wordpress.org/trunk@20607 602fd350-edb4-49c9-b593-d223f7449a82
2012-04-26 16:28:06 +00:00
Andrew Nacin
c38e6d3603 Remove extra underscore from four XML-RPC filters. props maxcutler. fixes #20549.
git-svn-id: https://develop.svn.wordpress.org/trunk@20604 602fd350-edb4-49c9-b593-d223f7449a82
2012-04-25 22:28:43 +00:00
Andrew Nacin
4998de66a0 Do not check for a meta value in XML-RPC set_custom_fields unless we know we are editing a key. Prevents a notice when a custom field is being deleted. props scott.gonzalez. fixes #20543.
git-svn-id: https://develop.svn.wordpress.org/trunk@20583 602fd350-edb4-49c9-b593-d223f7449a82
2012-04-25 14:26:31 +00:00
Ryan Boren
643618503c Revert [20568] until a publish_post cap is introduced. see #20474
git-svn-id: https://develop.svn.wordpress.org/trunk@20576 602fd350-edb4-49c9-b593-d223f7449a82
2012-04-24 16:22:12 +00:00
Ryan Boren
5b9e7c07ba Check the publish_post cap when publishing an already existing post.
Props nprasath002
Fixes #20474


git-svn-id: https://develop.svn.wordpress.org/trunk@20568 602fd350-edb4-49c9-b593-d223f7449a82
2012-04-23 21:54:30 +00:00