From 59bb0c7d9c498da7e50a24808809769ed8232eb2 Mon Sep 17 00:00:00 2001 From: dd32 Date: Sun, 11 Apr 2010 02:41:40 +0000 Subject: [PATCH] Prevent the Slug metabox from being forever hidden when showing all metaboxes. Fixes #12088 git-svn-id: http://svn.automattic.com/wordpress/trunk@14065 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-admin/admin-ajax.php | 10 ++++++---- wp-admin/includes/template.php | 5 ++--- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/wp-admin/admin-ajax.php b/wp-admin/admin-ajax.php index 7317816736..4fb15fbdba 100644 --- a/wp-admin/admin-ajax.php +++ b/wp-admin/admin-ajax.php @@ -988,10 +988,12 @@ case 'autosave' : // The name of this action is hardcoded in edit_post() break; case 'closed-postboxes' : check_ajax_referer( 'closedpostboxes', 'closedpostboxesnonce' ); - $closed = isset( $_POST['closed'] ) ? $_POST['closed'] : ''; - $closed = explode( ',', $_POST['closed'] ); - $hidden = isset( $_POST['hidden'] ) ? $_POST['hidden'] : ''; - $hidden = explode( ',', $_POST['hidden'] ); + $closed = isset( $_POST['closed'] ) ? explode( ',', $_POST['closed']) : array(); + $closed = array_filter($closed); + + $hidden = isset( $_POST['hidden'] ) ? explode( ',', $_POST['hidden']) : array(); + $hidden = array_filter($hidden); + $page = isset( $_POST['page'] ) ? $_POST['page'] : ''; if ( !preg_match( '/^[a-z_-]+$/', $page ) ) diff --git a/wp-admin/includes/template.php b/wp-admin/includes/template.php index 97d21a2a00..d8dfb600d3 100644 --- a/wp-admin/includes/template.php +++ b/wp-admin/includes/template.php @@ -2967,12 +2967,11 @@ function get_hidden_meta_boxes($screen) { if ( is_string($screen) ) $screen = convert_to_screen($screen); - $hidden = (array) get_user_option( "meta-box-hidden_$screen->id" ); + $hidden = get_user_option( "meta-box-hidden_$screen->id" ); // Hide slug boxes by default - if ( empty($hidden[0]) ) { + if ( !is_array($hidden) ) $hidden = array('slugdiv'); - } return $hidden; }