WordPress.org

Make WordPress Core

Ticket #19127: 19127.3.diff

File 19127.3.diff, 3.2 KB (added by nacin, 2 years ago)
  • wp-admin/admin-ajax.php

     
    10641064        if ( ! current_user_can( 'edit_theme_options' ) ) 
    10651065                die('-1'); 
    10661066 
    1067         if ( empty( $_POST['visible'] ) ) 
    1068                 delete_user_option( get_current_user_id(), 'show_welcome_panel' ); 
    1069         else 
    1070                 update_user_option( get_current_user_id(), 'show_welcome_panel', 1 ); 
     1067        update_user_meta( get_current_user_id(), 'show_welcome_panel', empty( $_POST['visible'] ) ? 0 : 1 ); 
    10711068 
    10721069        die('1'); 
    10731070        break; 
  • wp-admin/includes/dashboard.php

     
    12721272 
    12731273        $classes = 'welcome-panel'; 
    12741274 
    1275         if ( ! get_user_option( 'show_welcome_panel' ) ) 
     1275        $option = get_user_meta( get_current_user_id(), 'show_welcome_panel', true ); 
     1276        // 0 = hide, 1 = toggled to show or single site creator, 2 = multisite site owner 
     1277        $hide = 0 == $option || ( 2 == $option && wp_get_current_user()->user_email != get_option( 'admin_email' ) ); 
     1278        if ( $hide ) 
    12761279                $classes .= ' hidden'; 
    12771280 
    12781281        list( $display_version ) = explode( '-', $wp_version ); 
  • wp-admin/includes/upgrade.php

     
    283283        update_option( 'widget_meta', array ( 2 => array ( 'title' => '' ), '_multiwidget' => 1 ) ); 
    284284        update_option( 'sidebars_widgets', array ( 'wp_inactive_widgets' => array ( ), 'sidebar-1' => array ( 0 => 'search-2', 1 => 'recent-posts-2', 2 => 'recent-comments-2', 3 => 'archives-2', 4 => 'categories-2', 5 => 'meta-2', ), 'sidebar-2' => array ( ), 'sidebar-3' => array ( ), 'sidebar-4' => array ( ), 'sidebar-5' => array ( ), 'array_version' => 3 ) ); 
    285285 
     286        if ( ! is_multisite() ) 
     287                update_user_meta( $user_id, 'show_welcome_panel', 1 ); 
     288        elseif ( ! is_super_admin( $user_id ) && ! metadata_exists( 'user', $user_id, 'show_welcome_panel' ) ) 
     289                update_user_meta( $user_id, 'show_welcome_panel', 2 ); 
     290 
    286291        if ( is_multisite() ) { 
    287292                // Flush rules to pick up the new page. 
    288293                $wp_rewrite->init(); 
  • wp-admin/includes/screen.php

     
    811811                                        meta_box_prefs( $this ); 
    812812 
    813813                                        if ( 'dashboard' === $this->id && current_user_can( 'edit_theme_options' ) ) { 
     814                                                $welcome_checked = get_user_meta( get_current_user_id(), 'show_welcome_panel', true ); 
     815                                                if ( 2 == $welcome_checked && wp_get_current_user()->user_email != get_option( 'admin_email' ) ) 
     816                                                        $welcome_checked = false; 
    814817                                                echo '<label for="wp_welcome_panel-hide">'; 
    815                                                 echo '<input type="checkbox" id="wp_welcome_panel-hide"' . checked( (bool) get_user_option( 'show_welcome_panel' ), true, false )  . ' />'; 
     818                                                echo '<input type="checkbox" id="wp_welcome_panel-hide"' . checked( (bool) $welcome_checked, true, false )  . ' />'; 
    816819                                                echo __( 'Welcome' ) . "</label>\n"; 
    817820                                        } 
    818821                                ?>