Index: wp-includes/script-loader.php =================================================================== --- wp-includes/script-loader.php (revision 8857) +++ wp-includes/script-loader.php (working copy) @@ -257,6 +257,13 @@ 'uid' => $userid, 'time' => time() ) ); + + $scripts->add( 'posts', '/wp-admin/js/posts.js', array('columns'), '20080910' ); + + $scripts->add( 'columns', '/wp-admin/js/columns.js', false, '20080910' ); + $scripts->localize( 'columns', 'columnsL10n', array( + 'requestFile' => admin_url('admin-ajax.php'), + ) ); } } Index: wp-admin/admin-ajax.php =================================================================== --- wp-admin/admin-ajax.php (revision 8857) +++ wp-admin/admin-ajax.php (working copy) @@ -704,6 +704,17 @@ if ( is_array($hidden) ) update_usermeta($current_user->ID, 'meta-box-hidden_'.$page, $hidden); break; +case 'hidden-columns' : + check_ajax_referer( 'hiddencolumns', 'hiddencolumnsnonce' ); + $hidden = isset( $_POST['hidden'] )? $_POST['hidden'] : ''; + $hidden = explode( ',', $_POST['hidden'] ); + $page = isset( $_POST['page'] )? $_POST['page'] : ''; + if ( !preg_match( '/^[a-z-]+$/', $page ) ) { + die(-1); + } + $current_user = wp_get_current_user(); + if ( is_array($hidden) ) + update_usermeta($current_user->ID, "manage-$page-columns-hidden", $hidden); case 'get-permalink': check_ajax_referer( 'getpermalink', 'getpermalinknonce' ); $post_id = isset($_POST['post_id'])? intval($_POST['post_id']) : 0; Index: wp-admin/includes/template.php =================================================================== --- wp-admin/includes/template.php (revision 8857) +++ wp-admin/includes/template.php (working copy) @@ -674,10 +674,18 @@