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
This commit is contained in:
parent
8404dac54c
commit
9d204841ee
|
@ -444,7 +444,6 @@ function populate_options() {
|
||||||
|
|
||||||
// 2.6
|
// 2.6
|
||||||
'avatar_default' => 'mystery',
|
'avatar_default' => 'mystery',
|
||||||
'enable_app' => 0,
|
|
||||||
|
|
||||||
// 2.7
|
// 2.7
|
||||||
'large_size_w' => 1024,
|
'large_size_w' => 1024,
|
||||||
|
@ -542,7 +541,7 @@ function populate_options() {
|
||||||
'_wp_http_referer', 'Update', 'action', 'rich_editing', 'autosave_interval', 'deactivated_plugins',
|
'_wp_http_referer', 'Update', 'action', 'rich_editing', 'autosave_interval', 'deactivated_plugins',
|
||||||
'can_compress_scripts', 'page_uris', 'update_core', 'update_plugins', 'update_themes', 'doing_cron',
|
'can_compress_scripts', 'page_uris', 'update_core', 'update_plugins', 'update_themes', 'doing_cron',
|
||||||
'random_seed', 'rss_excerpt_length', 'secret', 'use_linksupdate', 'default_comment_status_page',
|
'random_seed', 'rss_excerpt_length', 'secret', 'use_linksupdate', 'default_comment_status_page',
|
||||||
'wporg_popular_tags', 'what_to_show', 'rss_language', 'language', 'enable_xmlrpc',
|
'wporg_popular_tags', 'what_to_show', 'rss_language', 'language', 'enable_xmlrpc', 'enable_app',
|
||||||
);
|
);
|
||||||
foreach ( $unusedoptions as $option )
|
foreach ( $unusedoptions as $option )
|
||||||
delete_option($option);
|
delete_option($option);
|
||||||
|
|
|
@ -994,10 +994,6 @@ function upgrade_260() {
|
||||||
|
|
||||||
if ( $wp_current_db_version < 8000 )
|
if ( $wp_current_db_version < 8000 )
|
||||||
populate_roles_260();
|
populate_roles_260();
|
||||||
|
|
||||||
if ( $wp_current_db_version < 8201 ) {
|
|
||||||
update_option('enable_app', 1);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -121,7 +121,10 @@ wp_dropdown_categories(array('hide_empty' => 0, 'name' => 'default_link_category
|
||||||
</tr>
|
</tr>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
|
||||||
<?php do_settings_fields('writing', 'default'); ?>
|
<?php
|
||||||
|
do_settings_fields('writing', 'default');
|
||||||
|
do_settings_fields('writing', 'remote_publishing'); // A deprecated section.
|
||||||
|
?>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<h3 class="title"><?php _e('Press This') ?></h3>
|
<h3 class="title"><?php _e('Press This') ?></h3>
|
||||||
|
@ -168,20 +171,6 @@ wp_dropdown_categories(array('hide_empty' => 0, 'name' => 'default_email_categor
|
||||||
</table>
|
</table>
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
|
|
||||||
<h3><?php _e('Remote Publishing') ?></h3>
|
|
||||||
<p><?php printf(__('To post to WordPress from a desktop blogging client or remote website that uses the Atom Publishing Protocol or one of the XML-RPC publishing interfaces you must enable them below.')) ?></p>
|
|
||||||
<table class="form-table">
|
|
||||||
<tr valign="top">
|
|
||||||
<th scope="row"><?php _e('Atom Publishing Protocol') ?></th>
|
|
||||||
<td><fieldset><legend class="screen-reader-text"><span><?php _e('Atom Publishing Protocol') ?></span></legend>
|
|
||||||
<label for="enable_app">
|
|
||||||
<input name="enable_app" type="checkbox" id="enable_app" value="1" <?php checked('1', get_option('enable_app')); ?> />
|
|
||||||
<?php _e('Enable the Atom Publishing Protocol.') ?></label><br />
|
|
||||||
</fieldset></td>
|
|
||||||
</tr>
|
|
||||||
<?php do_settings_fields('writing', 'remote_publishing'); ?>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<?php if ( apply_filters( 'enable_update_services_configuration', true ) ) { ?>
|
<?php if ( apply_filters( 'enable_update_services_configuration', true ) ) { ?>
|
||||||
<h3><?php _e('Update Services') ?></h3>
|
<h3><?php _e('Update Services') ?></h3>
|
||||||
|
|
||||||
|
|
|
@ -64,7 +64,7 @@ $whitelist_options = array(
|
||||||
'media' => array( 'thumbnail_size_w', 'thumbnail_size_h', 'thumbnail_crop', 'medium_size_w', 'medium_size_h', 'large_size_w', 'large_size_h', 'image_default_size', 'image_default_align', 'image_default_link_type', 'embed_autourls', 'embed_size_w', 'embed_size_h' ),
|
'media' => array( 'thumbnail_size_w', 'thumbnail_size_h', 'thumbnail_crop', 'medium_size_w', 'medium_size_h', 'large_size_w', 'large_size_h', 'image_default_size', 'image_default_align', 'image_default_link_type', 'embed_autourls', 'embed_size_w', 'embed_size_h' ),
|
||||||
'privacy' => array( 'blog_public' ),
|
'privacy' => array( 'blog_public' ),
|
||||||
'reading' => array( 'posts_per_page', 'posts_per_rss', 'rss_use_excerpt', 'blog_charset', 'show_on_front', 'page_on_front', 'page_for_posts' ),
|
'reading' => array( 'posts_per_page', 'posts_per_rss', 'rss_use_excerpt', 'blog_charset', 'show_on_front', 'page_on_front', 'page_for_posts' ),
|
||||||
'writing' => array( 'default_post_edit_rows', 'use_smilies', 'default_category', 'default_email_category', 'use_balanceTags', 'default_link_category', 'default_post_format', 'enable_app' ),
|
'writing' => array( 'default_post_edit_rows', 'use_smilies', 'default_category', 'default_email_category', 'use_balanceTags', 'default_link_category', 'default_post_format' ),
|
||||||
'options' => array( '' ) );
|
'options' => array( '' ) );
|
||||||
|
|
||||||
$mail_options = array('mailserver_url', 'mailserver_port', 'mailserver_login', 'mailserver_pass');
|
$mail_options = array('mailserver_url', 'mailserver_port', 'mailserver_login', 'mailserver_pass');
|
||||||
|
|
53
wp-app.php
53
wp-app.php
|
@ -1,53 +0,0 @@
|
||||||
<?php
|
|
||||||
/**
|
|
||||||
* Atom Publishing Protocol support for WordPress
|
|
||||||
*
|
|
||||||
* @version 1.0.5-dc
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* WordPress is handling an Atom Publishing Protocol request.
|
|
||||||
*
|
|
||||||
* @var bool
|
|
||||||
*/
|
|
||||||
define('APP_REQUEST', true);
|
|
||||||
|
|
||||||
/** Set up WordPress environment */
|
|
||||||
require_once('./wp-load.php');
|
|
||||||
|
|
||||||
/** Atom Publishing Protocol Class */
|
|
||||||
require_once(ABSPATH . WPINC . '/atomlib.php');
|
|
||||||
|
|
||||||
/** Atom Server **/
|
|
||||||
require_once(ABSPATH . WPINC . '/class-wp-atom-server.php');
|
|
||||||
|
|
||||||
/** Admin Image API for metadata updating */
|
|
||||||
require_once(ABSPATH . '/wp-admin/includes/image.php');
|
|
||||||
|
|
||||||
$_SERVER['PATH_INFO'] = preg_replace( '/.*\/wp-app\.php/', '', $_SERVER['REQUEST_URI'] );
|
|
||||||
|
|
||||||
// Allow for a plugin to insert a different class to handle requests.
|
|
||||||
$wp_atom_server_class = apply_filters('wp_atom_server_class', 'wp_atom_server');
|
|
||||||
$wp_atom_server = new $wp_atom_server_class;
|
|
||||||
|
|
||||||
// Handle the request
|
|
||||||
$wp_atom_server->handle_request();
|
|
||||||
|
|
||||||
exit;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Writes logging info to a file.
|
|
||||||
*
|
|
||||||
* @since 2.2.0
|
|
||||||
* @deprecated 3.4.0
|
|
||||||
* @deprecated Use error_log()
|
|
||||||
* @link http://www.php.net/manual/en/function.error-log.php
|
|
||||||
*
|
|
||||||
* @param string $label Type of logging
|
|
||||||
* @param string $msg Information describing logging reason.
|
|
||||||
*/
|
|
||||||
function log_app( $label, $msg ) {
|
|
||||||
_deprecated_function( __FUNCTION__, '3.4', 'error_log()' );
|
|
||||||
if ( ! empty( $GLOBALS['app_logging'] ) )
|
|
||||||
error_log( $label . ' - ' . $msg );
|
|
||||||
}
|
|
|
@ -730,7 +730,7 @@ function is_admin_bar_showing() {
|
||||||
global $show_admin_bar, $pagenow;
|
global $show_admin_bar, $pagenow;
|
||||||
|
|
||||||
// For all these types of requests, we never want an admin bar.
|
// For all these types of requests, we never want an admin bar.
|
||||||
if ( defined('XMLRPC_REQUEST') || defined('APP_REQUEST') || defined('DOING_AJAX') || defined('IFRAME_REQUEST') )
|
if ( defined('XMLRPC_REQUEST') || defined('DOING_AJAX') || defined('IFRAME_REQUEST') )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// Integrated into the admin.
|
// Integrated into the admin.
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -195,7 +195,7 @@ class WP {
|
||||||
$query = $rewrite['$'];
|
$query = $rewrite['$'];
|
||||||
$matches = array('');
|
$matches = array('');
|
||||||
}
|
}
|
||||||
} else if ( $req_uri != 'wp-app.php' ) {
|
} else {
|
||||||
foreach ( (array) $rewrite as $match => $query ) {
|
foreach ( (array) $rewrite as $match => $query ) {
|
||||||
// If the requesting file is the anchor of the match, prepend it to the path info.
|
// If the requesting file is the anchor of the match, prepend it to the path info.
|
||||||
if ( ! empty($req_uri) && strpos($match, $req_uri) === 0 && $req_uri != $request )
|
if ( ! empty($req_uri) && strpos($match, $req_uri) === 0 && $req_uri != $request )
|
||||||
|
@ -229,16 +229,14 @@ class WP {
|
||||||
// Parse the query.
|
// Parse the query.
|
||||||
parse_str($query, $perma_query_vars);
|
parse_str($query, $perma_query_vars);
|
||||||
|
|
||||||
// If we're processing a 404 request, clear the error var
|
// If we're processing a 404 request, clear the error var since we found something.
|
||||||
// since we found something.
|
if ( '404' == $error )
|
||||||
unset( $_GET['error'] );
|
unset( $error, $_GET['error'] );
|
||||||
unset( $error );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// If req_uri is empty or if it is a request for ourself, unset error.
|
// If req_uri is empty or if it is a request for ourself, unset error.
|
||||||
if ( empty($request) || $req_uri == $self || strpos($_SERVER['PHP_SELF'], 'wp-admin/') !== false ) {
|
if ( empty($request) || $req_uri == $self || strpos($_SERVER['PHP_SELF'], 'wp-admin/') !== false ) {
|
||||||
unset( $_GET['error'] );
|
unset( $error, $_GET['error'] );
|
||||||
unset( $error );
|
|
||||||
|
|
||||||
if ( isset($perma_query_vars) && strpos($_SERVER['PHP_SELF'], 'wp-admin/') !== false )
|
if ( isset($perma_query_vars) && strpos($_SERVER['PHP_SELF'], 'wp-admin/') !== false )
|
||||||
unset( $perma_query_vars );
|
unset( $perma_query_vars );
|
||||||
|
@ -325,11 +323,15 @@ class WP {
|
||||||
|
|
||||||
if ( is_user_logged_in() )
|
if ( is_user_logged_in() )
|
||||||
$headers = array_merge($headers, wp_get_nocache_headers());
|
$headers = array_merge($headers, wp_get_nocache_headers());
|
||||||
if ( !empty($this->query_vars['error']) && '404' == $this->query_vars['error'] ) {
|
if ( ! empty( $this->query_vars['error'] ) ) {
|
||||||
$status = 404;
|
$status = (int) $this->query_vars['error'];
|
||||||
|
if ( 404 === $status ) {
|
||||||
if ( ! is_user_logged_in() )
|
if ( ! is_user_logged_in() )
|
||||||
$headers = array_merge($headers, wp_get_nocache_headers());
|
$headers = array_merge($headers, wp_get_nocache_headers());
|
||||||
$headers['Content-Type'] = get_option('html_type') . '; charset=' . get_option('blog_charset');
|
$headers['Content-Type'] = get_option('html_type') . '; charset=' . get_option('blog_charset');
|
||||||
|
} elseif ( in_array( $status, array( 403, 500, 502, 503 ) ) ) {
|
||||||
|
$exit_required = true;
|
||||||
|
}
|
||||||
} else if ( empty($this->query_vars['feed']) ) {
|
} else if ( empty($this->query_vars['feed']) ) {
|
||||||
$headers['Content-Type'] = get_option('html_type') . '; charset=' . get_option('blog_charset');
|
$headers['Content-Type'] = get_option('html_type') . '; charset=' . get_option('blog_charset');
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -1910,8 +1910,6 @@ function wp_die( $message = '', $title = '', $args = array() ) {
|
||||||
$function = apply_filters( 'wp_die_ajax_handler', '_ajax_wp_die_handler' );
|
$function = apply_filters( 'wp_die_ajax_handler', '_ajax_wp_die_handler' );
|
||||||
elseif ( defined( 'XMLRPC_REQUEST' ) && XMLRPC_REQUEST )
|
elseif ( defined( 'XMLRPC_REQUEST' ) && XMLRPC_REQUEST )
|
||||||
$function = apply_filters( 'wp_die_xmlrpc_handler', '_xmlrpc_wp_die_handler' );
|
$function = apply_filters( 'wp_die_xmlrpc_handler', '_xmlrpc_wp_die_handler' );
|
||||||
elseif ( defined( 'APP_REQUEST' ) && APP_REQUEST )
|
|
||||||
$function = apply_filters( 'wp_die_app_handler', '_scalar_wp_die_handler' );
|
|
||||||
else
|
else
|
||||||
$function = apply_filters( 'wp_die_handler', '_default_wp_die_handler' );
|
$function = apply_filters( 'wp_die_handler', '_default_wp_die_handler' );
|
||||||
|
|
||||||
|
|
|
@ -168,3 +168,25 @@ function wp_login($username, $password, $deprecated = '') {
|
||||||
else :
|
else :
|
||||||
_deprecated_function( 'wp_login', '2.5', 'wp_signon()' );
|
_deprecated_function( 'wp_login', '2.5', 'wp_signon()' );
|
||||||
endif;
|
endif;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* WordPress AtomPub API implementation.
|
||||||
|
*
|
||||||
|
* Originally stored in wp-app.php, and later wp-includes/class-wp-atom-server.php.
|
||||||
|
* It is kept here in case a plugin directly referred to the class.
|
||||||
|
*
|
||||||
|
* @since 2.2.0
|
||||||
|
* @deprecated 3.5.0
|
||||||
|
* @link http://wordpress.org/extend/plugins/atom-publishing-protocol/
|
||||||
|
*/
|
||||||
|
if ( ! class_exists( 'wp_atom_server' ) ) {
|
||||||
|
class wp_atom_server {
|
||||||
|
public function __call( $name, $arguments ) {
|
||||||
|
_deprecated_function( __CLASS__ . '::' . $name, '3.5', 'the Atom Publishing Platform plugin' );
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function __callStatic( $name, $arguments ) {
|
||||||
|
_deprecated_function( __CLASS__ . '::' . $name, '3.5', 'the Atom Publishing Platform plugin' );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -4670,9 +4670,8 @@ function _future_post_hook( $deprecated = '', $post ) {
|
||||||
* @since 2.3.0
|
* @since 2.3.0
|
||||||
* @access private
|
* @access private
|
||||||
* @uses $wpdb
|
* @uses $wpdb
|
||||||
* @uses XMLRPC_REQUEST and APP_REQUEST constants.
|
* @uses XMLRPC_REQUEST constant.
|
||||||
* @uses do_action() Calls 'xmlprc_publish_post' on post ID if XMLRPC_REQUEST is defined.
|
* @uses do_action() Calls 'xmlprc_publish_post' on post ID if XMLRPC_REQUEST is defined.
|
||||||
* @uses do_action() Calls 'app_publish_post' on post ID if APP_REQUEST is defined.
|
|
||||||
*
|
*
|
||||||
* @param int $post_id The ID in the database table of the post being published
|
* @param int $post_id The ID in the database table of the post being published
|
||||||
*/
|
*/
|
||||||
|
@ -4681,8 +4680,6 @@ function _publish_post_hook($post_id) {
|
||||||
|
|
||||||
if ( defined('XMLRPC_REQUEST') )
|
if ( defined('XMLRPC_REQUEST') )
|
||||||
do_action('xmlrpc_publish_post', $post_id);
|
do_action('xmlrpc_publish_post', $post_id);
|
||||||
if ( defined('APP_REQUEST') )
|
|
||||||
do_action('app_publish_post', $post_id);
|
|
||||||
|
|
||||||
if ( defined('WP_IMPORTING') )
|
if ( defined('WP_IMPORTING') )
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -1525,8 +1525,11 @@ class WP_Rewrite {
|
||||||
$home_path = parse_url( home_url() );
|
$home_path = parse_url( home_url() );
|
||||||
$robots_rewrite = ( empty( $home_path['path'] ) || '/' == $home_path['path'] ) ? array( 'robots\.txt$' => $this->index . '?robots=1' ) : array();
|
$robots_rewrite = ( empty( $home_path['path'] ) || '/' == $home_path['path'] ) ? array( 'robots\.txt$' => $this->index . '?robots=1' ) : array();
|
||||||
|
|
||||||
// Old feed files
|
// Old feed and service files
|
||||||
$old_feed_files = array( '.*wp-(atom|rdf|rss|rss2|feed|commentsrss2)\.php$' => $this->index . '?feed=old' );
|
$deprecated_files = array(
|
||||||
|
'.*wp-(atom|rdf|rss|rss2|feed|commentsrss2)\.php$' => $this->index . '?feed=old',
|
||||||
|
'.*wp-app\.php$' => $this->index . '?error=403',
|
||||||
|
);
|
||||||
|
|
||||||
// Registration rules
|
// Registration rules
|
||||||
$registration_pages = array();
|
$registration_pages = array();
|
||||||
|
@ -1585,9 +1588,9 @@ class WP_Rewrite {
|
||||||
|
|
||||||
// Put them together.
|
// Put them together.
|
||||||
if ( $this->use_verbose_page_rules )
|
if ( $this->use_verbose_page_rules )
|
||||||
$this->rules = array_merge($this->extra_rules_top, $robots_rewrite, $old_feed_files, $registration_pages, $root_rewrite, $comments_rewrite, $search_rewrite, $author_rewrite, $date_rewrite, $page_rewrite, $post_rewrite, $this->extra_rules);
|
$this->rules = array_merge($this->extra_rules_top, $robots_rewrite, $deprecated_files, $old_service_files, $registration_pages, $root_rewrite, $comments_rewrite, $search_rewrite, $author_rewrite, $date_rewrite, $page_rewrite, $post_rewrite, $this->extra_rules);
|
||||||
else
|
else
|
||||||
$this->rules = array_merge($this->extra_rules_top, $robots_rewrite, $old_feed_files, $registration_pages, $root_rewrite, $comments_rewrite, $search_rewrite, $author_rewrite, $date_rewrite, $post_rewrite, $page_rewrite, $this->extra_rules);
|
$this->rules = array_merge($this->extra_rules_top, $robots_rewrite, $deprecated_files, $old_service_files, $registration_pages, $root_rewrite, $comments_rewrite, $search_rewrite, $author_rewrite, $date_rewrite, $post_rewrite, $page_rewrite, $this->extra_rules);
|
||||||
|
|
||||||
do_action_ref_array('generate_rewrite_rules', array(&$this));
|
do_action_ref_array('generate_rewrite_rules', array(&$this));
|
||||||
$this->rules = apply_filters('rewrite_rules_array', $this->rules);
|
$this->rules = apply_filters('rewrite_rules_array', $this->rules);
|
||||||
|
|
|
@ -11,7 +11,7 @@ $wp_version = '3.5-alpha-21751';
|
||||||
*
|
*
|
||||||
* @global int $wp_db_version
|
* @global int $wp_db_version
|
||||||
*/
|
*/
|
||||||
$wp_db_version = 21811;
|
$wp_db_version = 21818;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Holds the TinyMCE version
|
* Holds the TinyMCE version
|
||||||
|
|
|
@ -42,7 +42,7 @@ header('Content-Type: text/xml; charset=' . get_option('blog_charset'), true);
|
||||||
<api name="Movable Type" blogID="1" preferred="false" apiLink="<?php echo site_url('xmlrpc.php', 'rpc') ?>" />
|
<api name="Movable Type" blogID="1" preferred="false" apiLink="<?php echo site_url('xmlrpc.php', 'rpc') ?>" />
|
||||||
<api name="MetaWeblog" blogID="1" preferred="false" apiLink="<?php echo site_url('xmlrpc.php', 'rpc') ?>" />
|
<api name="MetaWeblog" blogID="1" preferred="false" apiLink="<?php echo site_url('xmlrpc.php', 'rpc') ?>" />
|
||||||
<api name="Blogger" blogID="1" preferred="false" apiLink="<?php echo site_url('xmlrpc.php', 'rpc') ?>" />
|
<api name="Blogger" blogID="1" preferred="false" apiLink="<?php echo site_url('xmlrpc.php', 'rpc') ?>" />
|
||||||
<api name="Atom" blogID="" preferred="false" apiLink="<?php echo site_url('wp-app.php/service', 'rpc') ?>" />
|
<?php do_action( 'xmlrpc_rsd_apis' ); ?>
|
||||||
</apis>
|
</apis>
|
||||||
</service>
|
</service>
|
||||||
</rsd>
|
</rsd>
|
||||||
|
|
Loading…
Reference in New Issue