X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/4f9d63e13cd8c6e275797c75b401b074b82937bc..0278c4b31e94c74bb5da5832653ad26e14a7b275:/wp-admin/themes.php diff --git a/wp-admin/themes.php b/wp-admin/themes.php index 72589324..171a0b22 100644 --- a/wp-admin/themes.php +++ b/wp-admin/themes.php @@ -12,22 +12,26 @@ require_once('./admin.php'); if ( !current_user_can('switch_themes') && !current_user_can('edit_theme_options') ) wp_die( __( 'Cheatin’ uh?' ) ); -if ( current_user_can('switch_themes') && isset($_GET['action']) ) { +$wp_list_table = _get_list_table('WP_Themes_List_Table'); + +if ( current_user_can( 'switch_themes' ) && isset($_GET['action'] ) ) { if ( 'activate' == $_GET['action'] ) { check_admin_referer('switch-theme_' . $_GET['template']); switch_theme($_GET['template'], $_GET['stylesheet']); - wp_redirect('themes.php?activated=true'); + wp_redirect( admin_url('themes.php?activated=true') ); exit; - } else if ( 'delete' == $_GET['action'] ) { + } elseif ( 'delete' == $_GET['action'] ) { check_admin_referer('delete-theme_' . $_GET['template']); if ( !current_user_can('delete_themes') ) wp_die( __( 'Cheatin’ uh?' ) ); delete_theme($_GET['template']); - wp_redirect('themes.php?deleted=true'); + wp_redirect( admin_url('themes.php?deleted=true') ); exit; } } +$wp_list_table->prepare_items(); + $title = __('Manage Themes'); $parent_file = 'themes.php'; @@ -45,13 +49,12 @@ add_contextual_help($current_screen, $help); add_thickbox(); wp_enqueue_script( 'theme-preview' ); +wp_enqueue_script( 'theme' ); +wp_enqueue_style( 'theme-install' ); endif; require_once('./admin-header.php'); -if ( is_multisite() && current_user_can('edit_themes') ) { - ?>

Network Themes screen before they appear here.'), admin_url( 'ms-themes.php') ); ?>

@@ -65,38 +68,20 @@ if ( is_multisite() && current_user_can('edit_themes') ) { elseif ( isset($_GET['deleted']) ) : ?>

-name]); - -uksort( $themes, "strnatcasecmp" ); -$theme_total = count( $themes ); -$per_page = 15; - -if ( isset( $_GET['pagenum'] ) ) - $page = absint( $_GET['pagenum'] ); - -if ( empty($page) ) - $page = 1; - -$start = $offset = ( $page - 1 ) * $per_page; - -$page_links = paginate_links( array( - 'base' => add_query_arg( 'pagenum', '%#%' ) . '#themenav', - 'format' => '', - 'prev_text' => __('«'), - 'next_text' => __('»'), - 'total' => ceil($theme_total / $per_page), - 'current' => $page -)); -$themes = array_slice( $themes, $start, $per_page ); -?> - -
- -

+
+

+ + +

@@ -107,19 +92,46 @@ $themes = array_slice( $themes, $start, $per_page ); /* translators: 1: theme title, 2: theme version, 3: theme author */ printf(__('%1$s %2$s by %3$s'), $ct->title, $ct->version, $ct->author) ; ?>

description; ?>

-parent_theme ) { ?> -

%2$s. The stylesheet files are located in %3$s. %4$s uses templates from %5$s. Changes made to the templates will affect both themes.'), $ct->title, str_replace( WP_CONTENT_DIR, '', $ct->template_dir ), str_replace( WP_CONTENT_DIR, '', $ct->stylesheet_dir ), $ct->title, $ct->parent_theme); ?>

- -

%2$s.'), $ct->title, str_replace( WP_CONTENT_DIR, '', $ct->template_dir ), str_replace( WP_CONTENT_DIR, '', $ct->stylesheet_dir ) ); ?>

- -tags ) : ?> -

