Save toggle box open/closed state. Props nbachiyski. fixes #5610
git-svn-id: https://develop.svn.wordpress.org/trunk@6584 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
6445622ec2
commit
90d8fb5f30
@ -441,6 +441,13 @@ case 'autosave-generate-nonces' :
|
|||||||
}
|
}
|
||||||
die('0');
|
die('0');
|
||||||
break;
|
break;
|
||||||
|
case 'closed-postboxes' :
|
||||||
|
check_ajax_referer( $action );
|
||||||
|
$closed = explode(',', $_POST['closed']);
|
||||||
|
if (!is_array($closed)) break;
|
||||||
|
$current_user = wp_get_current_user();
|
||||||
|
update_usermeta($current_user->ID, 'closedpostboxes', $closed);
|
||||||
|
break;
|
||||||
default :
|
default :
|
||||||
do_action( 'wp_ajax_' . $_POST['action'] );
|
do_action( 'wp_ajax_' . $_POST['action'] );
|
||||||
die('0');
|
die('0');
|
||||||
|
@ -110,7 +110,7 @@ else
|
|||||||
echo clean_url(stripslashes(wp_get_referer()));
|
echo clean_url(stripslashes(wp_get_referer()));
|
||||||
?>" /></p>
|
?>" /></p>
|
||||||
|
|
||||||
<div id="tagsdiv" class="postbox">
|
<div id="tagsdiv" class="postbox <?php echo postbox_classes('tagsdiv'); ?>">
|
||||||
<h3><?php _e('Tags'); ?></h3>
|
<h3><?php _e('Tags'); ?></h3>
|
||||||
<div class="inside">
|
<div class="inside">
|
||||||
<p id="jaxtag"><input type="text" name="tags_input" class="tags-input" id="tags-input" size="40" tabindex="3" value="<?php echo get_tags_to_edit( $post_ID ); ?>" /></p>
|
<p id="jaxtag"><input type="text" name="tags_input" class="tags-input" id="tags-input" size="40" tabindex="3" value="<?php echo get_tags_to_edit( $post_ID ); ?>" /></p>
|
||||||
@ -118,7 +118,7 @@ else
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="categorydiv" class="postbox">
|
<div id="categorydiv" class="postbox <?php echo postbox_classes('categorydiv'); ?>">
|
||||||
<h3><?php _e('Categories') ?></h3>
|
<h3><?php _e('Categories') ?></h3>
|
||||||
<div class="inside">
|
<div class="inside">
|
||||||
<p id="jaxcat"><?php wp_nonce_field( 'add-category', '_ajax_nonce', false ); ?></p>
|
<p id="jaxcat"><?php wp_nonce_field( 'add-category', '_ajax_nonce', false ); ?></p>
|
||||||
@ -140,12 +140,12 @@ if (current_user_can('upload_files') && false) {
|
|||||||
|
|
||||||
<h2><?php _e('Advanced Options'); ?></h2>
|
<h2><?php _e('Advanced Options'); ?></h2>
|
||||||
|
|
||||||
<div id="postexcerpt" class="postbox">
|
<div id="postexcerpt" class="postbox <?php echo postbox_classes('postexcerpt'); ?>">
|
||||||
<h3><?php _e('Optional Excerpt') ?></h3>
|
<h3><?php _e('Optional Excerpt') ?></h3>
|
||||||
<div class="inside"><textarea rows="1" cols="40" name="excerpt" tabindex="6" id="excerpt"><?php echo $post->post_excerpt ?></textarea></div>
|
<div class="inside"><textarea rows="1" cols="40" name="excerpt" tabindex="6" id="excerpt"><?php echo $post->post_excerpt ?></textarea></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="trackbacksdiv" class="postbox">
|
<div id="trackbacksdiv" class="postbox <?php echo postbox_classes('trackbacksdiv'); ?>">
|
||||||
<h3><?php _e('Trackbacks') ?></h3>
|
<h3><?php _e('Trackbacks') ?></h3>
|
||||||
<div class="inside">
|
<div class="inside">
|
||||||
<?php _e('Send trackbacks to:'); ?> <?php echo $form_trackback; ?> (<?php _e('Separate multiple URLs with spaces'); ?>)
|
<?php _e('Send trackbacks to:'); ?> <?php echo $form_trackback; ?> (<?php _e('Separate multiple URLs with spaces'); ?>)
|
||||||
@ -156,7 +156,7 @@ if ( ! empty($pings) )
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="postcustom" class="postbox">
|
<div id="postcustom" class="postbox <?php echo postbox_classes('postcustom'); ?>">
|
||||||
<h3><?php _e('Custom Fields') ?></h3>
|
<h3><?php _e('Custom Fields') ?></h3>
|
||||||
<div class="inside">
|
<div class="inside">
|
||||||
<div id="postcustomstuff">
|
<div id="postcustomstuff">
|
||||||
@ -177,7 +177,7 @@ list_meta($metadata);
|
|||||||
|
|
||||||
<?php do_action('dbx_post_advanced'); ?>
|
<?php do_action('dbx_post_advanced'); ?>
|
||||||
|
|
||||||
<div id="commentstatusdiv" class="postbox">
|
<div id="commentstatusdiv" class="postbox <?php echo postbox_classes('commentstatusdiv'); ?>">
|
||||||
<h3><?php _e('Discussion') ?></h3>
|
<h3><?php _e('Discussion') ?></h3>
|
||||||
<div class="inside">
|
<div class="inside">
|
||||||
<input name="advanced_view" type="hidden" value="1" />
|
<input name="advanced_view" type="hidden" value="1" />
|
||||||
@ -188,21 +188,21 @@ list_meta($metadata);
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="passworddiv" class="postbox">
|
<div id="passworddiv" class="postbox <?php echo postbox_classes('passworddiv'); ?>">
|
||||||
<h3><?php _e('Post Password') ?></h3>
|
<h3><?php _e('Post Password') ?></h3>
|
||||||
<div class="inside">
|
<div class="inside">
|
||||||
<input name="post_password" type="text" size="13" id="post_password" value="<?php echo attribute_escape( $post->post_password ); ?>" />
|
<input name="post_password" type="text" size="13" id="post_password" value="<?php echo attribute_escape( $post->post_password ); ?>" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="slugdiv" class="postbox">
|
<div id="slugdiv" class="postbox <?php echo postbox_classes('slugdiv'); ?>">
|
||||||
<h3><?php _e('Post Slug') ?></h3>
|
<h3><?php _e('Post Slug') ?></h3>
|
||||||
<div class="inside">
|
<div class="inside">
|
||||||
<input name="post_name" type="text" size="13" id="post_name" value="<?php echo attribute_escape( $post->post_name ); ?>" />
|
<input name="post_name" type="text" size="13" id="post_name" value="<?php echo attribute_escape( $post->post_name ); ?>" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="poststatusdiv" class="postbox">
|
<div id="poststatusdiv" class="postbox <?php echo postbox_classes('poststatusdiv'); ?>">
|
||||||
<h3><?php _e('Post Status') ?></h3>
|
<h3><?php _e('Post Status') ?></h3>
|
||||||
<div class="inside">
|
<div class="inside">
|
||||||
<?php if ( current_user_can('publish_posts') ) : ?>
|
<?php if ( current_user_can('publish_posts') ) : ?>
|
||||||
@ -215,7 +215,7 @@ list_meta($metadata);
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<?php if ( current_user_can('edit_posts') ) : ?>
|
<?php if ( current_user_can('edit_posts') ) : ?>
|
||||||
<div id="posttimestampdiv" class="postbox">
|
<div id="posttimestampdiv" class="postbox <?php echo postbox_classes('posttimestampdiv'); ?>">
|
||||||
<h3><?php _e('Post Timestamp'); ?></h3>
|
<h3><?php _e('Post Timestamp'); ?></h3>
|
||||||
<div class="inside"><?php touch_time(($action == 'edit')); ?></div>
|
<div class="inside"><?php touch_time(($action == 'edit')); ?></div>
|
||||||
</div>
|
</div>
|
||||||
@ -227,7 +227,7 @@ if ( $post->post_author && !in_array($post->post_author, $authors) )
|
|||||||
$authors[] = $post->post_author;
|
$authors[] = $post->post_author;
|
||||||
if ( $authors && count( $authors ) > 1 ) :
|
if ( $authors && count( $authors ) > 1 ) :
|
||||||
?>
|
?>
|
||||||
<div id="authordiv" class="postbox">
|
<div id="authordiv" class="postbox <?php echo postbox_classes('authordiv'); ?>">
|
||||||
<h3><?php _e('Post Author'); ?></h3>
|
<h3><?php _e('Post Author'); ?></h3>
|
||||||
<div class="inside">
|
<div class="inside">
|
||||||
<?php wp_dropdown_users( array('include' => $authors, 'name' => 'post_author_override', 'selected' => empty($post_ID) ? $user_ID : $post->post_author) ); ?>
|
<?php wp_dropdown_users( array('include' => $authors, 'name' => 'post_author_override', 'selected' => empty($post_ID) ? $user_ID : $post->post_author) ); ?>
|
||||||
|
@ -513,4 +513,11 @@ function wp_edit_posts_query( $q = false ) {
|
|||||||
return array($post_stati, $avail_post_stati);
|
return array($post_stati, $avail_post_stati);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function postbox_classes( $id ) {
|
||||||
|
$current_user = wp_get_current_user();
|
||||||
|
$closed = get_usermeta( $current_user->ID, 'closedpostboxes' );
|
||||||
|
if ( !is_array( $closed ) ) return '';
|
||||||
|
return in_array( $id, $closed )? 'closed' : '';
|
||||||
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
@ -31,7 +31,7 @@ function tag_update_quickclicks() {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
if ( shown )
|
if ( shown )
|
||||||
jQuery( '#tagchecklist' ).prepend( '<strong>Tags used on this post:</strong><br />' );
|
jQuery( '#tagchecklist' ).prepend( '<strong>'+postL10n.tagsUsed+'</strong><br />' );
|
||||||
}
|
}
|
||||||
|
|
||||||
function tag_flush_to_text() {
|
function tag_flush_to_text() {
|
||||||
@ -54,30 +54,40 @@ function tag_press_key( e ) {
|
|||||||
|
|
||||||
function add_postbox_toggles() {
|
function add_postbox_toggles() {
|
||||||
jQuery('.postbox h3').prepend('<a class="togbox">+</a> ');
|
jQuery('.postbox h3').prepend('<a class="togbox">+</a> ');
|
||||||
jQuery('.togbox').click( function() { jQuery(jQuery(this).parent().parent().get(0)).toggleClass('closed'); } );
|
jQuery('.togbox').click( function() { jQuery(jQuery(this).parent().parent().get(0)).toggleClass('closed'); save_postboxes_state(); } );
|
||||||
|
}
|
||||||
|
|
||||||
|
function save_postboxes_state() {
|
||||||
|
var closed = jQuery('.postbox').filter('.closed').map(function() { return this.id; }).get().join(',');
|
||||||
|
jQuery.post(postL10n.requestFile, {
|
||||||
|
action: 'closed-postboxes',
|
||||||
|
closed: closed,
|
||||||
|
cookie: document.cookie});
|
||||||
}
|
}
|
||||||
|
|
||||||
addLoadEvent( function() {
|
addLoadEvent( function() {
|
||||||
jQuery('#tags-input').hide();
|
jQuery('#tags-input').hide();
|
||||||
tag_update_quickclicks();
|
tag_update_quickclicks();
|
||||||
// add the quickadd form
|
// add the quickadd form
|
||||||
jQuery('#jaxtag').prepend('<span id="ajaxtag"><input type="text" name="newtag" id="newtag" size="16" autocomplete="off" value="Add new tag" /><input type="button" class="button" id="tagadd" value="' + catL10n.add + '"/><input type="hidden"/><input type="hidden"/><span class="howto">Separate tags with commas</span></span>');
|
jQuery('#jaxtag').prepend('<span id="ajaxtag"><input type="text" name="newtag" id="newtag" size="16" autocomplete="off" value="'+postL10n.addTag+'" /><input type="button" class="button" id="tagadd" value="' + postL10n.add + '"/><input type="hidden"/><input type="hidden"/><span class="howto">'+postL10n.separate+'</span></span>');
|
||||||
jQuery('#tagadd').click( tag_flush_to_text );
|
jQuery('#tagadd').click( tag_flush_to_text );
|
||||||
// jQuery('#newtag').keydown( tag_press_key );
|
// jQuery('#newtag').keydown( tag_press_key );
|
||||||
jQuery('#newtag').focus(function() {
|
jQuery('#newtag').focus(function() {
|
||||||
if ( this.value == 'Add new tag' ) {
|
if ( this.value == postL10n.addTag ) {
|
||||||
this.value = '';
|
this.value = '';
|
||||||
this.style.color = '#333';
|
this.style.color = '#333';
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
jQuery('#newtag').blur(function() {
|
jQuery('#newtag').blur(function() {
|
||||||
if ( this.value == '' ) {
|
if ( this.value == '' ) {
|
||||||
this.value = 'Add new tag';
|
this.value = postL10n.addTag;
|
||||||
this.style.color = '#999'
|
this.style.color = '#999'
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// auto-suggest stuff
|
// auto-suggest stuff
|
||||||
jQuery('#newtag').suggest( 'admin-ajax.php?action=ajax-tag-search', { onSelect: tag_flush_to_text, delay: 500, minchars: 2 } );
|
jQuery('#newtag').suggest( 'admin-ajax.php?action=ajax-tag-search', { onSelect: tag_flush_to_text, delay: 500, minchars: 2 } );
|
||||||
|
|
||||||
|
// postboxes
|
||||||
add_postbox_toggles();
|
add_postbox_toggles();
|
||||||
});
|
});
|
||||||
|
@ -108,6 +108,13 @@ class WP_Scripts {
|
|||||||
$this->add( 'xfn', '/wp-admin/js/xfn.js', false, '3517' );
|
$this->add( 'xfn', '/wp-admin/js/xfn.js', false, '3517' );
|
||||||
$this->add( 'upload', '/wp-admin/js/upload.js', array('jquery'), '20070518' );
|
$this->add( 'upload', '/wp-admin/js/upload.js', array('jquery'), '20070518' );
|
||||||
$this->add( 'post', '/wp-admin/js/post.js', array('suggest'), '20080102' );
|
$this->add( 'post', '/wp-admin/js/post.js', array('suggest'), '20080102' );
|
||||||
|
$this->localize( 'post', 'postL10n', array(
|
||||||
|
'tagsUsed' => __('Tags used on this post:'),
|
||||||
|
'add' => attribute_escape(__('Add')),
|
||||||
|
'addTag' => attribute_escape(__('Add new tag')),
|
||||||
|
'separate' => __('Separate tags with commas'),
|
||||||
|
'requestFile' => get_option( 'siteurl' ) . '/wp-admin/admin-ajax.php',
|
||||||
|
) );
|
||||||
$this->add( 'media-upload', '/wp-admin/js/media-upload.js', false, '20080109' );
|
$this->add( 'media-upload', '/wp-admin/js/media-upload.js', false, '20080109' );
|
||||||
$this->localize( 'upload', 'uploadL10n', array(
|
$this->localize( 'upload', 'uploadL10n', array(
|
||||||
'browseTitle' => attribute_escape(__('Browse your files')),
|
'browseTitle' => attribute_escape(__('Browse your files')),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user