*/
/** WordPress Administration Bootstrap */
-require_once('./admin.php');
+require_once( dirname( __FILE__ ) . '/admin.php' );
if ( !current_user_can('switch_themes') && !current_user_can('edit_theme_options') )
wp_die( __( 'Cheatin’ uh?' ) );
$wp_list_table = _get_list_table('WP_Themes_List_Table');
+$_SERVER['REQUEST_URI'] = remove_query_arg( array( 's', 'features', '_ajax_fetch_list_nonce', '_wp_http_referer', 'paged' ), $_SERVER['REQUEST_URI'] );
+
if ( current_user_can( 'switch_themes' ) && isset($_GET['action'] ) ) {
if ( 'activate' == $_GET['action'] ) {
check_admin_referer('switch-theme_' . $_GET['stylesheet']);
if ( is_multisite() ) {
$help_install = '<p>' . __('Installing themes on Multisite can only be done from the Network Admin section.') . '</p>';
} else {
- $help_install = '<p>' . sprintf( __('If you would like to see more themes to choose from, click on the “Install Themes” tab and you will be able to browse or search for additional themes from the <a href="%s" target="_blank">WordPress.org Theme Directory</a>. Themes in the WordPress.org Theme Directory are designed and developed by third parties, and are compatible with the license WordPress uses. Oh, and they’re free!'), 'http://wordpress.org/extend/themes/' ) . '</p>';
+ $help_install = '<p>' . sprintf( __('If you would like to see more themes to choose from, click on the “Install Themes” tab and you will be able to browse or search for additional themes from the <a href="%s" target="_blank">WordPress.org Theme Directory</a>. Themes in the WordPress.org Theme Directory are designed and developed by third parties, and are compatible with the license WordPress uses. Oh, and they’re free!'), 'http://wordpress.org/themes/' ) . '</p>';
}
get_current_screen()->add_help_tab( array(
wp_enqueue_script( 'theme' );
wp_enqueue_script( 'customize-loader' );
-require_once('./admin-header.php');
+require_once( ABSPATH . 'wp-admin/admin-header.php' );
?>
<div class="wrap"><?php
<?php echo $ct->display('Name'); ?>
</h4>
+<?php
+if ( $ct->errors() && ( ! is_multisite() || current_user_can( 'manage_network_themes' ) ) ) {
+ echo '<p class="error-message">' . sprintf( __( 'ERROR: %s' ), $ct->errors()->get_error_message() ) . '</p>';
+}
+
+// Certain error codes are less fatal than others. We can still display theme information in most cases.
+if ( ! $ct->errors() || ( 1 == count( $ct->errors()->get_error_codes() )
+ && in_array( $ct->errors()->get_error_code(), array( 'theme_no_parent', 'theme_parent_invalid', 'theme_no_index' ) ) ) ) : ?>
+
<div>
<ul class="theme-info">
<li><?php printf( __('By %s'), $ct->display('Author') ); ?></li>
if ( is_array( $submenu ) && isset( $submenu['themes.php'] ) ) {
foreach ( (array) $submenu['themes.php'] as $item) {
$class = '';
- if ( 'themes.php' == $item[2] || 'theme-editor.php' == $item[2] )
+ if ( 'themes.php' == $item[2] || 'theme-editor.php' == $item[2] || 'customize.php' == $item[2] )
continue;
// 0 = name, 1 = capability, 2 = file
if ( ( strcmp($self, $item[2]) == 0 && empty($parent_file)) || ($parent_file && ($item[2] == $parent_file)) )
endif; // options || edit_theme_options
?>
+<?php endif; // theme errors ?>
+
</div>
<br class="clear" />
<?php
if ( ! current_user_can( 'switch_themes' ) ) {
echo '</div>';
- require( './admin-footer.php' );
+ require( ABSPATH . 'wp-admin/admin-footer.php' );
exit;
}
?>
<th><?php _e('Description'); ?></th>
</tr>
<?php
- $alt = '';
foreach ( $broken_themes as $broken_theme ) {
- $alt = ('class="alternate"' == $alt) ? '' : 'class="alternate"';
echo "
- <tr $alt>
+ <tr>
<td>" . $broken_theme->get('Name') ."</td>
<td>" . $broken_theme->errors()->get_error_message() . "</td>
</tr>";
?>
</div>
-<?php require('./admin-footer.php'); ?>
+<?php require( ABSPATH . 'wp-admin/admin-footer.php' ); ?>