Ensure that QuickPress media uploads get attached to the auto-draft we create for new posts correctly. Fixes #10917 props ocean90.
git-svn-id: http://svn.automattic.com/wordpress/trunk@14815 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
378f68a0a0
commit
0c850182dc
|
@ -383,18 +383,20 @@ function wp_dashboard_right_now() {
|
||||||
do_action( 'activity_box_end' );
|
do_action( 'activity_box_end' );
|
||||||
}
|
}
|
||||||
|
|
||||||
function wp_dashboard_quick_press() {
|
function wp_dashboard_quick_press_output() {
|
||||||
|
global $post_ID;
|
||||||
|
|
||||||
$drafts = false;
|
$drafts = false;
|
||||||
if ( 'post' === strtolower( $_SERVER['REQUEST_METHOD'] ) && isset( $_POST['action'] ) && 0 === strpos( $_POST['action'], 'post-quickpress' ) && (int) $_POST['post_ID'] ) {
|
if ( 'post' === strtolower( $_SERVER['REQUEST_METHOD'] ) && isset( $_POST['action'] ) && 0 === strpos( $_POST['action'], 'post-quickpress' ) && (int) $_POST['post_ID'] ) {
|
||||||
$view = get_permalink( $_POST['post_ID'] );
|
$view = get_permalink( $_POST['post_ID'] );
|
||||||
$edit = esc_url( get_edit_post_link( $_POST['post_ID'] ) );
|
$edit = esc_url( get_edit_post_link( $_POST['post_ID'] ) );
|
||||||
if ( 'post-quickpress-publish' == $_POST['action'] ) {
|
if ( 'post-quickpress-publish' == $_POST['action'] ) {
|
||||||
if ( current_user_can('publish_posts') )
|
if ( current_user_can('publish_posts') )
|
||||||
printf( '<div class="message"><p>' . __( 'Post Published. <a href="%s">View post</a> | <a href="%s">Edit post</a>' ) . '</p></div>', esc_url( $view ), $edit );
|
printf( '<div class="updated"><p>' . __( 'Post published. <a href="%s">View post</a> | <a href="%s">Edit post</a>' ) . '</p></div>', esc_url( $view ), $edit );
|
||||||
else
|
else
|
||||||
printf( '<div class="message"><p>' . __( 'Post submitted. <a href="%s">Preview post</a> | <a href="%s">Edit post</a>' ) . '</p></div>', esc_url( add_query_arg( 'preview', 1, $view ) ), $edit );
|
printf( '<div class="updated"><p>' . __( 'Post submitted. <a href="%s">Preview post</a> | <a href="%s">Edit post</a>' ) . '</p></div>', esc_url( add_query_arg( 'preview', 1, $view ) ), $edit );
|
||||||
} else {
|
} else {
|
||||||
printf( '<div class="message"><p>' . __( 'Draft Saved. <a href="%s">Preview post</a> | <a href="%s">Edit post</a>' ) . '</p></div>', esc_url( add_query_arg( 'preview', 1, $view ) ), $edit );
|
printf( '<div class="updated"><p>' . __( 'Draft saved. <a href="%s">Preview post</a> | <a href="%s">Edit post</a>' ) . '</p></div>', esc_url( add_query_arg( 'preview', 1, $view ) ), $edit );
|
||||||
$drafts_query = new WP_Query( array(
|
$drafts_query = new WP_Query( array(
|
||||||
'post_type' => 'post',
|
'post_type' => 'post',
|
||||||
'post_status' => 'draft',
|
'post_status' => 'draft',
|
||||||
|
@ -407,11 +409,26 @@ function wp_dashboard_quick_press() {
|
||||||
if ( $drafts_query->posts )
|
if ( $drafts_query->posts )
|
||||||
$drafts =& $drafts_query->posts;
|
$drafts =& $drafts_query->posts;
|
||||||
}
|
}
|
||||||
printf('<p class="textright">' . __('You can also try %s, easy blogging from anywhere on the Web.') . '</p>', '<a href="tools.php">' . __('Press This') . '</a>' );
|
printf('<p class="textright">' . __('You can also try %s, easy blogging from anywhere on the Web.') . '</p>', '<a href="' . esc_url( admin_url( 'tools.php' ) ) . '">' . __('Press This') . '</a>' );
|
||||||
$_REQUEST = array(); // hack for get_default_post_to_edit()
|
$_REQUEST = array(); // hack for get_default_post_to_edit()
|
||||||
}
|
}
|
||||||
|
|
||||||
$post = get_default_post_to_edit();
|
/* Check if a new auto-draft (= no new post_ID) is needed or if the old can be used */
|
||||||
|
$last_post_id = (int) get_user_option( 'dashboard_quick_press_last_post_id' ); // Get the last post_ID
|
||||||
|
if ( $last_post_id ) {
|
||||||
|
$post = get_post( $last_post_id );
|
||||||
|
if ( empty( $post ) || $post->post_status != 'auto-draft' ) { // auto-draft doesn't exists anymore
|
||||||
|
$post = get_default_post_to_edit('post', true);
|
||||||
|
update_user_option( (int) $GLOBALS['current_user']->ID, 'dashboard_quick_press_last_post_id', (int) $post->ID ); // Save post_ID
|
||||||
|
} else {
|
||||||
|
$post->post_title = ''; // Remove the auto draft title
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$post = get_default_post_to_edit('post', true);
|
||||||
|
update_user_option( (int) $GLOBALS['current_user']->ID, 'dashboard_quick_press_last_post_id', (int) $post->ID ); // Save post_ID
|
||||||
|
}
|
||||||
|
|
||||||
|
$post_ID = (int) $post->ID;
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<form name="post" action="<?php echo esc_url( admin_url( 'post.php' ) ); ?>" method="post" id="quick-press">
|
<form name="post" action="<?php echo esc_url( admin_url( 'post.php' ) ); ?>" method="post" id="quick-press">
|
||||||
|
@ -440,7 +457,7 @@ function wp_dashboard_quick_press() {
|
||||||
|
|
||||||
<p class="submit">
|
<p class="submit">
|
||||||
<input type="hidden" name="action" id="quickpost-action" value="post-quickpress-save" />
|
<input type="hidden" name="action" id="quickpost-action" value="post-quickpress-save" />
|
||||||
<input type="hidden" name="quickpress_post_ID" value="<?php echo (int) $post->ID; ?>" />
|
<input type="hidden" name="quickpress_post_ID" value="<?php echo $post_ID; ?>" />
|
||||||
<input type="hidden" name="post_type" value="post" />
|
<input type="hidden" name="post_type" value="post" />
|
||||||
<?php wp_nonce_field('add-post'); ?>
|
<?php wp_nonce_field('add-post'); ?>
|
||||||
<input type="submit" name="save" id="save-post" class="button" tabindex="4" value="<?php esc_attr_e('Save Draft'); ?>" />
|
<input type="submit" name="save" id="save-post" class="button" tabindex="4" value="<?php esc_attr_e('Save Draft'); ?>" />
|
||||||
|
@ -459,6 +476,10 @@ function wp_dashboard_quick_press() {
|
||||||
wp_dashboard_recent_drafts( $drafts );
|
wp_dashboard_recent_drafts( $drafts );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function wp_dashboard_quick_press() {
|
||||||
|
echo '<p class="widget-loading hide-if-no-js">' . __( 'Loading…' ) . '</p><p class="describe hide-if-js">' . __('This widget requires JavaScript.') . '</p>';
|
||||||
|
}
|
||||||
|
|
||||||
function wp_dashboard_recent_drafts( $drafts = false ) {
|
function wp_dashboard_recent_drafts( $drafts = false ) {
|
||||||
if ( !$drafts ) {
|
if ( !$drafts ) {
|
||||||
$drafts_query = new WP_Query( array(
|
$drafts_query = new WP_Query( array(
|
||||||
|
|
|
@ -33,6 +33,10 @@ case 'dashboard_plugins' :
|
||||||
wp_dashboard_plugins_output();
|
wp_dashboard_plugins_output();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'dashboard_quick_press' :
|
||||||
|
wp_dashboard_quick_press_output();
|
||||||
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
|
@ -6,7 +6,8 @@ jQuery(document).ready( function($) {
|
||||||
'dashboard_incoming_links',
|
'dashboard_incoming_links',
|
||||||
'dashboard_primary',
|
'dashboard_primary',
|
||||||
'dashboard_secondary',
|
'dashboard_secondary',
|
||||||
'dashboard_plugins'
|
'dashboard_plugins',
|
||||||
|
'dashboard_quick_press'
|
||||||
];
|
];
|
||||||
|
|
||||||
ajaxPopulateWidgets = function(el) {
|
ajaxPopulateWidgets = function(el) {
|
||||||
|
@ -20,6 +21,10 @@ jQuery(document).ready( function($) {
|
||||||
$(this).css('display', '');
|
$(this).css('display', '');
|
||||||
if ( 'dashboard_plugins' == id && $.isFunction(tb_init) )
|
if ( 'dashboard_plugins' == id && $.isFunction(tb_init) )
|
||||||
tb_init('#dashboard_plugins a.thickbox');
|
tb_init('#dashboard_plugins a.thickbox');
|
||||||
|
if ( 'dashboard_quick_press' == id && $.isFunction(tb_init) ) {
|
||||||
|
tb_init('#dashboard_quick_press a.thickbox');
|
||||||
|
quickPressLoad();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}, i * 500 );
|
}, i * 500 );
|
||||||
|
@ -53,6 +58,7 @@ jQuery(document).ready( function($) {
|
||||||
$('#dashboard_quick_press div.inside').load( t.attr( 'action' ), t.serializeArray(), function() {
|
$('#dashboard_quick_press div.inside').load( t.attr( 'action' ), t.serializeArray(), function() {
|
||||||
$('#dashboard_quick_press #publishing-action img.waiting').css('visibility', 'hidden');
|
$('#dashboard_quick_press #publishing-action img.waiting').css('visibility', 'hidden');
|
||||||
$('#quick-press .submit input[type="submit"], #quick-press .submit input[type="reset"]').attr('disabled','');
|
$('#quick-press .submit input[type="submit"], #quick-press .submit input[type="reset"]').attr('disabled','');
|
||||||
|
$('#dashboard_quick_press ul').next('p').remove();
|
||||||
$('#dashboard_quick_press ul').find('li').each( function() {
|
$('#dashboard_quick_press ul').find('li').each( function() {
|
||||||
$('#dashboard_recent_drafts ul').prepend( this );
|
$('#dashboard_recent_drafts ul').prepend( this );
|
||||||
} ).end().remove();
|
} ).end().remove();
|
||||||
|
@ -65,6 +71,5 @@ jQuery(document).ready( function($) {
|
||||||
$('#publish').click( function() { act.val( 'post-quickpress-publish' ); } );
|
$('#publish').click( function() { act.val( 'post-quickpress-publish' ); } );
|
||||||
|
|
||||||
};
|
};
|
||||||
quickPressLoad();
|
|
||||||
|
|
||||||
} );
|
} );
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
var ajaxWidgets,ajaxPopulateWidgets,quickPressLoad;jQuery(document).ready(function(a){ajaxWidgets=["dashboard_incoming_links","dashboard_primary","dashboard_secondary","dashboard_plugins"];ajaxPopulateWidgets=function(b){show=function(g,c){var f,d=a("#"+g+" div.inside:visible").find(".widget-loading");if(d.length){f=d.parent();setTimeout(function(){f.load("index-extra.php?jax="+g,"",function(){f.hide().slideDown("normal",function(){a(this).css("display","");if("dashboard_plugins"==g&&a.isFunction(tb_init)){tb_init("#dashboard_plugins a.thickbox")}})})},c*500)}};if(b){b=b.toString();if(a.inArray(b,ajaxWidgets)!=-1){show(b,0)}}else{a.each(ajaxWidgets,function(c){show(this,c)})}};ajaxPopulateWidgets();postboxes.add_postbox_toggles("dashboard",{pbshow:ajaxPopulateWidgets});quickPressLoad=function(){var b=a("#quickpost-action"),c;c=a("#quick-press").submit(function(){a("#dashboard_quick_press #publishing-action img.waiting").css("visibility","visible");a('#quick-press .submit input[type="submit"], #quick-press .submit input[type="reset"]').attr("disabled","disabled");if("post"==b.val()){b.val("post-quickpress-publish")}a("#dashboard_quick_press div.inside").load(c.attr("action"),c.serializeArray(),function(){a("#dashboard_quick_press #publishing-action img.waiting").css("visibility","hidden");a('#quick-press .submit input[type="submit"], #quick-press .submit input[type="reset"]').attr("disabled","");a("#dashboard_quick_press ul").find("li").each(function(){a("#dashboard_recent_drafts ul").prepend(this)}).end().remove();tb_init("a.thickbox");quickPressLoad()});return false});a("#publish").click(function(){b.val("post-quickpress-publish")})};quickPressLoad()});
|
var ajaxWidgets,ajaxPopulateWidgets,quickPressLoad;jQuery(document).ready(function(a){ajaxWidgets=["dashboard_incoming_links","dashboard_primary","dashboard_secondary","dashboard_plugins","dashboard_quick_press"];ajaxPopulateWidgets=function(b){show=function(g,c){var f,d=a("#"+g+" div.inside:visible").find(".widget-loading");if(d.length){f=d.parent();setTimeout(function(){f.load("index-extra.php?jax="+g,"",function(){f.hide().slideDown("normal",function(){a(this).css("display","");if("dashboard_plugins"==g&&a.isFunction(tb_init)){tb_init("#dashboard_plugins a.thickbox")}if("dashboard_quick_press"==g&&a.isFunction(tb_init)){tb_init("#dashboard_quick_press a.thickbox");quickPressLoad()}})})},c*500)}};if(b){b=b.toString();if(a.inArray(b,ajaxWidgets)!=-1){show(b,0)}}else{a.each(ajaxWidgets,function(c){show(this,c)})}};ajaxPopulateWidgets();postboxes.add_postbox_toggles("dashboard",{pbshow:ajaxPopulateWidgets});quickPressLoad=function(){var b=a("#quickpost-action"),c;c=a("#quick-press").submit(function(){a("#dashboard_quick_press #publishing-action img.waiting").css("visibility","visible");a('#quick-press .submit input[type="submit"], #quick-press .submit input[type="reset"]').attr("disabled","disabled");if("post"==b.val()){b.val("post-quickpress-publish")}a("#dashboard_quick_press div.inside").load(c.attr("action"),c.serializeArray(),function(){a("#dashboard_quick_press #publishing-action img.waiting").css("visibility","hidden");a('#quick-press .submit input[type="submit"], #quick-press .submit input[type="reset"]').attr("disabled","");a("#dashboard_quick_press ul").next("p").remove();a("#dashboard_quick_press ul").find("li").each(function(){a("#dashboard_recent_drafts ul").prepend(this)}).end().remove();tb_init("a.thickbox");quickPressLoad()});return false});a("#publish").click(function(){b.val("post-quickpress-publish")})}});
|
|
@ -131,7 +131,7 @@ case 'post-quickpress-save':
|
||||||
$_POST['post_ID'] = $post_id;
|
$_POST['post_ID'] = $post_id;
|
||||||
// output the quickpress dashboard widget
|
// output the quickpress dashboard widget
|
||||||
require_once(ABSPATH . 'wp-admin/includes/dashboard.php');
|
require_once(ABSPATH . 'wp-admin/includes/dashboard.php');
|
||||||
wp_dashboard_quick_press();
|
wp_dashboard_quick_press_output();
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -360,7 +360,7 @@ function wp_default_scripts( &$scripts ) {
|
||||||
|
|
||||||
$scripts->add( 'farbtastic', '/wp-admin/js/farbtastic.js', array('jquery'), '1.2' );
|
$scripts->add( 'farbtastic', '/wp-admin/js/farbtastic.js', array('jquery'), '1.2' );
|
||||||
|
|
||||||
$scripts->add( 'dashboard', "/wp-admin/js/dashboard$suffix.js", array( 'jquery', 'admin-comments', 'postbox' ), '20100213' );
|
$scripts->add( 'dashboard', "/wp-admin/js/dashboard$suffix.js", array( 'jquery', 'admin-comments', 'postbox' ), '20100523' );
|
||||||
$scripts->add_data( 'dashboard', 'group', 1 );
|
$scripts->add_data( 'dashboard', 'group', 1 );
|
||||||
|
|
||||||
$scripts->add( 'hoverIntent', "/wp-includes/js/hoverIntent$suffix.js", array('jquery'), '20090102' );
|
$scripts->add( 'hoverIntent', "/wp-includes/js/hoverIntent$suffix.js", array('jquery'), '20090102' );
|
||||||
|
|
Loading…
Reference in New Issue