Make WordPress Core

Ticket #19127: 19127.3.diff

File 19127.3.diff, 3.2 KB (added by nacin, 13 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                                ?>