tags); ?>

- +
+ + {$item[0]}"; + else + $options[] = "{$item[0]}"; + } else if ( current_user_can($item[1]) ) { + if ( file_exists(ABSPATH . 'wp-admin/' . $item[2]) ) { + $options[] = "{$item[0]}"; + } else { + $options[] = "{$item[0]}"; + } + } + } + } + echo implode ( ' | ', $options ); + + if ( $ct->tags ) : ?> +

tags); ?>

+ +
-
+
'; @@ -127,121 +139,67 @@ if ( ! current_user_can( 'switch_themes' ) ) { exit; } ?> -

-
- - - - -
-
' . __( 'Displaying %s–%s of %s' ) . '%s', - number_format_i18n( $start + 1 ), - number_format_i18n( min( $page * $per_page, $theme_total ) ), - number_format_i18n( $theme_total ), - $page_links -); echo $page_links_text; ?>
-
- - - - -$table = array(); -$rows = ceil(count($theme_names) / 3); -for ( $row = 1; $row <= $rows; $row++ ) - for ( $col = 1; $col <= 3; $col++ ) - $table[$row][$col] = array_shift($theme_names); +has_items() ) : ?> + + + + + +
+ +
+ +
+

+ + + + $features ) : + $feature_name = esc_html( $feature_name ); ?> + +
+
+ +
    + $feature ) : + $feature_name = $feature; + $feature_name = esc_html( $feature_name ); + $feature = esc_attr( $feature ); + ?> +
  1. + features ) ); ?>/> + +
  2. + +
+
+ + +
+ 'margin-left: 120px' ) ); ?> +   + +
+
+
+
+
-foreach ( $table as $row => $cols ) { -?> - - $theme_name ) { - $class = array('available-theme'); - if ( $row == 1 ) $class[] = 'top'; - if ( $col == 1 ) $class[] = 'left'; - if ( $row == $rows ) $class[] = 'bottom'; - if ( $col == 3 ) $class[] = 'right'; -?> - - - - -
- 1, 'template' => $template, 'stylesheet' => $stylesheet, 'TB_iframe' => 'true' ), $preview_link ) ); - $preview_text = esc_attr( sprintf( __('Preview of “%s”'), $title ) ); - $tags = $themes[$theme_name]['Tags']; - $thickbox_class = 'thickbox thickbox-preview'; - $activate_link = wp_nonce_url("themes.php?action=activate&template=".urlencode($template)."&stylesheet=".urlencode($stylesheet), 'switch-theme_' . $template); - $activate_text = esc_attr( sprintf( __('Activate “%s”'), $title ) ); - $actions = array(); - $actions[] = '' . __('Activate') . ''; - $actions[] = '' . __('Preview') . ''; - if ( current_user_can('delete_themes') ) - $actions[] = '' . __('Delete') . ''; - $actions = apply_filters('theme_action_links', $actions, $themes[$theme_name]); - - $actions = implode ( ' | ', $actions ); -?> - - - - - -

-

- - -

%2$s. The stylesheet files are located in %3$s. %4$s uses templates from %5$s. Changes made to the templates will affect both themes.'), $title, str_replace( WP_CONTENT_DIR, '', $template_dir ), str_replace( WP_CONTENT_DIR, '', $stylesheet_dir ), $title, $parent_theme); ?>

- -

%2$s.'), $title, str_replace( WP_CONTENT_DIR, '', $template_dir ), str_replace( WP_CONTENT_DIR, '', $stylesheet_dir ) ); ?>

- - -

- - - -
- -

Install Themes tab above.'), 'theme-install.php'); - else - printf(__('Only the current theme is available to you. Contact the %s administrator for information about accessing additional themes.'), get_site_option('site_name')); - ?>

-
- -
-$page_links_text
"; ?> -
-
+display(); ?> + +
-

+