WordPress.org

Make WordPress Core

Ticket #15920: 15920-take2.patch

File 15920-take2.patch, 2.8 KB (added by SergeyBiryukov, 10 years ago)
  • wp-admin/network/themes.php

     
    3737                        check_admin_referer('enable-theme_' . $_GET['theme']);
    3838                        $allowed_themes[ $_GET['theme'] ] = true;
    3939                        update_site_option( 'allowedthemes', $allowed_themes );
    40                         wp_redirect( wp_get_referer() ); // @todo add_query_arg for update message
    41                         exit;                   
     40                        wp_redirect( add_query_arg( 'update', 'enabled', wp_get_referer() ) );
     41                        exit;
    4242                        break;
    4343                case 'disable':
    4444                        check_admin_referer('disable-theme_' . $_GET['theme']);
    4545                        unset( $allowed_themes[ $_GET['theme'] ] );
    4646                        update_site_option( 'allowedthemes', $allowed_themes );
    47                         wp_redirect( wp_get_referer() ); // @todo add_query_arg for update message
     47                        wp_redirect( add_query_arg( 'update', 'disabled', wp_get_referer() ) );
    4848                        exit;
    4949                        break;
    5050                case 'enable-selected':
    5151                        check_admin_referer('bulk-themes');
    5252                        $themes = isset( $_POST['checked'] ) ? (array) $_POST['checked'] : array();
    5353                        if ( empty($themes) ) {
    54                                 wp_redirect( wp_get_referer() );
     54                                wp_redirect( add_query_arg( 'update', 'error', wp_get_referer() ) );
    5555                                exit;
    56                         }                                               
     56                        }
    5757                        foreach( (array) $themes as $theme )
    5858                                $allowed_themes[ $theme ] = true;
    5959                        update_site_option( 'allowedthemes', $allowed_themes );
     
    6262                        check_admin_referer('bulk-themes');
    6363                        $themes = isset( $_POST['checked'] ) ? (array) $_POST['checked'] : array();
    6464                        if ( empty($themes) ) {
    65                                 wp_redirect( wp_get_referer() );
     65                                wp_redirect( add_query_arg( 'update', 'error', wp_get_referer() ) );
    6666                                exit;
    67                         }                                               
     67                        }
    6868                        foreach( (array) $themes as $theme )
    6969                                unset( $allowed_themes[ $theme ] );
    7070                        update_site_option( 'allowedthemes', $allowed_themes );
     
    8383
    8484                        $themes = isset( $_REQUEST['checked'] ) ? (array) $_REQUEST['checked'] : array();
    8585                        if ( empty( $themes ) ) {
    86                                 wp_redirect( wp_get_referer() );
     86                                wp_redirect( add_query_arg( 'update', 'error', wp_get_referer() ) );
    8787                                exit;
    8888                        }
    8989
     
    195195        printf( '<span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', esc_html( $s ) ); ?>
    196196</h2>
    197197
     198<?php
     199if ( isset( $_GET['update'] ) ) {
     200        switch ( $_GET['update'] ) {
     201        case 'enabled':
     202                echo '<div id="message" class="updated"><p>' . __( 'Theme enabled.' ) . '</p></div>';
     203                break;
     204        case 'disabled':
     205                echo '<div id="message" class="updated"><p>' . __( 'Theme disabled.' ) . '</p></div>';
     206                break;
     207        case 'error':
     208                echo '<div id="message" class="error"><p>' . __( 'No theme selected.' ) . '</p></div>';
     209                break;
     210        }
     211}
     212?>
     213
    198214<form method="get" action="">
    199215<?php $wp_list_table->search_box( __( 'Search Installed Themes' ), 'theme' ); ?>
    200216</form>