Make WordPress Core

Ticket #9508: 9508.3.diff

File 9508.3.diff, 5.0 KB (added by DD32, 16 years ago)
  • wp-admin/includes/theme-install.php

     
    9797 * @param string $page
    9898 */
    9999function install_theme_search($page) {
     100        global $theme_field_defaults;
     101
    100102        $type = isset($_REQUEST['type']) ? stripslashes( $_REQUEST['type'] ) : '';
    101103        $term = isset($_REQUEST['s']) ? stripslashes( $_REQUEST['s'] ) : '';
    102104
     
    398400?>
    399401<table id="availablethemes" cellspacing="0" cellpadding="0">
    400402<?php
    401         $in_column = 0;
    402403        $rows = ceil(count($themes) / 3);
    403404        $table = array();
    404         $i = 0;
    405         for ( $row = 1; $row <= $rows; $row++ ) {
    406                 for ( $col = 1; $col <= 3; $col++ ) {
    407                         $table[$row][$col] = $i;
    408                         $i++;
    409                 }
    410         }
     405        $theme_keys = array_keys($themes);
     406        for ( $row = 1; $row <= $rows; $row++ )
     407                for ( $col = 1; $col <= 3; $col++ )
     408                        $table[$row][$col] = array_shift($theme_keys);
    411409
    412410        foreach ( $table as $row => $cols ) {
    413411        ?>
     
    419417                if ( $col == 1 ) $class[] = 'left';
    420418                if ( $row == $rows ) $class[] = 'bottom';
    421419                if ( $col == 3 ) $class[] = 'right';
    422                 $theme = $themes[$theme_index];
    423420                ?>
    424421                <td class="<?php echo join(' ', $class); ?>"><?php
    425                         display_theme($theme);
     422                        if ( isset($themes[$theme_index]) )
     423                                display_theme($themes[$theme_index]);
    426424                ?></td>
    427425                <?php } // end foreach $cols ?>
    428426        </tr>
     
    467465                exit;
    468466        }
    469467
    470         if ( version_compare($GLOBALS['wp_version'], $api->tested, '>') )
     468        if ( !empty($api->tested) && version_compare($GLOBALS['wp_version'], $api->tested, '>') )
    471469                echo '<div class="updated"><p>' . __('<strong>Warning:</strong> This theme has <strong>not been tested</strong> with your current version of WordPress.') . '</p></div>';
    472         else if ( version_compare($GLOBALS['wp_version'], $api->requires, '<') )
     470        else if ( !empty($api->requires) && version_compare($GLOBALS['wp_version'], $api->requires, '<') )
    473471                echo '<div class="updated"><p>' . __('<strong>Warning:</strong> This theme has not been marked as <strong>compatible</strong> with your version of WordPress.') . '</p></div>';
    474472
    475473        // Default to a "new" theme
    476474        $type = 'install';
    477475        // Check to see if this theme is known to be installed, and has an update awaiting it.
    478476        $update_themes = get_transient('update_themes');
    479         if ( is_object($update_themes) ) {
    480                 foreach ( (array)$update_themes->response as $file => $theme ) {
    481                         if ( $theme->slug === $api->slug ) {
     477        if ( is_object($update_themes) && isset($update_themes->response) ) {
     478                foreach ( (array)$update_themes->response as $theme_slug => $theme_info ) {
     479                        if ( $theme_slug === $api->slug ) {
    482480                                $type = 'update_available';
    483                                 $update_file = $file;
     481                                $update_file = $theme_slug;
    484482                                break;
    485483                        }
    486484                }
  • wp-admin/themes.php

     
    9393
    9494        if ( isset($themes_update->response[ $stylesheet ]) ) {
    9595                $update = $themes_update->response[ $stylesheet ];
     96                $theme_name = is_object($theme) ? $theme->name : (is_array($theme) ? $theme['Name'] : '')
    9697                $details_url = add_query_arg(array('TB_iframe' => 'true', 'width' => 1024, 'height' => 800), $update['url']); //Theme browser inside WP? replace this, Also, theme preview JS will override this on the available list.
    9798                $update_url = wp_nonce_url('update.php?action=upgrade-theme&amp;theme=' . urlencode($stylesheet), 'upgrade-theme_' . $stylesheet);
    9899
    99100                if ( ! current_user_can('update_themes') )
    100                         printf( __('<p>There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%1$s">View version %3$s Details</a>.</p>'), $ct->name, $details_url, $update['new_version']);
     101                        printf( __('<p>There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%1$s">View version %3$s Details</a>.</p>'), $theme_name, $details_url, $update['new_version']);
    101102                else if ( empty($update->package) )
    102                         printf( __('<p>There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%1$s">View version %3$s Details</a> <em>automatic upgrade unavailable for this theme</em>.</p>'), $ct->name, $details_url, $update['new_version']);
     103                        printf( __('<p>There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%1$s">View version %3$s Details</a> <em>automatic upgrade unavailable for this theme</em>.</p>'), $theme_name, $details_url, $update['new_version']);
    103104                else
    104                         printf( __('<p>There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%1$s">View version %3$s Details</a> or <a href="%4$s">upgrade automatically</a>.</p>'), $ct->name, $details_url, $update['new_version'], $update_url );
     105                        printf( __('<p>There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%1$s">View version %3$s Details</a> or <a href="%4$s">upgrade automatically</a>.</p>'), $theme_name, $details_url, $update['new_version'], $update_url );
    105106        }
    106107}
    107108