X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/9e77185fafaf4e60e2b73821e0e4b9b1a11fb85f..53f4633144ed68c8b8fb5861f992b5489894a940:/wp-admin/themes.php diff --git a/wp-admin/themes.php b/wp-admin/themes.php index 9457fe36..5c007df7 100644 --- a/wp-admin/themes.php +++ b/wp-admin/themes.php @@ -10,14 +10,14 @@ require_once( dirname( __FILE__ ) . '/admin.php' ); if ( !current_user_can('switch_themes') && !current_user_can('edit_theme_options') ) - wp_die( __( 'Cheatin’ uh?' ) ); + wp_die( __( 'Cheatin’ uh?' ), 403 ); if ( current_user_can( 'switch_themes' ) && isset($_GET['action'] ) ) { if ( 'activate' == $_GET['action'] ) { check_admin_referer('switch-theme_' . $_GET['stylesheet']); $theme = wp_get_theme( $_GET['stylesheet'] ); if ( ! $theme->exists() || ! $theme->is_allowed() ) - wp_die( __( 'Cheatin’ uh?' ) ); + wp_die( __( 'Cheatin’ uh?' ), 403 ); switch_theme( $theme->get_stylesheet() ); wp_redirect( admin_url('themes.php?activated=true') ); exit; @@ -25,9 +25,14 @@ if ( current_user_can( 'switch_themes' ) && isset($_GET['action'] ) ) { check_admin_referer('delete-theme_' . $_GET['stylesheet']); $theme = wp_get_theme( $_GET['stylesheet'] ); if ( !current_user_can('delete_themes') || ! $theme->exists() ) - wp_die( __( 'Cheatin’ uh?' ) ); - delete_theme($_GET['stylesheet']); - wp_redirect( admin_url('themes.php?deleted=true') ); + wp_die( __( 'Cheatin’ uh?' ), 403 ); + $active = wp_get_theme(); + if ( $active->get( 'Template' ) == $_GET['stylesheet'] ) { + wp_redirect( admin_url( 'themes.php?delete-active-child=true' ) ); + } else { + delete_theme( $_GET['stylesheet'] ); + wp_redirect( admin_url( 'themes.php?deleted=true' ) ); + } exit; } } @@ -42,7 +47,8 @@ if ( current_user_can( 'switch_themes' ) ) { '' . - '

' . __( 'The current theme is displayed highlighted as the first theme.' ) . '

'; + '

' . __( 'The current theme is displayed highlighted as the first theme.' ) . '

' . + '

' . __( 'The search for installed themes will search for terms in their name, description, author, or tag.' ) . ' ' . __( 'The search results will be updated as you type.' ) . '

'; get_current_screen()->add_help_tab( array( 'id' => 'overview', @@ -82,7 +88,7 @@ if ( current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' ) get_current_screen()->set_help_sidebar( '

' . __( 'For more information:' ) . '

' . - '

' . __( 'Documentation on Using Themes' ) . '

' . + '

' . __( 'Documentation on Using Themes' ) . '

' . '

' . __( 'Support Forums' ) . '

' ); @@ -102,9 +108,11 @@ wp_localize_script( 'theme', '_wpThemeSettings', array( 'adminUrl' => parse_url( admin_url(), PHP_URL_PATH ), ), 'l10n' => array( - 'addNew' => __( 'Add New Theme' ), - 'search' => __( 'Search Installed Themes' ), + 'addNew' => __( 'Add New Theme' ), + 'search' => __( 'Search Installed Themes' ), 'searchPlaceholder' => __( 'Search installed themes...' ), // placeholder (no ellipsis) + 'themesFound' => __( 'Number of Themes found: %d' ), + 'noThemesFound' => __( 'No themes found. Try a different search.' ), ), ) ); @@ -116,23 +124,25 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' ); ?>
-

+

- + -

+ -

+

-

Visit site' ), home_url( '/' ) ); ?>

+

Visit site' ), home_url( '/' ) ); ?>

-

Visit site' ), home_url( '/' ) ); ?>

Visit site' ), home_url( '/' ) ); ?>

-

+

+ +

errors() || ( 1 == count( $ct->errors()->get_error_codes() ) continue; // 0 = name, 1 = capability, 2 = file if ( ( strcmp($self, $item[2]) == 0 && empty($parent_file)) || ($parent_file && ($item[2] == $parent_file)) ) - $class = ' class="current"'; + $class = ' current'; if ( !empty($submenu[$item[2]]) ) { $submenu[$item[2]] = array_values($submenu[$item[2]]); // Re-index. $menu_hook = get_plugin_page_hook($submenu[$item[2]][0][2], $item[2]); if ( file_exists(WP_PLUGIN_DIR . "/{$submenu[$item[2]][0][2]}") || !empty($menu_hook)) - $current_theme_actions[] = "{$item[0]}"; + $current_theme_actions[] = "{$item[0]}"; else - $current_theme_actions[] = "{$item[0]}"; - } else if ( current_user_can($item[1]) ) { + $current_theme_actions[] = "{$item[0]}"; + } elseif ( ! empty( $item[2] ) && current_user_can( $item[1] ) ) { $menu_file = $item[2]; - if ( false !== ( $pos = strpos( $menu_file, '?' ) ) ) + + if ( current_user_can( 'customize' ) ) { + if ( 'custom-header' === $menu_file ) { + $current_theme_actions[] = "{$item[0]}"; + } elseif ( 'custom-background' === $menu_file ) { + $current_theme_actions[] = "{$item[0]}"; + } + } + + if ( false !== ( $pos = strpos( $menu_file, '?' ) ) ) { $menu_file = substr( $menu_file, 0, $pos ); + } + if ( file_exists( ABSPATH . "wp-admin/$menu_file" ) ) { - $current_theme_actions[] = "{$item[0]}"; + $current_theme_actions[] = "{$item[0]}"; } else { - $current_theme_actions[] = "{$item[0]}"; + $current_theme_actions[] = "{$item[0]}"; } } } @@ -204,7 +225,12 @@ foreach ( $themes as $theme ) :
-

+

+ Active: %s' ), $theme['name'] ); + ?> +

@@ -216,10 +242,9 @@ foreach ( $themes as $theme ) : - + - - + @@ -246,20 +271,37 @@ if ( ! is_multisite() && current_user_can('edit_themes') && $broken_themes = wp_

+ + + + + - - - - "; - } -?> + + + get_stylesheet(); + $delete_url = add_query_arg( array( + 'action' => 'delete', + 'stylesheet' => urlencode( $stylesheet ), + ), admin_url( 'themes.php' ) ); + $delete_url = wp_nonce_url( $delete_url, 'delete-theme_' . $stylesheet ); + ?> + + + +
" . ( $broken_theme->get( 'Name' ) ? $broken_theme->get( 'Name' ) : $broken_theme->get_stylesheet() ) . "" . $broken_theme->errors()->get_error_message() . "
get( 'Name' ) ? $broken_theme->display( 'Name' ) : $broken_theme->get_stylesheet(); ?>errors()->get_error_message(); ?>
@@ -285,7 +327,12 @@ if ( ! is_multisite() && current_user_can('edit_themes') && $broken_themes = wp_
<# if ( data.active ) { #> -

{{{ data.name }}}

+

+ Active: %s' ), '{{{ data.name }}}' ); + ?> +

<# } else { #>

{{{ data.name }}}

<# } #> @@ -297,9 +344,8 @@ if ( ! is_multisite() && current_user_can('edit_themes') && $broken_themes = wp_ <# } #> <# } else { #> - - - + + <# } #> @@ -315,7 +361,7 @@ if ( ! is_multisite() && current_user_can('edit_themes') && $broken_themes = wp_
- +
@@ -330,7 +376,7 @@ if ( ! is_multisite() && current_user_can('edit_themes') && $broken_themes = wp_ <# if ( data.active ) { #> <# } #> -

{{{ data.name }}}

+

{{{ data.name }}}

<# if ( data.hasUpdate ) { #> @@ -358,10 +404,9 @@ if ( ! is_multisite() && current_user_can('edit_themes') && $broken_themes = wp_
<# if ( data.actions.activate ) { #> - + <# } #> - - +
<# if ( ! data.active && data.actions['delete'] ) { #>